DevLake объединяет все ваши данные DevOps в единое удобное, персонализированное и расширяемое представление. Принимайте, анализируйте данные из GitLab, Jira, Jenkins, GitHub и визуализируйте в Grafana.
DevLake наиболее интересен для руководителей и менеджеров, которые хотят лучше понять свои данные о разработке, хотя он и полезен для любого разработчика, желающего привнести в свою практику подход, основанный на данных. С DevLake вы можете задать своему процессу любой вопрос, просто подключитесь и запросите.
https://github.com/merico-dev/lake
#grafana #jira #gitlab #github #jenkins
DevLake наиболее интересен для руководителей и менеджеров, которые хотят лучше понять свои данные о разработке, хотя он и полезен для любого разработчика, желающего привнести в свою практику подход, основанный на данных. С DevLake вы можете задать своему процессу любой вопрос, просто подключитесь и запросите.
https://github.com/merico-dev/lake
#grafana #jira #gitlab #github #jenkins
👍1
Zink - альтернативный легковесный (100 мб памяти) elasticsearch написанный на Go. Имеет совместимый с elasticsearch API, состоит из одного бинарника в который уже встроена веб-морда на Vue.
Звучит круто, но увы, пока что не умеет кластеризироваться и обеспечивать высокую доступность.
#elasticsearch
https://github.com/prabhatsharma/zinc
Звучит круто, но увы, пока что не умеет кластеризироваться и обеспечивать высокую доступность.
#elasticsearch
https://github.com/prabhatsharma/zinc
GitHub
GitHub - zincsearch/zincsearch: ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written…
ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go. - zincsearch/zincsearch
Решил я немного Archi в массы продвинуть, сделал контейнер и GH Action для публикации Archimate модели на GitHub/GitLab Pages
https://habr.com/ru/post/583314/
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
#archi #archimate #cd #pages
https://habr.com/ru/post/583314/
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
#archi #archimate #cd #pages
Хабр
Автоматизируем работу с ArchiMate в CI пайплайнах
В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать...
🔥2
Я было дело bash скрипт kube-dump для бэкапа манифестов кубера на
#krew #kubectl
https://github.com/itaysk/kubectl-neat
jq/yq городил. А оказывается есть krew плагин neat, который я как то обошел стороной. Плагин вырезает лишнюю метадату из манифестов, хоть это и не бэкап утилита, но для сохранения чистеньких манифестов не отходя от kubectl, очень даже удобно.#krew #kubectl
https://github.com/itaysk/kubectl-neat
Наткнулся на решение kubernetes-replicator которое позволяет реплицировать
Ранее также упоминал kubernetes-reflector для синхронизации Secret и ConfigMap между неймспейсами.
#k8s #kubernetes #integrity
https://github.com/mittwald/kubernetes-replicator
ConfigMap, Secret, Role и RoleBinding между неймспейсами вашего кластера kubernetes. Все правила репликации описываются в анотации к ресурсу, репликация может быть как по Pull так и Push модели.Ранее также упоминал kubernetes-reflector для синхронизации Secret и ConfigMap между неймспейсами.
#k8s #kubernetes #integrity
https://github.com/mittwald/kubernetes-replicator
GitHub
GitHub - mittwald/kubernetes-replicator: Kubernetes controller for synchronizing secrets & config maps across namespaces
Kubernetes controller for synchronizing secrets & config maps across namespaces - mittwald/kubernetes-replicator
❤1👍1
Нашел немного времени и смог довести один из черновиков до публикации. На этот раз продвигаю CRI-O и Podman в массы, а именно рассказываю про прозрачное кеширование образов контейнеров.
#podman #crio #proxy #distribution #registry #harbor #quay #nexus #mirror
https://habr.com/ru/post/581232/
#podman #crio #proxy #distribution #registry #harbor #quay #nexus #mirror
https://habr.com/ru/post/581232/
Хабр
Прозрачно кешируем несколько Container Registry в CRI-O и Podman
Возможно, вы уже активно используете CRI-O и Podman, а может только смотрите на альтернативы Docker с осторожностью. Но, как бы там ни было, альтернативные решения создают конкуренцию монополисту...
👍2
Ух, какую штуку нашел, кажется у Redis есть достойная замена из поднебесной.
Kvrocks - это распределенная ключ-значение база данных NoSQL, основанная на RocksDB и совместимая с протоколом Redis. Основная цель - снизить стоимость памяти и увеличить возможности по сравнению с Redis. Дизайн репликации и хранилища был вдохновлен Rockplicator и Blackwidow, используются bin и WAL логи.
Kvrocks имеет следующие ключевые особенности:
- Протокол Redis - можно использовать клиент Redis для работы с kvrocks;
- Неймспейсы - на подобии redis db, но с использованием токена для каждого пространства имен;
- Репликация - асинхронная репликация с использованием binlog, например как в MySQL;
- Высокая доступность - поддерживает redis sentinel для аварийного переключения при отказе ведущего или ведомого экземпляра.
Больше подробностей найдете в блоге kvrocks на medium и wiki
А тут результаты бэнчмарка (CN), где обещают такую же производительность на SSD у Kvrocks как у Redis в ОЗУ.
Prometeus exporter и утилита для миграции с Redis прилагается.
#redis #kvrocks #rocksdb #nosql
https://github.com/KvrocksLabs/kvrocks
Kvrocks - это распределенная ключ-значение база данных NoSQL, основанная на RocksDB и совместимая с протоколом Redis. Основная цель - снизить стоимость памяти и увеличить возможности по сравнению с Redis. Дизайн репликации и хранилища был вдохновлен Rockplicator и Blackwidow, используются bin и WAL логи.
Kvrocks имеет следующие ключевые особенности:
- Протокол Redis - можно использовать клиент Redis для работы с kvrocks;
- Неймспейсы - на подобии redis db, но с использованием токена для каждого пространства имен;
- Репликация - асинхронная репликация с использованием binlog, например как в MySQL;
- Высокая доступность - поддерживает redis sentinel для аварийного переключения при отказе ведущего или ведомого экземпляра.
Больше подробностей найдете в блоге kvrocks на medium и wiki
А тут результаты бэнчмарка (CN), где обещают такую же производительность на SSD у Kvrocks как у Redis в ОЗУ.
Prometeus exporter и утилита для миграции с Redis прилагается.
#redis #kvrocks #rocksdb #nosql
https://github.com/KvrocksLabs/kvrocks
GitHub
GitHub - apache/incubator-kvrocks: Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is…
Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. - GitHub - apache/incubator-kvrocks: Kvrocks is a distributed key value ...
👍5
Kubernetes Resource Report - Скрипт для создания HTML-отчета о запросах ЦП/памяти и их утилизации (собранных с помощью Metrics API) для одного или нескольких кластеров Kubernetes.
Основная цель отчета о ресурсах Kubernetes - помочь оптимизировать запросы ресурсов Kubernetes и избежать простоя. Осторожно, отчет не имеет авторизации, не публикуйте это публично!
Демонстрационная версия
#k8s #kubernetes #costs #resources
https://codeberg.org/hjacobs/kube-resource-report
Основная цель отчета о ресурсах Kubernetes - помочь оптимизировать запросы ресурсов Kubernetes и избежать простоя. Осторожно, отчет не имеет авторизации, не публикуйте это публично!
Демонстрационная версия
#k8s #kubernetes #costs #resources
https://codeberg.org/hjacobs/kube-resource-report
Для тех кому избыточны Python генерированные HTML отчеты о утилизации ресурсов в кластере Kubernetes, а
Распространяется как самостоятельный CLI инструмент так и в виде Krew плагина для kubectl.
Попробуйте сами:
https://github.com/robscott/kube-capacity
kubectl top и describe долго и не практично, есть простой CLI инструмент - kube-capacity.Распространяется как самостоятельный CLI инструмент так и в виде Krew плагина для kubectl.
Попробуйте сами:
kubectl krew install resource-capacity#k8s #kubernetes #krew #costs #resources
kubectl resource-capacity --util --sort cpu.util
kubectl resource-capacity --pods
https://github.com/robscott/kube-capacity
GitHub
GitHub - robscott/kube-capacity: A simple CLI that provides an overview of the resource requests, limits, and utilization in a…
A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster - robscott/kube-capacity
👍1
Тут timescale оказывается свой инструмент для установки набора observability развивает.
Tobs - CLI утилита (инсталятор Helm чартов), цель которой — максимально упростить установку полного стека наблюдаемости (Observability Stack) в кластер Kubernetes. Установит в кластер и настроит:
- Prometheus
- AlertManager
- Grafana
- Node-Exporter
- Kube-State-Metrics
- Prometheus-Operator
- Promscale
- TimescaleDB
- Promlens
- Opentelemetry-Operator
- Jaeger Query
Но стоит ли использовать TimeScale (PromScale) для долгосрочного хранения метрик, это спорный вопрос. На всякий случай приложу пару статей с сравнением:
- VictoriaMetrics vs TimescaleDB vs InfluxDB
- Promscale vs VictoriaMetrics 😲
#k8s #kubernetes #prometheus #timescale #promscale #observability #jaeger #grafana #alertmanager
https://github.com/timescale/tobs
Tobs - CLI утилита (инсталятор Helm чартов), цель которой — максимально упростить установку полного стека наблюдаемости (Observability Stack) в кластер Kubernetes. Установит в кластер и настроит:
- Prometheus
- AlertManager
- Grafana
- Node-Exporter
- Kube-State-Metrics
- Prometheus-Operator
- Promscale
- TimescaleDB
- Promlens
- Opentelemetry-Operator
- Jaeger Query
Но стоит ли использовать TimeScale (PromScale) для долгосрочного хранения метрик, это спорный вопрос. На всякий случай приложу пару статей с сравнением:
- VictoriaMetrics vs TimescaleDB vs InfluxDB
- Promscale vs VictoriaMetrics 😲
#k8s #kubernetes #prometheus #timescale #promscale #observability #jaeger #grafana #alertmanager
https://github.com/timescale/tobs
😱1
ZomboDB привносит в Postgres мощные функции текстового поиска и аналитики, используя Elasticsearch в качестве типа индексов.
С технической точки зрения ZomboDB - это родное расширение Postgres, которое реализует API
#postgres #elasticsearch
https://github.com/zombodb/zombodb
С технической точки зрения ZomboDB - это родное расширение Postgres, которое реализует API
Postgres Index Access Method. Как собственный тип индекса Postgres, ZomboDB позволяет вам создавать индекс zombodb в ваших существующих таблицах Postgres. В этот момент ZomboDB полностью управляет удаленным индексом Elasticsearch и гарантирует транзакционно корректные результаты текстового поиска.#postgres #elasticsearch
https://github.com/zombodb/zombodb
GitHub
GitHub - zombodb/zombodb: Making Postgres and Elasticsearch work together like it's 2023
Making Postgres and Elasticsearch work together like it's 2023 - zombodb/zombodb
eBPF (extended Berkeley Packet Filter) всё сильнее набирает обороты, приведу пожалуй несколько статей в заметку.
▫️Почему сообщество разработчиков ядра заменяет iptables на BPF
▫️BPF для самых маленьких, часть нулевая: classic BPF
▫️BPF для самых маленьких, часть первая: extended BPF
▫️BPF для самых маленьких, часть вторая: разнообразие типов программ BPF
▫️Отлаживаем ядро из командной строки с bpftrace
▫️Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF
▫️BpfTrace — наконец, полноценная замена Dtrace в Linux
▫️От High Ceph Latency к Kernel Patch с помощью eBPF/BCC
🔹Подборка полезностей на тему eBPF awesome-ebpf
🔹Top eBPF Open Source Projects on Github
#bpf #ebpf
▫️Почему сообщество разработчиков ядра заменяет iptables на BPF
▫️BPF для самых маленьких, часть нулевая: classic BPF
▫️BPF для самых маленьких, часть первая: extended BPF
▫️BPF для самых маленьких, часть вторая: разнообразие типов программ BPF
▫️Отлаживаем ядро из командной строки с bpftrace
▫️Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF
▫️BpfTrace — наконец, полноценная замена Dtrace в Linux
▫️От High Ceph Latency к Kernel Patch с помощью eBPF/BCC
🔹Подборка полезностей на тему eBPF awesome-ebpf
🔹Top eBPF Open Source Projects on Github
#bpf #ebpf
👍4
K8up (произносится ketchup) — это оператор резервного копирования Kubernetes, распространяемый через Helm, совместимый с OpenShift и обычным Kubernetes.
— Делает резервную копию всех PVC, помеченных как RWM или с определенной меткой.
— Создание резервных копий по требованию или через планировщик.
— Резервные копии любых приложений, которые умеют писать данные на стандартный вывод или в файл.
— Проверка целостности резервных копий.
— Ротация бэкапов.
— Поддержка S3-совместимых хранилищ.
Примеры смотрите в документации
А что бы было понятнее, вот пример аннотации для бэкапа PostgreSQL
https://github.com/k8up-io/k8up
— Делает резервную копию всех PVC, помеченных как RWM или с определенной меткой.
— Создание резервных копий по требованию или через планировщик.
— Резервные копии любых приложений, которые умеют писать данные на стандартный вывод или в файл.
— Проверка целостности резервных копий.
— Ротация бэкапов.
— Поддержка S3-совместимых хранилищ.
Примеры смотрите в документации
А что бы было понятнее, вот пример аннотации для бэкапа PostgreSQL
template:#k8s #kubernetes #backup
metadata:
labels:
app: postgresql
annotations:
k8up.io/backupcommand: >-
sh -c
'
PGDATABASE="$POSTGRES_DB"
PGUSER="$POSTGRES_USER"
PGPASSWORD="$POSTGRES_PASSWORD"
pg_dump --clean
'
k8up.io/file-extension: .sql
spec:
containers:
- name: postgres
image: docker.io/bitnami/postgresql:11
https://github.com/k8up-io/k8up
GitHub
GitHub - k8up-io/k8up: Kubernetes and OpenShift Backup Operator
Kubernetes and OpenShift Backup Operator. Contribute to k8up-io/k8up development by creating an account on GitHub.
👍2🔥1
Deprecations AKA KubePug - утилита для проверки устаревших версий API в Kubernetes, поставляется как подключаемый модуль (krew deprecations) для kubectl и самостоятельная утилита kubepug.
Kubepug получает информацию о устаревших ресурсах из API Kubernetes, проверяет текущий кластер и размещенные в нем ресурсы или файлы переданные на входе с полученной информацией из кластера. На выходе получите отчет, что следует актуализировать.
Установим krew плагин:
#k8s #kubernetes #deprecation
https://github.com/rikatz/kubepug
Kubepug получает информацию о устаревших ресурсах из API Kubernetes, проверяет текущий кластер и размещенные в нем ресурсы или файлы переданные на входе с полученной информацией из кластера. На выходе получите отчет, что следует актуализировать.
Установим krew плагин:
kubectl krew install deprecationsПример как проверить Helm шаблон на совместимость с кубером 1.22.0
helm template -f values.yaml .0 | kubepug --k8s-version v1.22.0 --input-file=-
Также ранее упоминал похожие утилиты Kubent и Pluto#k8s #kubernetes #deprecation
https://github.com/rikatz/kubepug
GitHub
GitHub - kubepug/kubepug: Kubernetes PreUpGrade (Checker)
Kubernetes PreUpGrade (Checker). Contribute to kubepug/kubepug development by creating an account on GitHub.
prometheus_bot - бот для отправки событий Alertmanager в Telegram.
Со стороны Alertmanager настраиваем
#prometheus #alertmanager #telegram #bot
https://github.com/inCaller/prometheus_bot
Со стороны Alertmanager настраиваем
webhook_configs для отправки сообщений в бота, в боте настраиваем токен. На этом всё, никаких дополнительных команд бот не умеет. Но умеет использовать свой персональный gotmpl для сообщений, форматировать дату/время и единицы измерения.#prometheus #alertmanager #telegram #bot
https://github.com/inCaller/prometheus_bot
GitHub
GitHub - inCaller/prometheus_bot: Telegram bot for prometheus alerting
Telegram bot for prometheus alerting. Contribute to inCaller/prometheus_bot development by creating an account on GitHub.
🔥2
alertmanager-bot - бот для отправки событий Alertmanager в Telegram.
Этот бот умеет в разный набор комманд:
Если сравнивать с prometheus_bot, здесь мы имеем необходимость в своей БД (bolt, etcd, consul), в отличии от prometheus_bot, где используется обычная веб-хук труба. Выбирайте, что вам подходит лучше, управляемый или простой бот.
#prometheus #alertmanager #telegram #bot
https://github.com/metalmatze/alertmanager-bot
Этот бот умеет в разный набор комманд:
/start - Подписаться на оповещения./stop - Отписаться от уведомлений./status - Распечатать текущий статус./alerts - Список всех предупреждений./silences - Список всех отключенных уведомлений./chats - Список всех пользователей и групповых чатов, которые подписались.Если сравнивать с prometheus_bot, здесь мы имеем необходимость в своей БД (bolt, etcd, consul), в отличии от prometheus_bot, где используется обычная веб-хук труба. Выбирайте, что вам подходит лучше, управляемый или простой бот.
#prometheus #alertmanager #telegram #bot
https://github.com/metalmatze/alertmanager-bot
GitHub
GitHub - metalmatze/alertmanager-bot: [deprecated] Bot for Prometheus' Alertmanager
[deprecated] Bot for Prometheus' Alertmanager. Contribute to metalmatze/alertmanager-bot development by creating an account on GitHub.
❤1👍1🔥1
Нашел подборку готовых Archi моделей Cloud Native Architectural Models.
Содержит модели для CAAS, собственных облачных приложений, приложений 12/15 Factor с CI/CD/CS, мониторингом и управлением журналами. Компоненты инфраструктуры включают OpenShift, Storage, Cloudforms, JBoss Java Web Server, JBoss Enterprise Application Server, JBoss Business Rules Management, JBoss Data Grid, JBoss Data Virtualization и Ansible.
Да, тут прям оплот RedHat, но архитектурные схемы довольно неплохие, и я думаю могут пригодится при проектировании чего-то нового.
Модель сохранена при помощи coArchi, про него я ранее писал на хабре, кто не знаком, там можно ознакомится с вводной.
#archi #archimate #coarchi
https://github.com/alberttwong/archi_cloudnative
Содержит модели для CAAS, собственных облачных приложений, приложений 12/15 Factor с CI/CD/CS, мониторингом и управлением журналами. Компоненты инфраструктуры включают OpenShift, Storage, Cloudforms, JBoss Java Web Server, JBoss Enterprise Application Server, JBoss Business Rules Management, JBoss Data Grid, JBoss Data Virtualization и Ansible.
Да, тут прям оплот RedHat, но архитектурные схемы довольно неплохие, и я думаю могут пригодится при проектировании чего-то нового.
Модель сохранена при помощи coArchi, про него я ранее писал на хабре, кто не знаком, там можно ознакомится с вводной.
#archi #archimate #coarchi
https://github.com/alberttwong/archi_cloudnative
Какую выбрать платформу для коллективной работы над локализацией приложений?
▫️Есть, наверное всем знакомый Crowdin, предоставляется только как сервис с разными тарифами, но для OpenSource проектов можно попросить бесплатное размещение.
А что есть из On-Premise?
▫️Weblate - веб-система непрерывной локализации с лицензией GPL-3.0 License, довольно зрелое решение. И скорее всего вы найдете его первым при попытке найти OpenSource альтернативу Crowdin
▫️Pontoon - Платформа локализации Mozilla с лицензией BSD-3-Clause License. Очень напоминает своим интерфейсом Crowdin, и на нем кстати ведется работа над переводами Firefox и прочих продуктов Mozilla.
И что выбрать, Weblate или Ponton? Оба решения написаны на Python с использованием Django и имеют очень похожий набор функционала, интеграция с SCM, база переводов, предложения переводов, OAuth.
Я считаю Pontoon куда привлекательнее. внешне, имеет более приятный и отзывчивый интерфейс, на него будет проще пересесть переводчикам, ранее работавшим с Crodwin. Да и само приложение требует значительно меньше ресурсов для работы, weblate к примеру, только, что бы запустится, потребовал 4 ядра и 12 Gi в лимитах контейнера, Ponton же ограничился 2/2 и вполне не плохо работал.
Конечно еще есть такие сервисы как Phrase, POEditor, Transifex, Lokalise и т.п., а если у вас всего один небольшой проект, вы можете обойтись свободным десктопным poedit
Целью было скорее рассказать о Pontoon, ведь он лежит совсем не на верху поисковой выдачи. И может кому-то помочь с выбором.
#localization #crodwin #weblate #ponton #gettext #po
▫️Есть, наверное всем знакомый Crowdin, предоставляется только как сервис с разными тарифами, но для OpenSource проектов можно попросить бесплатное размещение.
А что есть из On-Premise?
▫️Weblate - веб-система непрерывной локализации с лицензией GPL-3.0 License, довольно зрелое решение. И скорее всего вы найдете его первым при попытке найти OpenSource альтернативу Crowdin
▫️Pontoon - Платформа локализации Mozilla с лицензией BSD-3-Clause License. Очень напоминает своим интерфейсом Crowdin, и на нем кстати ведется работа над переводами Firefox и прочих продуктов Mozilla.
И что выбрать, Weblate или Ponton? Оба решения написаны на Python с использованием Django и имеют очень похожий набор функционала, интеграция с SCM, база переводов, предложения переводов, OAuth.
Я считаю Pontoon куда привлекательнее. внешне, имеет более приятный и отзывчивый интерфейс, на него будет проще пересесть переводчикам, ранее работавшим с Crodwin. Да и само приложение требует значительно меньше ресурсов для работы, weblate к примеру, только, что бы запустится, потребовал 4 ядра и 12 Gi в лимитах контейнера, Ponton же ограничился 2/2 и вполне не плохо работал.
Конечно еще есть такие сервисы как Phrase, POEditor, Transifex, Lokalise и т.п., а если у вас всего один небольшой проект, вы можете обойтись свободным десктопным poedit
Целью было скорее рассказать о Pontoon, ведь он лежит совсем не на верху поисковой выдачи. И может кому-то помочь с выбором.
#localization #crodwin #weblate #ponton #gettext #po
Hierarchical Namespace Controller (HNC) - проект из Kubernetes SIG по созданию иерархических (вложенных) пространств имён (sub-namespace) в кластере Kubernetes. Проект развивается с целью решения вопроса мультиарендности (multitenancy) кластера Kubernetes между разными потребителями.
Иерархические пространства имен упрощают совместное использование вашего кластера, делая пространства имен более мощными. Например, вы можете создавать дополнительные пространства имен в пространстве имен вашей команды, даже если у вас нет разрешения на уровне кластера для создания пространств имен, и легко применять политики, такие как RBAC и сетевые политики, ко всем пространствам имен в вашей команде.
Ранее упоминал альтернативное решение, оператор Capsule позволяющий объединить несколько неймспейсов кластера Kubernetes в одно мультиарендное пространство.
#k8s #kubernetes #multitenancy #operator
https://github.com/kubernetes-sigs/hierarchical-namespaces
Иерархические пространства имен упрощают совместное использование вашего кластера, делая пространства имен более мощными. Например, вы можете создавать дополнительные пространства имен в пространстве имен вашей команды, даже если у вас нет разрешения на уровне кластера для создания пространств имен, и легко применять политики, такие как RBAC и сетевые политики, ко всем пространствам имен в вашей команде.
Ранее упоминал альтернативное решение, оператор Capsule позволяющий объединить несколько неймспейсов кластера Kubernetes в одно мультиарендное пространство.
#k8s #kubernetes #multitenancy #operator
https://github.com/kubernetes-sigs/hierarchical-namespaces
GitHub
GitHub - kubernetes-sigs/hierarchical-namespaces: Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies…
Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies and delegated creation to Kubernetes namespaces for improved in-cluster multitenancy. - kubernetes-sigs/hierarchical-...