Please open Telegram to view this post
VIEW IN TELEGRAM
😁17
Bombini — runtime security агент на eBPF, целиком написанный на Rust с библиотекой Aya.
📌 Подробнее: https://bombinisecurity.github.io/bombini/
MemOps🤨
Он построен на BPF LSM хуках и состоит из модульных детекторов, которые отслеживают процессы, файловые и сетевые операции, а также взаимодействие с eBPF-подсистемой ядра.
Самое интересное здесь — rule engine, который целиком работает внутри eBPF в отличие от Falco, где правила вычисляются в user mode части агента. Правила пишутся в YAML с булевыми предикатами (AND/OR/NOT, in, CIDR для IPv4/IPv6, списки и макросы). Каждое правило компилируется как программа: парсер строит AST,оптимизационные проходы его упрощают, а на выходе получается байткод в обратной польской записи. Байткод загружается в eBPF-мапы и исполняется прямо в ядре собственным RPN-интерпретатором. Поэтому фильтрация происходит до отправки событий в userspace, и накладные расходы минимальны. Для правил есть sandbox-режим в вариантах allow-list и deny-list, в отличие от Tetragon, где реализован только deny-list способ.
Отдельно стоит отметить детектор SysEnumMon, аналогов нет ни в Falco, ни в Tetragon. Обычно в eBPF-агентах одно срабатывание хука даёт одно событие. SysEnumMon работает иначе: он собирает наблюдения с нескольких хуков (запуск бинарей и открытие файлов), коррелирует их внутри дерева процессов в скользящем временном окне и принимает решение прямо в eBPF. Так он ловит сканеры вроде LinPEAS и LinEnum, хотя каждое их действие по отдельности (id, uname, чтение /etc/passwd) выглядит легитимно.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤯2
Выучил Go. Горутины, каналы, интерфейсы — всё понятно.
А потом реальная задача: опросить 300 хостов, не положить чужой API ретраями и корректно остановиться по SIGTERM.
И пустой main.go 🫠
Туториалы учат синтаксису. Никто не рассказывает, почему:
— ретраи без джиттера добивают поднявшийся API
— незакрытый resp.Body съедает пул соединений
— liveness-проба с проверкой БД отправляет весь кластер в каскадный рестарт
— горутины «работают», а под -race сыпятся гонки
«Go для DevOps/SRE» закрывает разрыв между «знаю Go» и «пишу на Go инфраструктурные утилиты».
Внутри:
— CLI-утилиты, os/exec, graceful shutdown
— Параллельный опрос хостов, worker pool, отмена по первой ошибке
— HTTP-клиент для прода: таймауты, backoff с джиттером, идемпотентность
— Метрики Prometheus, экспортёры, правильные /livez и /readyz
31 урок, 29 задач с автопроверкой.
🎁 −30% по промокоду GODEVOPS до 3 октября
https://tglink.io/d40bd88310687d?erid=2W5zFHnEoay
А потом реальная задача: опросить 300 хостов, не положить чужой API ретраями и корректно остановиться по SIGTERM.
И пустой main.go 🫠
Туториалы учат синтаксису. Никто не рассказывает, почему:
— ретраи без джиттера добивают поднявшийся API
— незакрытый resp.Body съедает пул соединений
— liveness-проба с проверкой БД отправляет весь кластер в каскадный рестарт
— горутины «работают», а под -race сыпятся гонки
«Go для DevOps/SRE» закрывает разрыв между «знаю Go» и «пишу на Go инфраструктурные утилиты».
Внутри:
— CLI-утилиты, os/exec, graceful shutdown
— Параллельный опрос хостов, worker pool, отмена по первой ошибке
— HTTP-клиент для прода: таймауты, backoff с джиттером, идемпотентность
— Метрики Prometheus, экспортёры, правильные /livez и /readyz
31 урок, 29 задач с автопроверкой.
🎁 −30% по промокоду GODEVOPS до 3 октября
https://tglink.io/d40bd88310687d?erid=2W5zFHnEoay
😁6
rune — быстрый, ускоряемый графическим процессором, полнофункциональный IDE и терминальный мультиплексор, подходящий как для автоматического, так и для ручного программирования.
📌 Подробнее: https://github.com/unstablebuild/rune
MemOps🤨
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - unstablebuild/rune: the development environment for pros
the development environment for pros. Contribute to unstablebuild/rune development by creating an account on GitHub.
👍3
Grafana Alerting: Scale alert routing without scaling complexity using multiple notification policies
📌 Подробнее: https://grafana.com/blog/grafana-alerting-scale-alert-routing-without-scaling-complexity-using-multiple-notification-policies/
MemOps🤨
В Grafana Alerting появилась полезная штука для тех, у кого одним инстансом пользуются несколько команд.
Исторически маршрутизация уведомлений жила в одном общем дереве. Можно было выделить каждой команде свою ветку, но конфигурация всё равно оставалась общей. Хочешь поменять доставку алертов своего сервиса — правишь дерево, в котором живут и все соседи. С ростом числа команд удовольствие сомнительное.
В Grafana 13.2 в GA появились несколько независимых деревьев notification policies. Теперь можно завести отдельное дерево для команды или сервиса и явно направить в него алерты нужных правил. У каждого дерева — своё управление через UI, API или Terraform.
Самое полезное здесь — возможность раздельно менять и выкатывать настройки маршрутизации. Команда платежей правит свои маршруты, не затрагивая конфигурацию и состояние уведомлений платформенной команды.
Переносить всё разом тоже не требуется: существующие правила продолжат использовать политику по умолчанию, пока им не назначат другую.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Grafana Labs
Grafana Alerting: Scale alert routing without scaling complexity using multiple notification policies | Grafana Labs
Create named notification policy trees, assign alert rules to them, and manage each policy independently through the Grafana UI, API, or Terraform.
🔥2
bash-agent — минималистичная среда выполнения для ИИ-программистов. Чистый bash + awk, никаких зависимостей от среды выполнения.
📌 Подробнее: https://github.com/lloydzhou/bash-agent
MemOps🤨
Среда выполнения для агентов ИИ, созданная для реальной работы с кодом. Реализация на Bash исключает зависимости от среды выполнения, в то время как C, Go и Rust используют одну и ту же семантику сессии, инструмента, очереди отображения, events.jsonl и stream-json.
Возможности:
— никаких зависимостей - только bash, awk, curl, rg.
— четыре совместимые среды выполнения - bash/c/go/rust - используют один и тот же цикл работы агента, инструменты и семантику сессий.
— Async SubAgent - встроенный инструмент SubAgent, который делегирует подзадачи независимым сессиям, работающим параллельно, а результаты автоматически передаются обратно. Поддерживает режим fork для наследования контекста, изоляции сессий и распространения ошибок.
— компакция с учетом кэша - алгоритм DP economics решает, следует ли и в каком объеме производить компакция.
— сохранение сессии - в рамках проекта, с возможностью возобновления, с возможностью создания форка, с возможностью сжатия.
— удобен для машинного обучения - stream-json выводит структурированные события для обработки клиентом.
— система навыков - загрузка навыков по запросу без искажения будущих подсказок.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - lloydzhou/bash-agent: A minimal AI coding agent runtime. Pure bash + awk, zero runtime dependencies.
A minimal AI coding agent runtime. Pure bash + awk, zero runtime dependencies. - lloydzhou/bash-agent
👍2😁1