Dev-Ops.su
306 subscribers
79 photos
4 files
206 links
Полезные утилиты, статьи, доклады и обзоры.
Канал для DevOps, SRE, Архитекторов и прочих *Ops

https://dev-ops.su

#DevOps #SRE #DevSecOps #SecOps #ChatOps #GitOps #DocsOps #MLOps #FinOps #NoOps #CloudOps #CIOps #CDOps #AnyOps #BuzzWordOps

@woozymasta
Download Telegram
kubectl-kubesec — плагин kubectl (krew) для удобства работы с kubesec. По умолчанию плагин отправляет запросы на сканирование в публичный kubesec.io, но вы можете использовать свой инстанс kubesec.

kubectl krew install kubesec-scan
kubectl kubesec-scan statefulset memcached

#k8s #kubernetes #krew #kubesec

https://github.com/controlplaneio/kubectl-kubesec
Вопрос меня теперь тревожит, а как платить за услуги AWS, GKE, Azure, DigitalOcean и прочих?

Остается только виртуальные карты делать за границей, которые можно пополнить через крипту и найти способ рубль конвертировать в крипту. Или куда и как идти? Это при условии, что SWIFT помашет лапкой.

Думаю большие компании найдут выход и довольно быстро. А как быть с оплатой своего дроплета, который только ради VPN и пары утилит покупался? Какие мысли?

#talks #cheburnet
actions-runner-controller — это Kubernetes контроллер для запуска GitHub Actions self-hosted раннеров.

Захотелось GitHub Aсtions в своем кубере гонять, оказалось уже есть все готовое и с документацией.

#ci #gh #github #actions #github_actions

https://github.com/actions-runner-controller/actions-runner-controller
IndraDB — графовая база данных, написанная на Rust. Первоначальный дизайн IndraDB в значительной степени вдохновлен TAO, графовой БД из Facebook. IndraDB отличается от большинства графовых БД, тем что имеет поддержку свойств.

Особенности:
▫️Направленные и типизированные графы.
▫️JSON свойства привязанные к вершинам и ребрам.
▫️Запросы с несколькими переходами и к индексированным свойствам.
▫️Интеграция через gRPC или прямое встраивание в виде библиотеки.
▫️Подключаемые базовые хранилища данных. Postgresql доступен отдельно.

#graphdb #graph

https://github.com/indradb/indradb
gig — это инструмент командной строки, который поможет вам создавать файлы .gitignore для вашего проекта. Он вдохновлен gitignore.io и контент сгенерированный gig, должен совпадать с контентом, сгенерированным gitignore.io.

И как бонус, кому CLI дергать не хочется, есть экстеншены для IDE работающие с gitignore.io. К примеру для VSC — .gitignore Generator

#gitignore #cli

https://github.com/shihanng/gig
👍4
Хозяйке на заметку. В доке кубера есть рекомендуемый набор типовых меток (labels) для описания приложения.

Да, вам ни кто не запрещает делать свои метки, но для обратной совместимости рекомендуется использовать их.

#k8s #kubernetes #labels

https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
👍1
И еще в тему меток, у opencontainers также есть документ, который рекомендует использовать предложенные в нем правила создания меток (annotations/labels).

Если вы назначаете аннотации на ваши образы контейнеров, возможно стоит привести их к какому-то общему стандарту.

К примеру для GitLab CI и его встроенных переменных можно добавить что-такое (см. картинку)

#oci #containers #labels

https://github.com/opencontainers/image-spec/blob/main/annotations.md

https://gist.github.com/WoozyMasta/486dd57919fcb8d58f675c25942189f1
👍2
Решил я прикупить домен под Pet-проект, и снова чувствую эту боль с выбором имени и проверкой доступности в разных зонах.

Нашел на просторах интернета кучу разных утилит для проверки доступности домена, но всё не то и не так.

В итоге запилил очередной велосипед bash скрипт — domain-checker

#domains #whois #soa #dns #dig

https://github.com/WoozyMasta/domain-checker
👍1
Outdated — это подключаемый krew модуль к kubectl, который отображает все устаревшие образы, работающие в кластере Kubernetes.

Плагин будет перебирать читаемые неймспейсы и искать поды. Считывает podspec для образов контейнеров и инит контейнеров. Также учитывается sha образа для устранения неоднозначности между разными версиями, отправленными с одним и тем же тегом.

После сбора списка запущенных образов и дедупликации этого списка плагин анонимно подключится ко всем необходимым репозиториям образов и запросит список тегов. Для тегов и образов, которые следуют строгому именованию semver, список просто сортируется, и плагин сообщает, насколько устарело работающее изображение.

В целом выглядит круто, еще бы туда прикрутить работу с dockerconfigjson и была бы пушка.

#k8s #kubernetes #containers #expiration #krew

https://github.com/replicatedhq/outdated
Хотите отечественный ГОСТ TLS себе на сайт?

Ожидаемо ACME DNS Chalange пока не завезли, как и поддержку ГОСТ TLS в браузеры.

Что нужно клиенту? Браузер с поддержкой, а это:
- IE
- Спутник
- Яндекс.Браузер
- Chromium GOST

Ну, а процедура получения сертификата описана на сайте КриптоПРО, готовтесь распечатывать сертификаты на бумаге и отправлять заказным письмом Почтой России. 🤨

https://tlsgost.ru/index3.html
https://tlsca.cryptopro.ru/tls-dist.htm

#chebunet #gost #tls
🤔2😱1
Туда же за React следом идут jest, cachelib, rocksdb, fresco и прочие фреймворки и либы от meta (признана в РФ экстремистской организацией)

И резонный вопрос, а мы (разработчики кто является резидентом РФ) можем использовать OpenSource решения разработанные экстремистской организацией? Чем это грозит?

#cheburnet
👍1🤔1
bitcoin-vps.com - регулярно обновляемый список провайдеров VPS, выделенных серверов, VDS, VPN и электронной почты, с поддержкой оплаты биткойнами.

Разбит на список по качеству услуги, после по гео-зонам, все хостинги помечены ISO кодом страны.

#vps #bitcoin

https://bitcoin-vps.com
👍3
ketall - небольшой плагин для kubectl (krew), чтобы показать действительно все ресурсы kubernetes, а не только те, что возвращаются при выполнении kubectl get all --all-namespaces

Из особенностей (флаги):
▫️--exclude= - исключить ресурсы
▫️--since 1m - вывести созданные за последнюю минуту ресурсы
▫️--namespace= - фильтр по namespace
▫️--only-scope=cluster - фильтр по области ресурсов
▫️--use-cache - использовать серверный кеш ресурсов

#k8s #kubernetes #krew

https://github.com/corneliusweig/ketall
kubernetes-secret-generator - контроллер Kubernetes, который способен автоматически генерировать безопасные случайные строки и пары ключей ssh. Он поддерживает два способа генерации секрета: на основе аннотации к секрету или используя собственный Custom Resource.

Вполне неплохо подойдет для деплоя повторяемых окружений, от нас уже не требуется генерации случайных паролей и долой стандартный admin/admin. Пусть кубер сделает это сам за нас.

#k8s #kubernetes #secret #generator

https://github.com/mittwald/kubernetes-secret-generator
wireguard-ui - довольно неплохой и приятный UI для wireguard VPN, позволяет как управлять сервером так и создавать конфигурацию клиентов. Клиентские конфиги могут быть загружены как файл, отправлены этим приложением на почту, а так же может генерировать QR коды для подключения. Есть также авторизация в админку, но без разделения прав доступа на группы.

Единственный замеченный минус, поля Post Up/Down Script представлены однократно, по этому для удобства пришлось подложить туда скрипт, может кому поможет с настройкой VPN.

Вполне неплохое решение для личного использования, можно легко и быстро подключить новое устройство без походов в терминал.

#wireguard #vpn

https://github.com/ngoduykhanh/wireguard-ui
👍5
SnapScheduler - оператор для автоматического создания Volume Snapshots на CSI томах в кластере Kubernetes по расписанию.

Предоставляет кастом API snapscheduler.backube/v1 и ресурс SnapshotSchedule в котором описываем планировщик создания снимков томов и ротацию старых снимков.

#k8s #kubernetes #snapshot

https://github.com/backube/snapscheduler
👍2
Kubernikus — это "Kubernetes as a Service" для OpenStack.

Позволяет легко управлять кластерами Kubernetes, изначально интегрированными с OpenStack. Архитектура предназначена для облегчения работы в качестве управляемой службы.

Особенности:
▫️Архитектура для работы в качестве управляемой службы
▫️Мастера управляются централизованно
▫️Ноды децентрализованы в проектах
▫️100% ванильный Kubernetes
▫️100% совместимый API Openstack
▫️Мастера и ноды с физической изоляцией
▫️Полное шифрование TLS между всеми компонентами
▫️Автообновление узлов на базе CoreOS Container Linux
▫️Инструменты аутентификации
▫️Единая политика авторизации между Openstack и Kubernetes RBAC

#openstack #k8s #kubernetes #KaaS

https://github.com/sapcc/kubernikus
Grafana Mimir — это открытое, горизонтально масштабируемое, высокодоступное, многопользовательское, долгосрочное хранилище для Prometheus.

Обеспечивает масштабирование до 1 миллиарда метрик и более благодаря высокой доступности, мультиарендности, надежному хранилищу и молниеносной производительности запросов в течение длительных периодов времени.

Mimir был запущен в Grafana Labs и анонсирован в 2022 году. Миссия проекта состоит в том, чтобы сделать его самой масштабируемой и самой производительной базой данных временных рядов. Парни из Grafana обещают производительность в 40 раз выше чем у Cortex.

▫️Миграция с Thanos/Prometheus
▫️Миграция c Cortex

#grafana #prometheus #mimir #cortex #thanos

https://github.com/grafana/mimir
https://grafana.com/oss/mimir/
👍31🔥1
Popeye — это утилита, которая сканирует работающий кластер Kubernetes и сообщает о потенциальных проблемах с развернутыми ресурсами и конфигурациями.

Сканируя кластер, он выявляет неверные конфигурации, к примеру таке как: несоответствие портов, мертвые или неиспользуемые ресурсы, пробы, образы контейнеров, правила RBAC, открытые ресурсы и т.п. и помогает вам убедиться в том, что используются передовые методы конфигурирования.

Он направлен на снижение когнитивной перегрузки, с которой приходится сталкиваться при работе с кластером Kubernetes в реальных условиях. Кроме того, если в вашем кластере используется сервер метрик, он сообщает о потенциальном избыточном/недостаточном выделении ресурсов и пытается предупредить вас, если в вашем кластере заканчиваются доступные ресурсы.

Инструмент только для чтения, он никак не изменяет ваши ресурсы Kubernetes. На выводе в терминал вы получите отчет, который также можно сохранить как html, json, yaml, junit или в виде prometheus метрики.

#k8s #kubernetes

https://github.com/derailed/popeye
Guassp — Синхронизатор доступа пользователей GitLab для проектов SonarQube

Проект предназначен для создания многопользовательской интеграции SonarQube и GitLab. Видимость проекта и разрешения пользователей будут установлены в SonarQube таким же образом, как разрешения для проекта в GitLab.

Всё происходит прозрачно, через CI_JOB_TOKEN из пайплайна, задание валидируется в самом GitLab и если ок, падает в RQ очередь которую уже воркеры в фоне разбирают и синхронизируют доступы и видимость для этого проекта.

Из требований, нужна настроенная ALM c GitLab и желательно что бы все пользователи авторизовывались в сонаре через гитлаб.

Примеры пайплайна и композ для быстро пощупать есть в репе. Также есть експортер метрик prometheus для воркеров и дашборд для grafana.

#gitlab #sonarqube #multitenancy #sync #permissions

https://github.com/WoozyMasta/guassp