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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
🤖 Эхо в скриптах

Команда echo выводит текст в терминал или файл. В девопсинге она нужна для логов, проверки переменных и автоматизации задач в bash-скриптах.

Простые примеры

Без флагов добавляет перенос строки в конце.
echo "Начал деплой" покажет сообщение и перейдет на новую строку.

Флаг -n убирает перенос: echo -n "Прогресс: " и дальше текст без скачка.

-e включает escape-последовательности: echo -e "Ошибка\nПроверь /var/log/app.log" разобьет на строки.

echo "Пользователь: $USER, PATH: $PATH" выведет текущие значения.​

Для команд: echo "Дата: $(date)" вставит вывод date.

Редиректы и файлы

Запись в лог: echo "Backup завершен $(date)" >> /var/log/backup.log добавит строку без перезаписи.

tee дублирует: echo "Status OK" | tee -a deploy.log покажет в терминале и файле

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🔒 Автоматизация усиления безопасности Linux серверов

Защита Linux серверов требует комплексного подхода: отключение входа под root через SSH, установка политики смены паролей и защита от брутфорс атак с помощью fail2ban — базовые меры, снижающие риски взлома и обеспечивающие контроль доступа

Пример базового playbook, реализующего эти меры:
- name: Apply Security Hardening
hosts: all
become: yes
tasks:
- name: Disable root SSH login
lineinfile:
path: /etc/ssh/sshd_config
regexp: '^PermitRootLogin'
line: 'PermitRootLogin no'
notify: Restart SSH

- name: Set password expiration policy
lineinfile:
path: /etc/login.defs
regexp: '^PASS_MAX_DAYS'
line: 'PASS_MAX_DAYS 90'

- name: Install fail2ban
apt:
name: fail2ban
state: present

handlers:
- name: Restart SSH
systemd:
name: ssh
state: restarted


В дальнейшем можно расширять playbook настройками firewall, аудитом и обновлениями, ограничением прав или внедрением систем шифрования.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁1
📢 elementary OS 8.1 вышла

elementary OS 8.1 доступна для скачивания. За год пофиксили 1100+ багов, улучшили поддержку железа и сделали Secure Session с Wayland основной.

Secure сессия с Wayland теперь дефолтная — приложения не могут шпионить за экраном. При вводе пароля весь десктоп затемняется, фокус не крадут. Переключение между классической и безопасной сессиями без глюков запуска приложений.

Linux 6.14, Mesa 25: лучше гейминг, копирование файлов, энергосбережение AMD/Intel. Поддержка Lunar Lake, больше вебок, WiFi, геймпадов. ARM64 UEFI для Apple M-серии, Raspberry Pi, Qualcomm.

Обновлений много — все в блоге разработчиков

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Локальный Kubernetes на ноутбуке

Minikube запускает одноузловой K8s-кластер в виртуалке на вашем ПК. Идеально для изучения Kubernetes, тестов деплоев и разработки без облака. Требует 2CPU, 2GB RAM, 20GB диска и Docker/VirtualBox.

Установка и запуск

Linux:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube


Windows:
New-Item -Path 'C:\minikube' -ItemType Directory Invoke-WebRequest -OutFile 'C:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' $oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath -notlike '*C:\minikube*') { [Environment]::SetEnvironmentVariable('Path', "$oldPath;C:\minikube", [EnvironmentVariableTarget]::Machine) }


macOs:
brew install minikube


Старт:
minikube start


Базовые команды

minikube dashboard — веб-консоль

minikube status — удостовериться, что всё работает корректно

kubectl get po -A — поды во всех namespace

minikube service <service> --url — получить урл до сервиса

minikube image load myapp — загрузить локальный Docker image


Пример деплоя:
kubectl create deployment hello-minikube --image=nginx
kubectl expose deployment hello-minikube --type=NodePort --port=80


Тестируйте перед продом и без нагрузки на ваше устройство.

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🟥 Debusine переходит в бета для репозиториев

Debian запустил бета-версию репозиториев в Debusine. С помощью Debusine можно создавать репозитории, через которые можно распространять новые или дополнительные версии программ.

Сервис собирает исходники на разных архитектурах: amd64 и arm64, запускает QA-проверки и тесты. Поддерживает ветки unstable, trixie, bookworm с backports. Разработчики загружают через dput, мониторят процесс в веб-интерфейсе и решают, подписывать ли для загрузки в Debian.

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🎶 Топ-вакансий для девопсов за неделю

DevOps engineer от 250 000 ₽ до 350 000 ₽. Гибрид в Москве.

Middle DevOps Инженер от 200 000 ₽

DevOps-инженер (Senior) — до 450 000 ₽ на удалёнку.

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

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

#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматизация нового уровня: ИИ-агенты в инфраструктуре и пайплайнах

ИИ в продакшене требует взрослого подхода к обсервабилити и безопасности. Мы учим строить системы, которые легко деплоить, мониторить и поддерживать без ущерба для стабильности.

Чему вы научитесь:

обсервабилити в `LangSmith` для контроля решений нейросети и оптимизации затрат;
автоматизации через `n8n` для создания устойчивых воркфлоу интеграции агентов;
управлению состоянием в LangGraph для проектирования систем, устойчивых к сбоям;
защите периметра с помощью Guardrails для контроля трафика между LLM и сервисами.

Внедряйте ИИ-агентов по промышленным стандартам.

Подробности
🪟 Упрощаем работу с SSH

Cкрипт на bash помогает управлять подключениями к серверам. Он берет данные из ~/.ssh/config и показывает меню в dialog, где можно выбрать хост и сразу запустить нужное действие.

Скрипт строит список серверов из конфига SSH. Подключаeмся кнопкой CONNECT, а потом выходим обратно в меню командой exit.

Есть опции для просмотра дискового пространства, памяти, копирования файлов или запуска туннеля портов. Команды настраиваются в массиве cmdlist, группы серверов помечаются через комментарии

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🎅 Секретный Санта для айтишников от Proglib.academy

Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.

🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:

1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.

Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.

🎄 Акция действует до Нового года.

Win-win, всё как мы любим!
2
🛠 Ctrl + любая буква

Сохраняйте себе шпаргалку по всем командам с

Ctrl+A перемещает курсор в начало текущей строки.

Ctrl+E переносит курсор в конец строки.

Ctrl+R открывает поиск по истории команд, печатаете фрагмент и терминал подставляет совпадения.

Ctrl+стрелка вправо двигает курсор на одно слово вперед в текущей строке, позволяет перескакивать через аргументы.

Ctrl+стрелка влево двигает курсор на одно слово назад, удобно возвращаться к предыдущему параметру.

Ctrl+U вырезает все от текущей позиции курсора до начала строки и помещает в буфер, потом это можно вставить через Ctrl+Y.

Ctrl+F двигает курсор на один символ вперед, аналог обычной стрелки вправо.

Ctrl+B двигает курсор на один символ назад, аналог стрелки влево.

Ctrl+L очищает экран, как команда clear, оставляя текущую строку ввода внизу.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔄 Новый Angie 1.11.0

Angie — это форк nginx. В нём продолжают развивать HTTP 3, автоматический HTTPS и удобную конфигурацию для продакшн нагрузки.

В 1.11.0 доработали работу ACME модуля: логирование причин перевыпуска сертификатов, списка доменов и поведения при долгих периодах ожидания.

Отдельный упор сделали на HTTP 3: исправили таймауты клиентов, проблемы с проксированием и падения воркеров, при использовании динамической таблицы заголовков и кэша.

Продолжили защищаться от DoS: усилили лимиты на заголовки, количество полей и другие углы HTTP 1.x, которые исторически были источником атак.

➡️ Release notes

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🆘 Автоперезапуск сервисов скриптом

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

С этим поможет скрипт на Python:
import subprocess

SERVICE_NAME = "nginx"

def restart_service():
try:
status = subprocess.run(
["systemctl", "is-active", SERVICE_NAME],
capture_output=True,
text=True,
)

if "inactive" in status.stdout or "failed" in status.stdout:
print(f"{SERVICE_NAME} is down! Restarting...")
subprocess.run(["systemctl", "restart", SERVICE_NAME], check=True)
print(f"{SERVICE_NAME} restarted successfully.")
else:
print(f"{SERVICE_NAME} is running fine.")
except Exception as e:
print(f"Error checking service: {e}")

if __name__ == "__main__":
restart_service()


systemctl is-active возвращает состояние сервиса, по которому вы определяете, нужно ли его перезапускать.

При падении юнита скрипт выполняет systemctl restart nginx и сообщает в stdout об успешном запуске.

Как использовать на сервере

• Положите скрипт, например, в /usr/local/bin/check-nginx.py и сделайте его исполняемым.

• Добавьте cron‑задание * * * * * /usr/bin/python3 /usr/local/bin/check-nginx.py чтобы проверять сервис каждую минуту.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
2
☁️ Ожидания разработчиков от облаков

В 2025 году облачные сервисы стали базой для большинства проектов. Опрос тысячи инженеров показал, что айтишники хотят простоты, надежности и понятных цен.

Половина разработчиков тратит на облака менее 1000 рублей. 80% от всех хотят аптайм выше 90%. Треть разрабов готова перейти в другое облако из-за скидок и акций.

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤔1
WANTED: DEVOPS-ИНЖЕНЕР

Разыскивается мастер автоматизации, способный развернуть прод в любых условиях. Хватит скрываться за терминалом — твоя экспертиза нужна сообществу.

Приметы:

— умеет писать инфраструктурный код на Go или Python;
— знает всё про Kubernetes, CI/CD и облачные сервисы;
— способен структурировать хаос и обучать этому других;
— готов работать на большую аудиторию.

Суть сделки:

— гонорар за участие в образовательных проектах;
— прокачка твоего имени в DevOps-среде;
— статус эксперта Proglib Academy.

Явка с повинной

P.S. Твой коллега автоматизировал всё, даже кофеварку? Сдай его нам.
😁4
👨‍💻 Контейнер просит о помощи

Ситуация: контейнер постоянно перезапускается, в логах — Exit Code 137. Что произошло и как реагировать? Если вы сразу поняли, что это значит — вы точно дежурили на проде.

Ответ: в нашем канале с задачами

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

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

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
2
📡 Всё хорошо, когда тихо

Многие завязали алерты на Telegram-ботов, а во время недавнего сбоя узнали о проблемах только когда телеграм ожил.

Это классический пример зависимости от внешнего сервиса, который никто не мониторит и не закладывает в дизайн инцидент‑процессов.

Как проектировать доставку алертов

Для критичных компонентов системы обязательно как минимум два независимых канала: продублируйте алерты на почту или может даже в смс

Eсли интеграция с Телеграмом возвращает ошибки или не доставляет сообщения, алертинг‑система должна автоматически переключаться на другой канал и сама подсветить, что что-то не так.

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

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

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
🐱 Kitty 0.45.0

Новый релиз терминала kitty приносит свежие улучшения для тех, кто живет в терминале. Версия 0.45.0 уже доступна на GitHub с бинарниками и исходниками.

Сессии теперь сохраняют визуальный порядок табов и активный таб через новую команду focus_tab.

Добавили опцию чтения переменных окружения из login shell при запуске.

Скроллбар для скроллбэка стал удобнее с настройкой в kitty.conf.

➡️ Changelog

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
3
SRE и DevOps в эпоху AI: оркестрация автономных агентов ⚙️

Забудьте про простые скрипты. Будущее автоматизации за агентами, которые сами принимают решения. Мы научим вас ими управлять.

Темы курса:

— оркестрация агентов в n8n: создание автоматизированных воркфлоу;
— использование CrewAI и AutoGen для командной работы ботов;
— работа с протоколом MCP для интеграции AI в существующую инфраструктуру;
— настройка RAG для быстрого доступа агентов к логам и документации.

Дипломный проект: автономная группа агентов для автоматической техподдержки или мониторинга систем.

Автоматизировать всё с AI 🤖
🪩 Главное за 2025 год

Собрали ключевые релизы, инструменты и события в мире DevOps за 2025 год.

🔣 Kubernetes 1.33 «Octarine» — 64 улучшения. 18 фич стали стабильными, 20 в бете, 24 в альфе.

• Swap теперь можно включать на узлах с ядром Linux 5.4+
• Новый режим nftables для kube-proxy
• JobSet API для управления группами задач

🔣 Kubernetes 1.34 принёс:

• DRA Consumable Capacity — можно делить GPU между Pod'ами
• Changed Block Tracking для CSI — инкрементальные бэкапы томов
• Kubectl KubeRC вышел в бету

🔣 Docker Desktop активно обновлялся весь год

• 4.38 — AI Agent внутри Desktop, многоузловой Kubernetes
• 4.39 — интеграция с Docker Scout для мониторинга уязвимостей
• 4.40 — Docker Model Runner (бета) для запуска AI-моделей локально
• 4.42 — IPv6 dual-stack, MCP Toolkit
• 4.43 — улучшенный Model Runner с анализом запросов
• 4.44 — Apple Virtualization по умолчанию на Mac
• 4.46 — тихие обновления компонентов в фоне

🔣 Terraform 1.11

• Эфемерные значения — чувствительные данные больше не сохраняются в state
• Улучшенная работа с секретами

🔣 OpenTofu официально принят в песочницу CNCF. Форк стал серьёзным игроком.

• Распространение провайдеров через OCI-регистры
• Управляющая блокировка состояния в S3 без DynamoDB
• Локальная трассировка через OpenTelemetry

🔣 Grafana 12.1 — обновлённые панели, расширенные алерты, новые интеграции.

🔣 Grafana Mimir получил новый движок запросов

🔣 HashiCorp Vault Enterprise 1.19

• Эксперименты с постквантовой криптографией
• Автоматическая ротация корневых ключей
• Короткие SSH-сертификаты для Ansible

🔣 Срок действия SSL-сертификатов в сокращается до 47 дней с 15 марта 2029. Готовьтесь автоматизировать ротацию.

🔣 Argo CD 3.2

• Progressive Sync теперь умеет удалять приложения по порядку
• Новая команда get-resource в CLI
• Health-check для DatadogMetric и CronJob

🔣 GitLab 17.8

• Защищённые контейнерные репозитории
• Отслеживание экспериментов ML
• Улучшенный UI для деплоя

🔣 Инструменты года

• OSV-Scanner v2 от Google
• Grype — автономный сканер для контейнеров
• kubectx/kubens — быстрое переключение контекстов и namespace
• kubectl-neat — очистка вывода kubectl от мусора
• KubeGUI 1.8 — встроенная AI-интеграция
• JSON Crack — визуализация JSON/YAML/XML в браузере

🔣 Linux 6.17 — фиксы гонок в Bluetooth, обновления драйверов GPU и сети.

🔣 Git 2.48–2.51

• Система сборки Meson
• Reftable по умолчанию для хранения ссылок
• Оптимизации multi-pack index

🔣 Fedora 43

• Anaconda WebUI работает везде
• GNOME только через Wayland (X11 убрали)
• RPM 6.0 с поддержкой нескольких подписей

🔣 Ubuntu 24.04.2 LTS — накопленные исправления безопасности.

🔣 Что мы упоминали в канале чаще всего

Kubernetes — 132
Docker — 106
Linux — 101
Go — 80
Python — 62
GitHub — 43
Nginx — 38
Terraform — 36
Grafana — 36
AWS — 34

Больше новостей, которые не вошли в дайджест, вы можете найти по хэштегу #пульс_индустрии@devopsslib.

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

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

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
5