Litmus Chaos — это платформа Chaos Engineering с открытым исходным кодом, которая позволяет командам выявлять слабые места и потенциальные сбои в инфраструктурах путем контролируемого запуска тестов хаоса.
Litmus использует облачный подход для создания, управления и мониторинга хаоса. Сама платформа работает как набор микросервисов и использует пользовательские ресурсы Kubernetes для определения хаоса, а также гипотезы стабильного состояния.
Очень похож на Chaos Mesh, возможно будет немного сложнее в настройке, но тем самым и дает большую гибкость, к примеру в Litmus есть Multi Tenant, GitOps (Event-Driven Chaos Injection) и ChaosHub - портал с различными экспериментами от сообщества, хоть их там не много, но уже что-то.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/litmuschaos/litmus
Litmus использует облачный подход для создания, управления и мониторинга хаоса. Сама платформа работает как набор микросервисов и использует пользовательские ресурсы Kubernetes для определения хаоса, а также гипотезы стабильного состояния.
Очень похож на Chaos Mesh, возможно будет немного сложнее в настройке, но тем самым и дает большую гибкость, к примеру в Litmus есть Multi Tenant, GitOps (Event-Driven Chaos Injection) и ChaosHub - портал с различными экспериментами от сообщества, хоть их там не много, но уже что-то.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/litmuschaos/litmus
GitHub
GitHub - litmuschaos/litmus: Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments…
Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hack...
Подборка утилит, на тему эмуляции сети и имитации распространенных сетевых проблем:
▫️netem — стандартная linux утилита, обеспечивает функциональность эмуляции сети для тестирования протоколов путем имитации свойств глобальных сетей. Эмулирует переменную задержку, потерю, дублирование и изменение порядка.
▫️slow — bash обёртка над netem, если кому некогда разбираться в параметрах
▫️dummynet — это инструмент для эмуляции сети в реальном времени, первоначально разработанный для тестирования сетевых протоколов. Он имитирует/применяет ограничения очереди и пропускной способности, задержки, потери пакетов и эффекты многолучевости.
▫️Comcast — это инструмент, предназначенный для имитации распространенных сетевых проблем, таких как задержки, ограничения полосы пропускания и отброшенные/переупорядоченные/поврежденные пакеты.
▫️Toxiproxy — это фреймворк для моделирования сетевых условий. Он создан специально для работы в средах тестирования, непрерывной интеграции и разработки, поддерживая детерминированное вмешательство в соединения, но с поддержкой рандомизированного хаоса и настройки.
▫️Muxy — это прокси-сервер, который взаимодействует с вашей системой и контекстом приложения, работая на уровнях 4, 5 и 7, позволяя вам моделировать распространенные сценарии сбоев с точки зрения тестируемого приложения, например, API или веб-приложение.
▫️Pumba — это инструмент командной строки для тестирования хаоса для контейнеров Docker. Pumba нарушает работу ваших контейнеров, вызывая сбой контейнерного приложения, эмулируя сбои сети и стресс-тестируя ресурсы контейнера.
▫️sitespeed.io - инструмент для тестирования скорости работы веб-приложения, позволяет гибко настраивать лимиты подключения со стороны браузера, на выходе имеем как встроенный дашборд так и метрики prometheus с алертами.
#chaos #chaos_engineering #proxy #testing #network
▫️netem — стандартная linux утилита, обеспечивает функциональность эмуляции сети для тестирования протоколов путем имитации свойств глобальных сетей. Эмулирует переменную задержку, потерю, дублирование и изменение порядка.
▫️slow — bash обёртка над netem, если кому некогда разбираться в параметрах
▫️dummynet — это инструмент для эмуляции сети в реальном времени, первоначально разработанный для тестирования сетевых протоколов. Он имитирует/применяет ограничения очереди и пропускной способности, задержки, потери пакетов и эффекты многолучевости.
▫️Comcast — это инструмент, предназначенный для имитации распространенных сетевых проблем, таких как задержки, ограничения полосы пропускания и отброшенные/переупорядоченные/поврежденные пакеты.
▫️Toxiproxy — это фреймворк для моделирования сетевых условий. Он создан специально для работы в средах тестирования, непрерывной интеграции и разработки, поддерживая детерминированное вмешательство в соединения, но с поддержкой рандомизированного хаоса и настройки.
▫️Muxy — это прокси-сервер, который взаимодействует с вашей системой и контекстом приложения, работая на уровнях 4, 5 и 7, позволяя вам моделировать распространенные сценарии сбоев с точки зрения тестируемого приложения, например, API или веб-приложение.
▫️Pumba — это инструмент командной строки для тестирования хаоса для контейнеров Docker. Pumba нарушает работу ваших контейнеров, вызывая сбой контейнерного приложения, эмулируя сбои сети и стресс-тестируя ресурсы контейнера.
▫️sitespeed.io - инструмент для тестирования скорости работы веб-приложения, позволяет гибко настраивать лимиты подключения со стороны браузера, на выходе имеем как встроенный дашборд так и метрики prometheus с алертами.
#chaos #chaos_engineering #proxy #testing #network
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Pyroscope — это платформа непрерывного профилирования с открытым исходным кодом. Есть дашборд, очень аккуратно утилизирует CPU и замечательно сжимает данные на диске, что позволяет хранить годами данные от нескольких приложений.
Поможет вам:
- Найти проблемы с производительностью и узкие места в вашем коде
- Устранять проблемы с высокой загрузкой ЦП
- Разобраться с деревом вызовов вашего приложения
- Отслеживать изменения хронологически
Дэмо версия для потрогать
Интеграции:
- Ruby (через rbspy)
- Python (через py-spy)
- Go (через pprof)
- Linux eBPF (через profile.py из bcc-tools)
- PHP (через phpspy)
- .NET (через dotnet trace)
- Java (через async-profiler)
- Rust (в процессе разработки, через pprof-rs)
- Node (в поиске участников для реализации)
#profiling #debug #go #net #python #bpf #rust
https://github.com/pyroscope-io/pyroscope
Поможет вам:
- Найти проблемы с производительностью и узкие места в вашем коде
- Устранять проблемы с высокой загрузкой ЦП
- Разобраться с деревом вызовов вашего приложения
- Отслеживать изменения хронологически
Дэмо версия для потрогать
Интеграции:
- Ruby (через rbspy)
- Python (через py-spy)
- Go (через pprof)
- Linux eBPF (через profile.py из bcc-tools)
- PHP (через phpspy)
- .NET (через dotnet trace)
- Java (через async-profiler)
- Rust (в процессе разработки, через pprof-rs)
- Node (в поиске участников для реализации)
#profiling #debug #go #net #python #bpf #rust
https://github.com/pyroscope-io/pyroscope
🔥2
Kubenurse - это небольшой сервис, который отслеживает все сетевые подключения в кластере Kubernetes. Kubenurse измеряет продолжительность запросов, записывает ошибки и экспортирует эти показатели в формате Prometheus.
Все выполненные проверки предоставляют метрики, которые можно использовать для мониторинга/предупреждения:
▫️Задержки и ошибки сети SDN
▫️Задержки и ошибки сети kubelet-to-kubelet
▫️Связь pod-apiserver
▫️Задержки и ошибки приема-передачи
▫️Задержки и ошибки сервисов (kube-proxy)
▫️Основные проблемы kube-apiserver
▫️Ошибки CoreDNS
▫️Внешние ошибки разрешения DNS
#k8s #kubernetes #prometheus #network
https://github.com/postfinance/kubenurse
Все выполненные проверки предоставляют метрики, которые можно использовать для мониторинга/предупреждения:
▫️Задержки и ошибки сети SDN
▫️Задержки и ошибки сети kubelet-to-kubelet
▫️Связь pod-apiserver
▫️Задержки и ошибки приема-передачи
▫️Задержки и ошибки сервисов (kube-proxy)
▫️Основные проблемы kube-apiserver
▫️Ошибки CoreDNS
▫️Внешние ошибки разрешения DNS
#k8s #kubernetes #prometheus #network
https://github.com/postfinance/kubenurse
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Plumber — это CLI инструмент для проверки, передачи, обмена сообщениями и перенаправления данных в таких системах как Kafka, RabbitMQ и подобных брокерах сообщений.
Инструмент позволяет:
▫️Безопасный просмотр содержимого ваших потоков данных
▫️Запись простых или закодированных данных в любую систему
▫️Маршрутизация данных из одного места в другое
▫️Декодирование данных protobuf/avro/thrift/JSON в режиме реального времени
▫️Ретрансляция данных в Batch platform
▫️Воспроизведение событий в системе сообщений в вашей локальной сети
А поддерживает эта утилита и в правду много систем. А именно: Kafka, RabbitMQ, GCP PubSub, MQTT, Amazon Kinesis Streams, Amazon SQS, Amazon SNS, ActiveMQ, Azure Service Bus, Azure Event Hub, NATS, NATS Streaming, Redis-PubSub, Redis-Streams, Postgres CDC, MongoDB CDC, Apache Pulsar, NSQ, KubeMQ 😳
#cli #kafka #rabbitmq #pubsub
https://github.com/batchcorp/plumber
Инструмент позволяет:
▫️Безопасный просмотр содержимого ваших потоков данных
▫️Запись простых или закодированных данных в любую систему
▫️Маршрутизация данных из одного места в другое
▫️Декодирование данных protobuf/avro/thrift/JSON в режиме реального времени
▫️Ретрансляция данных в Batch platform
▫️Воспроизведение событий в системе сообщений в вашей локальной сети
А поддерживает эта утилита и в правду много систем. А именно: Kafka, RabbitMQ, GCP PubSub, MQTT, Amazon Kinesis Streams, Amazon SQS, Amazon SNS, ActiveMQ, Azure Service Bus, Azure Event Hub, NATS, NATS Streaming, Redis-PubSub, Redis-Streams, Postgres CDC, MongoDB CDC, Apache Pulsar, NSQ, KubeMQ 😳
#cli #kafka #rabbitmq #pubsub
https://github.com/batchcorp/plumber
👍2
jo — небольшая утилита для создания объектов JSON.
К примеру:
https://github.com/jpmens/jo
К примеру:
jo -p name=jo n=17 parser=falseполучим:
{
"name": "jo",
"n": 17,
"parser": false
}
илиseq 1 10 | jo -aполучим:
[1,2,3,4,5,6,7,8,9,10]#cli #json
https://github.com/jpmens/jo
GitHub
GitHub - jpmens/jo: JSON output from a shell
JSON output from a shell. Contribute to jpmens/jo development by creating an account on GitHub.
Тут у Keycloak вышел релиз 17.0 - дистрибутив по умолчанию теперь основан на Quarkus, прощай WildFly. Это изменение должно сделать keycloak быстрее, компактнее и намного проще в настройке.
При этом, способ запуска и настройки Keycloak радикально изменился, по этому поддерживать дистрибутив WildFly будут до июня 2022 года.
#keycloak
https://github.com/keycloak/keycloak/releases/tag/17.0.0
При этом, способ запуска и настройки Keycloak радикально изменился, по этому поддерживать дистрибутив WildFly будут до июня 2022 года.
#keycloak
https://github.com/keycloak/keycloak/releases/tag/17.0.0
GitHub
GitHub - keycloak/keycloak: Open Source Identity and Access Management For Modern Applications and Services
Open Source Identity and Access Management For Modern Applications and Services - keycloak/keycloak
😱2👍1🔥1
Mizu - простое, но мощное средство просмотра API трафика для Kubernetes, позволяющее просматривать все взаимодействия API между микросервисами, чтобы помочь вам отлаживать регрессии и устранять неполадки.
Ну это, что-то на подобии TCPDump и Wireshark для Kubernetes.
Имеет CLI, гибкую фильтрацию и отслеживает в реальном времени трафик:
▫️HTTP/1.x (REST, GraphQL, SOAP, etc.)
▫️HTTP/2 (gRPC)
▫️AMQP (RabbitMQ, Apache Qpid, etc.)
▫️Apache Kafka
▫️Redis
#k8s #kubernetes #network #wireshark #tcpdump
https://github.com/up9inc/mizu
Ну это, что-то на подобии TCPDump и Wireshark для Kubernetes.
Имеет CLI, гибкую фильтрацию и отслеживает в реальном времени трафик:
▫️HTTP/1.x (REST, GraphQL, SOAP, etc.)
▫️HTTP/2 (gRPC)
▫️AMQP (RabbitMQ, Apache Qpid, etc.)
▫️Apache Kafka
▫️Redis
#k8s #kubernetes #network #wireshark #tcpdump
https://github.com/up9inc/mizu
RedisJSON — это модуль Redis, который реализует стандарт обмена данными JSON ECMA-404 в качестве собственного типа данных. Он позволяет хранить, обновлять и извлекать значения JSON из ключей (документов) Redis.
Документация
Подгружается в сервер как модуль
Также есть клиентские библиотеки на Node.js, Java, Python, Go, .NET, PHP и Ruby. И скорее всего ваша библиотека уже умеет в JSON.
#redis #json
https://github.com/RedisJSON/RedisJSON
Документация
Подгружается в сервер как модуль
redis-server --loadmodule ./target/release/librejson.soИли берем готовый контейнер redislabs/rejson:latest
Также есть клиентские библиотеки на Node.js, Java, Python, Go, .NET, PHP и Ruby. И скорее всего ваша библиотека уже умеет в JSON.
#redis #json
https://github.com/RedisJSON/RedisJSON
GitHub
GitHub - RedisJSON/RedisJSON: RedisJSON - a JSON data type for Redis
RedisJSON - a JSON data type for Redis. Contribute to RedisJSON/RedisJSON development by creating an account on GitHub.
Обновил CI образ для Archi и GitHub Action. Подробности здесь.
Обновился Archi 4.9.2 и coArchi 0.8.2
#archi #archimate #ci
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
Обновился Archi 4.9.2 и coArchi 0.8.2
#archi #archimate #ci
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
GitHub
GitHub - WoozyMasta/archimate-ci-image: Archi container image for use in continuous integration pipelines
Archi container image for use in continuous integration pipelines - WoozyMasta/archimate-ci-image
XSV — это программа командной строки для индексации, нарезки, анализа, разделения и объединения CSV-файлов. Написана на Rust.
▫️cat — объединение CSV по строке или по столбцу
▫️count — подсчет строк в CSV (Мгновенно с индексом)
▫️fixlengths — заставить CSV иметь записи одинаковой длины, либо дополняя, либо усекая их
▫️flatten — плоский вид записей CSV
▫️fmt — переформатировать данные CSV с другими разделителями, разделителями записей или правилами цитирования
▫️frequency — создание частотных таблиц для каждого столбца в данных CSV. (Использует параллелизм)
▫️headers — показать заголовки данных CSV
▫️index — создать индекс для CSV
▫️input - чтение данных CSV с экзотическими правилами цитирования/экранирования
▫️join - внутренние, внешние и перекрестные соединения
▫️partition — разбиение данных CSV на основе значения столбца
▫️sample — произвольное рисование строк из данных CSV с использованием выборки
▫️reverse — обратный порядок строк в данных CSV
▫️search — запустить регулярное выражение для данных CSV
▫️select — выберите или измените порядок столбцов данных CSV
▫️slice — нарезать строки из любой части CSV
▫️sort — сортировка данных CSV
▫️split — разделить один CSV на множество CSV по N фрагментов
▫️stats — показать основные типы и статистику каждого столбца в CSV
▫️table — показать выровненный вывод любых данных CSV
#csv #cli
https://github.com/BurntSushi/xsv
▫️cat — объединение CSV по строке или по столбцу
▫️count — подсчет строк в CSV (Мгновенно с индексом)
▫️fixlengths — заставить CSV иметь записи одинаковой длины, либо дополняя, либо усекая их
▫️flatten — плоский вид записей CSV
▫️fmt — переформатировать данные CSV с другими разделителями, разделителями записей или правилами цитирования
▫️frequency — создание частотных таблиц для каждого столбца в данных CSV. (Использует параллелизм)
▫️headers — показать заголовки данных CSV
▫️index — создать индекс для CSV
▫️input - чтение данных CSV с экзотическими правилами цитирования/экранирования
▫️join - внутренние, внешние и перекрестные соединения
▫️partition — разбиение данных CSV на основе значения столбца
▫️sample — произвольное рисование строк из данных CSV с использованием выборки
▫️reverse — обратный порядок строк в данных CSV
▫️search — запустить регулярное выражение для данных CSV
▫️select — выберите или измените порядок столбцов данных CSV
▫️slice — нарезать строки из любой части CSV
▫️sort — сортировка данных CSV
▫️split — разделить один CSV на множество CSV по N фрагментов
▫️stats — показать основные типы и статистику каждого столбца в CSV
▫️table — показать выровненный вывод любых данных CSV
#csv #cli
https://github.com/BurntSushi/xsv
GitHub
GitHub - BurntSushi/xsv: A fast CSV command line toolkit written in Rust.
A fast CSV command line toolkit written in Rust. Contribute to BurntSushi/xsv development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Netmaker — это платформа для создания и управления быстрыми, безопасными и динамическими виртуальными оверлейными сетями с использованием WireGuard.
Из особенностей:
▫️можно строить одноранговые (Peer-to-Peer) Mesh сети
▫️поддержка Kubernetes и нескольких облаков
▫️удаленный доступ через шлюз
▫️функции OAuth и частного DNS
▫️поддержка Linux, Mac, Windows, FreeBSD, iPhone и Android.
▫️автоматизирует виртуальные сети между ЦОД, облаками и шлюзами
▫️WireGuard предлагает максимальную скорость, производительность и безопасность
▫️создан для масштабирования от малого бизнеса до предприятия.
Руководство / Руководство по Kubernetes
#network #wireguard #mesh #k8s #kubernetes
https://github.com/gravitl/netmaker
Из особенностей:
▫️можно строить одноранговые (Peer-to-Peer) Mesh сети
▫️поддержка Kubernetes и нескольких облаков
▫️удаленный доступ через шлюз
▫️функции OAuth и частного DNS
▫️поддержка Linux, Mac, Windows, FreeBSD, iPhone и Android.
▫️автоматизирует виртуальные сети между ЦОД, облаками и шлюзами
▫️WireGuard предлагает максимальную скорость, производительность и безопасность
▫️создан для масштабирования от малого бизнеса до предприятия.
Руководство / Руководство по Kubernetes
#network #wireguard #mesh #k8s #kubernetes
https://github.com/gravitl/netmaker
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
smag — утилита командной строки для создания графиков из команд и просмотра их в терминале. Это как команда watch, но с графиком вывода.
Примеры использования:
https://github.com/aantn/smag
Примеры использования:
smag 'ping -c1 ya.ru | grep -oP ".*time=\K\d+\.\d+"'#cli #watch #graph #plot
smag "kubectl get pods -A | grep Running | wc -l"
smag "grep ' 404 ' access.log | wc -l" -d
https://github.com/aantn/smag
👍4
rustdesk — еще одно программное обеспечение для удаленного рабочего стола, написанное на Rust. Работает из коробки, не требует настройки. Вы полностью контролируете свои данные, не беспокоясь о безопасности. Вы можете использовать публичный сервер ретрансляции, настроить или написать свой собственный сервер ретрансляции.
Работает на Linux, MacOS, Windows. Единственное, не умеет пока что в Wayland, только X11.
Вполне сойдет как Open Source и Self-hosted альтернатива всяким TeamViewer, AmmyAdmin, AnyDesk, RAdmin и т.п.
А, ну да, еще я им занес русский язык, в новой версии появится.
#remote #rustdesk #teamviewer #ammyadmin #anydesk #radmin
https://github.com/rustdesk/rustdesk
Работает на Linux, MacOS, Windows. Единственное, не умеет пока что в Wayland, только X11.
Вполне сойдет как Open Source и Self-hosted альтернатива всяким TeamViewer, AmmyAdmin, AnyDesk, RAdmin и т.п.
А, ну да, еще я им занес русский язык, в новой версии появится.
#remote #rustdesk #teamviewer #ammyadmin #anydesk #radmin
https://github.com/rustdesk/rustdesk
GitHub
GitHub - rustdesk/rustdesk: An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer. - rustdesk/rustdesk
👍7
Gaphor — это приложение для моделирования UML, SysML, RAAML и C4. Он разработан, чтобы быть простым в использовании, но при этом мощным. Gaphor реализует полностью совместимую модель данных UML 2, так что это гораздо больше, чем инструмент для рисования изображений. Вы можете использовать Gaphor для быстрой визуализации различных аспектов системы, а также для создания полных, очень сложных моделей.
Из плюсов/особенностей следует выделить:
▫️Мультиплатформенный Windows, Macos и Linux;
▫️Написан на Python + GTK;
▫️Open Source проект под лицензией Apache 2;
▫️Имеет CLI и может расширятся плагинами;
▫️Поддерживает експорт в PDF, PNG, SVG и XMI;
▫️Имеет интеграцию с Sphinx;
▫️Позволяет гибко управлять стилями при помощи CSS.
Есть небольшой видео туториал о Gaphor
#uml #sysml #raaml #c4 #gaphor
https://github.com/gaphor/gaphor
https://gaphor.org
Из плюсов/особенностей следует выделить:
▫️Мультиплатформенный Windows, Macos и Linux;
▫️Написан на Python + GTK;
▫️Open Source проект под лицензией Apache 2;
▫️Имеет CLI и может расширятся плагинами;
▫️Поддерживает експорт в PDF, PNG, SVG и XMI;
▫️Имеет интеграцию с Sphinx;
▫️Позволяет гибко управлять стилями при помощи CSS.
Есть небольшой видео туториал о Gaphor
#uml #sysml #raaml #c4 #gaphor
https://github.com/gaphor/gaphor
https://gaphor.org
👍1🔥1
kubectl shovel — это плагин для kubectl (krew), который поможет вам собирать диагностическую информацию из dotnet приложений запущенных в kubernetes. Он может работать с приложениями .NET Core 3.0+ и кластерами Kubernetes со средой выполнения docker или containerd. Запилили кстати это, ребята из dodopizza.
На данный момент поддерживаются следующие инструменты диагностики:
▫️
https://github.com/dodopizza/kubectl-shovel
На данный момент поддерживаются следующие инструменты диагностики:
▫️
dotnet-gcdump
▫️dotnet-trace
▫️dotnet-dump
#k8s #kubernetes #dotnet #krewhttps://github.com/dodopizza/kubectl-shovel
GitHub
GitHub - dodopizza/kubectl-shovel: kubectl plugin for gathering diagnostics from running in k8s dotnet applications
kubectl plugin for gathering diagnostics from running in k8s dotnet applications - dodopizza/kubectl-shovel
This media is not supported in your browser
VIEW IN TELEGRAM
Quay Image Expiration — это скрипт для изменения времени жизни образа в реестре контейнеров Quay. Позволяет задавать разное время жизни для разных тегов в соответствии с регулярным выражением. Не изменит существующие метки TTL.
Добавьте этот скрипт в свой планировщик (
Quay поддерживает метку
#registry #quay #automation
https://github.com/WoozyMasta/quay-expiration
Добавьте этот скрипт в свой планировщик (
crontab, systemd timer, kubernetes cronJob или т.п.) и держите реестр контейнеров в чистоте. Больше никаких мусорных тегов, промежуточные версии существуют ограниченное время, а релизы остаются навсегда.Quay поддерживает метку
quay.expires-after, которая позволяет вам установить время жизни артефакта на этапе сборки в CI пайплайне. Но не все молодцы пользуются этим, поэтому и появился этот скрипт, для тотального контроля над временем жизни образов.#registry #quay #automation
https://github.com/WoozyMasta/quay-expiration