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

Наши курсы: https://clc.to/ZJ7Z1w

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
Как не дублировать плейбуки в Ansible

Роли — это как готовые наборы LEGO для вашей инфраструктуры. Вместо того чтобы писать однообразный код заново, вы собираете инфраструктуру из модулей. Сейчас покажем как это сделать.

1️⃣ Подготовка структуры роли

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


myrole/
├── tasks/ # Основные задачи (playbook внутри роли)
│ └── main.yml # Точка входа задач
├── handlers/ # Обработчики — команды, которые срабатывают при изменениях
│ └── main.yml
├── files/ # Статические файлы для копирования на целевые хосты
├── templates/ # Jinja2-шаблоны — конфиги с переменными
├── defaults/ # Значения переменных по умолчанию (низший приоритет)
│ └── main.yml
├── vars/ # Переменные с более высоким приоритетом
│ └── main.yml
├── meta/ # Метаинформация о роли, в том числе зависимости от других ролей
│ └── main.yml
├── library/ # Пользовательские модули (если нужны)
├── tests/ # Плейбуки и окружение для тестирования роли
└── README.md # Документация по роли — зачем, как использовать


Но для этого есть лайфхак — команда ansible-galaxy init myrole. С помощью неё можно создать всю структуру без единого mkdir.

2️⃣ Пишем задачи

Роль в Ansbile это по сути отдельный плейбук. Внутри tasks/main.yml мы опишем свои таски, которые он должен выполнять.

Пример: установим htop и создадим файл приветствия.


- name: Устанавливаем htop
apt:
name: htop
state: present
become: yes

- name: Создаём файл приветствия
copy:
dest: /tmp/welcome.txt
content: "Hello from Ansible role!»


3️⃣ Подключим роль в плейбуке

В основной плейбук нужно добавить нашу роль:


- hosts: all
become: yes
roles:
- myrole


4️⃣ Всё готово к запуску.

Остаётся только воспользоваться командой:


ansible-playbook -i inventory.ini site.yml


В Ansible Galaxy есть коллекция ролей, написанных сообществом. От самых простых до ролей, которые используются в крупных компаниях.

➡️ Посмотреть роли сообщества

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👋 Ищем IT-специалистов, которые недавно проходили IT-курсы

Если за последние 2 месяца вы где-то покупали курс или проходили интенсив, хотим узнать о вашем опыте 🔥

После какого обучения вы почувствовали реальный прогресс? А после какого осталось ощущение, что потратили время или деньги зря?


❗️ Ваш опыт поможет нам создавать программы, которые действительно приносят пользу разработчикам.

👉 Напишите в бот, о каком курсе можете рассказать и мы пришлем небольшой опросник: @proglibrary_feedback_bot

Нам нужны 10-15 человек, готовых поделиться своим опытом.

🎁 В благодарность — подписка на Cursor, Claude или другой AI-инструмент до 3 000₽, либо денежное вознаграждение.
🔥1
В Kubernetes вы хотите реализовать blue-green deployment, чтобы минимизировать риски при выкатывании новой версии приложения. Какой подход будет наиболее правильным?

👾 — Обновить Deployment стратегией RollingUpdate и выставить maxUnavailable=0
👍 — Запустить новую версию как отдельный Deployment/Service и переключить трафик на неё после проверки
🥰 — Удалить старый Deployment и сразу задеплоить новый
⚡️ — Настроить HPA (HorizontalPodAutoscaler), чтобы он автоматически включал новую версию

🐸Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👾1
Как узнать, когда вы запускали команду

По умолчанию Bash хранит историю команд без времени выполнения.

Чтобы добавить дату и время, выполните:


export HISTTIMEFORMAT="%F %T "


Теперь можно искать команды вместе с временными метками:


history | grep ssh


Полезно, когда нужно вспомнить:

когда подключались к серверу
когда запускали скрипт
когда вносили изменения вручную

А для быстрого поиска по истории используйте:


Ctrl + R


Введите часть команды — Bash найдёт совпадения прямо во время набора.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🤖 Мы научились автоматизировать поиск проблем. Но научились ли мы автоматизировать их решение?

Многие CI/CD-пайплайны умеют находить ошибки, нарушения правил и пропущенные шаги. После чего оставляют комментарий в MR и ждут, пока разработчик всё исправит вручную.

🔤 Получается странная ситуация: автоматизация есть, а работа по-прежнему остаётся на человеке.

Собрали 4 распространённых антипаттерна CI/CD, из-за которых команда делает работу вместо ботов 💡

🔗 Полный текст статьи

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2
Уже сегодня в 19:00 (МСК) стартует наш открытый урок!

Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее.

Тема:
«AI-инструменты в разработке: пишем код быстрее»


Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины.

🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei).

👉 Узнать, как ускорить разработку с AI
🔥1
🔐 OpenTofu умеет шифровать state-файлы

Многие воспринимают state как обычный технический артефакт. На практике внутри часто оказываются:

🔹 пароли
🔹 токены доступа
🔹 параметры БД
🔹 данные облачных ресурсов

🔜 Поэтому компрометация state-файла может быть не менее опасной, чем утечка секретов.

В OpenTofu есть встроенный механизм шифрования state и plan-файлов. Это позволяет защитить данные не только в удалённом backend, но и при хранении локальных артефактов.


Если используете OpenTofu в production, стоит проверить:

где хранится state
кто имеет к нему доступ
включено ли шифрование

🔗 Документация

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🔍 Как быстро узнать, какой процесс слушает порт

Порт открыт, но сервис не отвечает? Или нужно проверить, действительно ли приложение запустилось?

🔜 Используйте:


ss -tlnp


Команда покажет:

открытые TCP-порты
процессы, которые их используют
PID владельца процесса

Например, можно быстро проверить, что приложение действительно слушает нужный порт, а не просто считается запущенным.

В отличие от netstat, утилита ss входит в состав большинства современных Linux-дистрибутивов и работает заметно быстрее.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
👀 Умеете строить предсказуемую архитектуру с ИИ? Станьте спикером Proglib academy

Мы в Proglib.academy запускаем курс по Spec-Driven Development (SDD) — учим разработчиков управлять ИИ-агентами (Cursor, Copilot, Claude) через спецификации, контекст и тесты, чтобы не перепроверять за нейросетью каждую строку.

Для этого курса мы ищем классных спикеров-практиков.


➡️ Что требуется от вас?

BigTech бэкграунд: опыт работы разработчиком, тимлидом или архитектором в крупных технологических компаниях.
Опыт управляемой разработки с ИИ: вы на практике знаете, как встроить AI-инструменты в личный или командный workflow (от постановки задачи до ревью AI-кода).
Системный подход: умение превращать хаотичную генерацию кода в предсказуемый инженерный процесс (работа с архитектурой, чек-листами, легаси и покрытием тестами).

➡️ Что мы предлагаем?

● Достойную оплату за подготовку материалов и проведение занятий.
● Мощное продвижение личного бренда через медиаресурсы Proglib (наша аудитория — 1 млн+ айтишников).
● Возможность публиковать свои экспертные материалы и статьи на наших площадках.
● Доступ к сильному и закрытому профессиональному сообществу.

Также мы ищем консультанта программы.

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

➡️ Как с нами связаться:

Telegram: @alinaa_kh
E-mail: alina@proglib.io
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤖 Запускаем новый курс: «Spec-Driven Development»!

Всем надоело, что ИИ-агенты (Cursor, Claude) генерируют сотни строк хаотичного кода, который приходится переписывать. Дело не в нейросети, а в том, что вы заставляете её угадывать условия задачи.

На курсе вы освоите методологию SDD (Spec-Driven Development) — управление ИИ через спецификации (спеки) и тесты вместо «вайб-кодинга».

Как это работает?

До генерации кода вы фиксируете в спеке контракты, инварианты и граничные случаи. Документ четко определяет ЧТО делать, сводя лотерею в PR к нулю.

За 8 недель с экспертами из BigTech вы:

🔹 Встроите ИИ в личный или командный workflow.
🔹 Превратите генерацию кода в предсказуемый инженерный процесс.
🔹 Перестанете перепроверять за моделями каждую строчку.

📖 Полный разбор методологии с примерами и готовый промпт для генерации спеки — в нашей статье

👉 Освоить SDD и ускорить разработку
2
🎬 Где ломаются архитектуры ИИ-агентов и как этого избежать: запись урока от Proglib.Academy и cloud․ru

Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!

Что внутри:

— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.

👉 Посмотреть запись можно тут:
VK
YouTube
🔥1
Какова цель меток Kubernetes?

👾 — Хранить переменные среды
👍 — Шифровать данные контейнера
🥰 — Определить архитектуру приложения
⚡️ — Группировать и организовывать модули и другие ресурсы

🐸 Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
20🥱1
🧑‍💻 uv — инструмент, который объединяет pip, venv, pyenv и pipx

Вместо нескольких утилит для управления Python-окружениями можно использовать один инструмент — uv. Он объединяет работу с зависимостями, окружениями и версиями Python.

🔢 Что умеет:

Управление виртуальными окружениями:


uv venv
uv pip install -r requirements.txt


Создание окружения и установка зависимостей из lockfile одной командой:


uv sync


Запуск проекта без ручной активации окружения:


uv run python script.py


Управление версиями Python без pyenv:


uv python install 3.13
uv python pin 3.13


Запуск CLI-инструментов без установки в систему:


uv tool run ruff check .


Почему это удобно в CI/CD

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

Пример для GitHub Actions:


- uses: astral-sh/setup-uv@v6
- run: uv sync --frozen
- run: uv run pytest


Флаг --frozen гарантирует воспроизводимую сборку: зависимости устанавливаются строго из uv.lock без их пересчёта.

Не забывайте про uv.lock

uv создаёт lockfile с зафиксированными версиями и хэшами зависимостей. Его стоит хранить в репозитории так же, как package-lock.json или Cargo.lock.

⚠️ И ещё одна хорошая практика

Закрепляйте версии GitHub Actions (@v6, а не @latest). Это делает пайплайны более предсказуемыми и защищает от неожиданных изменений после обновлений.

🔗 Ссылка на GitHub

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
🔒 Запустите контейнер с минимально необходимыми правами


docker run \
--cap-drop ALL \
--cap-add NET_BIND_SERVICE \
nginx


🔴 --cap-drop ALL отключает все Linux Capabilities.

🔴 --cap-add NET_BIND_SERVICE возвращает только право слушать привилегированные порты (<1024).

Чем меньше привилегий у контейнера — тем меньше потенциальная поверхность атаки.

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

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

#root_prompt #docker #security
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🔥 Большой open source-гайд по Linux

Если хотите системно разобраться в Linux или освежить знания, обратите внимание на этот репозиторий.

Внутри собраны материалы по самым разным темам:

🔹 основы Linux и работа с терминалом;
🔹 файловые системы и управление пакетами;
🔹 безопасность и hardening;
🔹 WireGuard;
🔹 облачные технологии;
🔹 популярные дистрибутивы (Ubuntu, Debian, Fedora, Kali и другие).


Подойдёт DevOps-инженерам, разработчикам, администраторам и всем, кто хочет глубже понимать Linux.

🔗 GitHub

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

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

#арсенал_инженера #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚀 Не уверены, стоит ли переходить на зрелую ИИ-инженерию? Начните с демо-урока!

Вот-вот стартует наш курс AgentOps. Если вы сомневаетесь в формате, просто оставьте заявку и получите бесплатный демо-урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».

Для тех, кто готов мощно прокачать портфолио, прямо сейчас действует предложение «3 любых курса по цене 1»:
— При покупке VIP-тарифа (осталось 4 места) нового потока «ИИ-агенты» вы получаете в подарок доступ к курсу «AgentOps» + ещё один любой курс Академии на выбор

— В деньгах это два топовых курса по автоматизации и контролю ИИ всего за 134.000 ₽ вместо 263.000 ₽ 🔥 А за счет третьего курса (например, можно выбрать «Математику») вы соберете мощный стек и освоите целое востребованное направление.

— Платеж можно разбить на несколько частей с помощью беспроцентной рассрочки.


👉 Получить демо-урок и зафиксировать спецпредложение 3 в 1
😁2