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
Cloudprober — это программное обеспечение для активного мониторинга и обнаружения сбоев. Некий аналог blackbox exporter.

▫️Использует активную модель мониторинга
▫️Имеет автодискавери c K8S
▫️Интеграции с Prometheus, DataDog, PostgreSQL, StackDriver, CloudWatch
▫️Быстрые встроенные проверки ICMP, HTTP, UDP и DNS
▫️Произвольные внешние пробы, можно писать свои скрипты
▫️Требует мало ресурсов

Подробнее в документации

#monitoring #prometheus #blackbox #k8s

https://github.com/cloudprober/cloudprober
https://cloudprober.org
Сanary Сhecker — оператор Kubernetes для выполнения синтетических тестов, который предоставляет мультитенантную синтетическую систему мониторинга.

Имеет пользовательский интерфейс, конфигурируется через CRD, может работать как самостоятельный CLI и интегрируется c Prometheus.

Может проверять: DNS, TCP, HTTP, ICMP, SSL, LDAP, S3, Redis, Elasticsearch, PostgreSQL, pull/push образов, Jmeter, Junit и прочее, подробнее в документации.

#k8s #kubernetes #canary #cli #operator #tests

https://github.com/flanksource/canary-checker
🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
pwru (packet, where are you?) — это основанный на eBPF инструмент для отслеживания сетевых пакетов в ядре Linux с расширенными возможностями фильтрации. Позволяет детально анализировать состояние ядра, чтобы облегчить отладку проблем с сетевыми подключениями.

#ebpf #bpf #network #tracing

https://github.com/cilium/pwru
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
gum — это инструмент для написания красивых shell сценариев.
Если надоело или не хочется возится с реализацией спиннеров и комбо-боксов для ваших скриптов, этот инструмент поможет вам. В нем реализованы:

▫️Input - запрос ввода
▫️Write - запрос многострочного ввода
▫️Filter - нечеткое сопоставление для фильтрации списка значений
▫️Choose - выбор варианта из списка вариантов
▫️Confirm - подтверждение
▫️Spin - отображение счетчика во время выполнения скрипта или команды

Также имеется довольно гибкая стилизация всего этого.

#cli #shell #scripts

https://github.com/charmbracelet/gum
👍4🔥21
ycat — процессор командной строки для файлов YAML/JSON с использованием Jsonnet

При помощи утилиты можно применять jsonnet для редактирования json и yaml документов, к примеру:

▫️Добавить ns foo ко всем k8s ресурсам без ns:
ycat *.yaml -e '{metadata+: {namespace: "foo"}} + x'

▫️Слить файлы a.json и b.yaml установив ключ foo в bar для каждого объекта верхнего уровня:
ycat a.json b.yaml -e 'x+{foo: "bar"}'

#json #yaml #jsonnet #cli

https://github.com/alxarch/ycat
1🔥1
SSLH — мультиплексор протоколов прикладного уровня.

Может пригодится, например, для совместного использование SSH, OpenVPN, XMPP, SOCKS5 и HTTPS на одном и том же порту.

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

#network #dpi #multiplexer #ssl #ssh

https://github.com/yrutschle/sslh
👍4
Мультиплексирование SSH и TLS через Nginx. По аналогии с SSLH эту же задачу можно решить средствами Nginx.

Используя несколько целевых upstream в stream модуле и при помощи модуля ngx_http_map_module (map) назначаем нужный бэкенд для подключения в зависмости от значения в переменной $ssl_preread_protocol.

По умолчанию модуль stream_ssl_preread_module не собирается, для работы переменной $ssl_preread_protocol необходимо выполнить сборку Nginx с помощью конфигурационного параметра --with-stream_ssl_preread_module.

Модуль ngx_stream_ssl_preread_module позволяет извлекать информацию из сообщения ClientHello без терминирования SSL/TLS, например имя сервера, запрошенное через SNI или протоколы, указанные в ALPN.

#network #multiplexer #ssl #ssh #nginx

https://gist.github.com/WoozyMasta/3fcc9e5f7b6dd31ca211c0bcd5aee846
Peirates — инструмент для тестирования на проникновение в Kubernetes, позволяет повышать привилегии и перемещаться по кластеру k8s. Он автоматизирует известные методы кражи и сбора токенов учетных записей служб, секретов, дальнейшего выполнения кода и получения контроля над кластером.

Запуск Peirates происходит из контейнера, работающего в k8s, или на узле k8s вне контейнера.

Атакует ли Peirates кластер Kubernetes?
Да, это абсолютно так. Прежде чем использовать этот инструмент в кластере Kubernetes, поговорите со своим юристом и владельцами кластера.

#kubernetes #k8s #security #penetration

https://github.com/inguardians/peirates
👍1🔥1
Grafana Dashboard Linter — это инструмент для проверки информационных панелей (dashboards) Grafana на распространенные ошибки.

Линтер реализует следующие правила:

▫️template-datasource-rule — проверяет, что на информационной панели есть шаблонный источник данных.
▫️template-job-rule — проверяет, есть ли на панели управления задание по шаблону.
▫️template-instance-rule — проверяет, есть ли у панели мониторинга шаблонный экземпляр.
▫️template-label-promql-rule — проверяет, что шаблонные метки панели мониторинга имеют правильные выражения PromQL.
▫️panel-datasource-rule — проверяет, что каждая панель использует шаблонный источник данных.
▫️target-promql-rule — проверяет, что каждая цель использует действительный запрос PromQL.
▫️target-rate-interval-rule — проверяет, что каждая цель использует $__rate_interval.
▫️target-job-rule — Проверяет, что у каждого запроса PromQL есть сопоставитель заданий (job matcher).
▫️target-instance-rule — Проверяет, что у каждого запроса PromQL есть сопоставитель экземпляра (instance matcher).

Это просто незаменимая вещь, особенно если вы собираете панели в CI конвейере используя Grafonnet.

#grafana #cli #linter #grafonnet #dashboards

https://github.com/grafana/dashboard-linter
🔥21
IvorySQL — это продвинутый, полнофункциональный, Oracle совместимый PostgreSQL с открытым исходным кодом.
Обязуется всегда оставаться на 100% совместимым и полностью заменяющим последнюю версию PostgreSQL. В IvorySQL добавлен переключатель compatible_db для переключения между режимами совместимости с Oracle и PostgreSQL. Одной из основных особенностей IvorySQL является процедурный язык PL/iSQL, который поддерживает синтаксис Oracle PL/SQL и пакеты в стиле Oracle.

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

#oracle #postgresql #db

https://github.com/IvorySQL/IvorySQL
👍1🤔1🤨1
Kured — это набор демонов Kubernetes, который выполняет безопасную автоматическую перезагрузку узла, когда на необходимость этого указывает система управления пакетами базовой ОС.

Kured = KUbernetes REboot Daemon

▫️Следит за наличием сигнального файла перезагрузки, например /var/run/reboot-required.
▫️Использует блокировку на сервере API, чтобы обеспечить перезагрузку только одного узла за раз.
▫️Опционально откладывает перезагрузку при наличии активных алертов Prometheus или выбранных подов.
▫️Выполняет codon и drain на рабочих нодах перед перезагрузкой.

#k8s #kubernetes #reboot #lifecycle

https://github.com/weaveworks/kured
👍32
Ansible-doctor — это генератор документации на основе аннотаций для ваших ролей Ansible.

Основанн на шаблонах Jinja2 и поставляется как CLI. Хотя ansible-doctor поставляется с шаблоном по умолчанию, называемым readme, также можно написать собственные шаблоны для настройки вывода или рендеринга данных в других форматах, таких как HTML или XML.

Подробнее на странице документации, пример работы генератора можно посмотреть здесь.

#ansible #docs

https://github.com/thegeeklab/ansible-doctor
👍3
Ansible-playbook-grapher — это инструмент командной строки для создания графиков представляющих ваши роли, таски и плейбуки Ansible. Цель проекта — получить обзор ваших плейбуков и дать возможность улучшить документацию проекта.

#ansible #docs #graphviz

https://github.com/haidaraM/ansible-playbook-grapher
👍1
Anevicon — это высокопроизводительный генератор трафика, максимально удобный и надежный.

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

#flood #udp #network #traffic #pentesting

https://github.com/rozgo/anevicon
👍1
finshir — высокопроизводительная, управляемая сопрограммами и полностью настраиваемая реализация генератора низкой и медленной нагрузки сетей.

Предназначен для пентестинга в реальных условиях. Его полная необнаруживаемость достигается подключением через Tor. Написан на Rust.

#flood #network #traffic #pentesting #tor

https://github.com/isgasho/finshir
👍1
RustScan — это современный сканер портов. Изящный и быстрый.

▫️Быстро находит порты, 65k портов минимум 3 секунды.
▫️Имеется возможность запуска скриптов через скриптовый движок (поддерживаются Python, Lua, Shell).
▫️Использует адаптивное обучение, чтобы со временем совершенствоваться

Якобы там где Nmap сканирует 17 минут, RustScan спрпавляется за 19 секунд.

#nmap #scaner #network #pentesting

https://github.com/RustScan/RustScan
1
charts-syncer — это инструмент для синхронизации репозиториев Helm Chart и связанных образов контейнеров между репозиториями.

Поддерживает репозитории: Helm, Chartmuseum, Harbor, OCI и локальное размещение

#helm #oci #charts #sync

https://github.com/bitnami-labs/charts-syncer
👍2
YugabyteDB — это высокопроизводительная облачная распределенная база данных SQL, предназначенная для поддержки всех функций PostgreSQL. Лучше всего подходит для облачных OLTP-приложений (т. е. критически важных для бизнеса приложений реального времени), которым требуется абсолютная точность данных и хотя бы одно из следующего: масштабируемость, высокая устойчивость к сбоям или глобально распределенное развертывание.

Интересно, что это не только распределенный PostgreSQL, но также:

▫️В настоящее время YugabyteDB поддерживает два распределенных API SQL: Yugabyte SQL (YSQL), полностью реляционный API, который повторно использует уровень запросов PostgreSQL, и Yugabyte Cloud QL (YCQL), полуреляционный SQL-подобный API с поддержкой документов/индексирования с Apache Cassandra QL.
▫️Распределенные транзакции. Дизайн транзакций основан на архитектуре Google Spanner.
▫️Географически распределенная, многооблачная YugabyteDB может быть развернута в общедоступных облаках и изначально внутри Kubernetes.
▫️Непрерывная доступность YugabyteDB чрезвычайно устойчива к частым сбоям благодаря встроенному аварийному переключению и восстановлению.
▫️Горизонтальная масштабируемость

А еще у них есть куча разных CLI, драйвера и ORM для популярных языков, коннектор для Kafka Connect. Есть интеграции с Debezium, Camunda, Kafka, Spark, Karios, Liquibase, Presto и кучей прочего.

Кстати pgAdmin и Cassandra Workbench работают с YugabyteDB

#db #ha #postgresql #cassandra #kubernetes

https://github.com/YugaByte/yugabyte-db
https://docs.yugabyte.com/preview/
21