Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Ko'proq ko'rsatish📈 Telegram kanali Библиотека девопса | DevOps, SRE, Sysadmin analitikasi
Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 393 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 449-o'rinni va Rossiya mintaqasida 61 235-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 393 obunachiga ega bo‘ldi.
27 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 6 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 10.22% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 4.22% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 062 marta ko‘riladi; birinchi sutkada odatda 439 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 1 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent devops'a, навигация, скрипт, docker, git kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 28 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
build) компилирует код. Ей не нужны никакие облачные креды вообще. Если они там есть — уберите.
• Задача тестирования (test) работает с тестовыми данными. Она не должна видеть продовые креды. Заведите отдельные credentials для тест-окружения с доступом только на чтение к тестовой базе.
• Задача деплоя (deploy) — единственная, которой нужны продовые секреты. И только те, что нужны именно для деплоя, ничего лишнего.
Раз в квартал проводите аудит секретов. Удаляйте всё, что не используется ни одной задачей прямо сейчас.
Пример для GitHub Actions
GitHub Actions позволяет привязать секреты к конкретным environments. Продовые секреты становятся доступны только при деплое в production, а не во всех задачах подряд:
jobs:
test:
runs-on: ubuntu-latest
# Продовых секретов здесь нет
# Тесты используют моки или тестовую базу
env:
DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}
deploy:
runs-on: ubuntu-latest
environment: production # Отдельный scope секретов + требует подтверждения
needs: test # Запускается только после успешных тестов
env:
# Продовые секреты доступны только здесь
AWS_ROLE_ARN: ${{ secrets.PROD_AWS_ROLE_ARN }}
Ключевой момент: параметр environment: production не просто логическая метка. Он изолирует секреты этого environment от других задач и, по умолчанию, требует ручного подтверждения перед запуском деплоя.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptCONFIG_M486, CONFIG_M486SX и CONFIG_MELAN, а из Makefile уберут флаг компиляции -march=i486.
Сами процессоры i486 перестали производить ещё в начале 2000-х. Поддержка их в ядре держалась только благодаря инерции, но технически она давно стала проблемой. i486 не умеет выполнять инструкции для атомарного обмена 8 байт и не имеет счётчика тактов процессора, нужного планировщику.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрииЗачем глубоко копать мультиагентные системы, если можно обойтись старым добрым кодом? Как контролировать расходы на токены, чтобы новая фича не разорила бизнес? Как заставить агента работать стабильно и предсказуемо, а не галлюцинировать?Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы. Стартуем завтра. Для участия и доступа к программе переходите по ссылке.
.bashrc или .zshrc убирают эти паузы.
Создать папку и сразу зайти в неё:
mkcd() {
mkdir -p "$1" && cd "$1"
}
Флаг -p создаёт все промежуточные директории, если их нет. Работает с вложенными путями без дополнительных усилий.
Подняться на несколько уровней вверх:
up() {
local d=""
for ((i=1;i<=$1;i++)); do
d+="../"
done
cd "$d"
}
Если вы глубоко внутри проекта, up 3 заменяет cd ../../... Не нужно считать точки и слэши вручную. Просто передаём число уровней.
Найти файл по имени:
ff() {
find . -type f -iname "*$1*"
}
Обёртка над find с поиском без учёта регистра. Удобно, когда помним часть имени файла, но не знаем точный путь. В больших репозиториях работает быстрее, чем ручная навигация.
Найти директорию по имени:
fd() {
find . -type d -iname "*$1*"
}
То же самое, но ищет только директории. Заменяет несколько попыток cd с угадыванием пути.
Как подключить
Добавьте функции в конец файла ~/.bashrc или ~/.zshrc, затем выполните:
source ~/.bashrc
После этого функции доступны в любом новом терминале.
Четыре небольших дополнения, и часть рутины исчезает. Это не революция, просто меньше лишних нажатий за день.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptРабота с AI начинается с систем. Системы — с AgentOps.🔥 Забрать скидку и изучить программу.
ConfigMap обновлён. Что происходит дальше в работающем поде?
piVersion: v1 kind: ConfigMap metadata: name: app-config data: LOG_LEVEL: "info" DB_POOL_SIZE: "10"Вы меняете
LOG_LEVEL на debug. Применяете через kubectl apply. Под работает, не перезапускался.
Приложение видит info или debug?
➡️ Ответ тут
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#задача_со_звёздочкой#!/bin/bash
set -euo pipefail
LOG_FILE="/var/log/myscript.log"
log() { echo "[INFO] $(date '+%H:%M:%S') $1" | tee -a "$LOG_FILE"; }
warn() { echo "[WARN] $(date '+%H:%M:%S') $1" | tee -a "$LOG_FILE"; }
error(){ echo "[ERROR] $(date '+%H:%M:%S') $1" | tee -a "$LOG_FILE"; exit 1; }
log "Script started"
warn "Config file missing, using defaults"
error "Database connection failed" # здесь скрипт остановится
Три уровня: log для обычных событий, warn для подозрительного, error для критического с немедленным выходом.
tee -a пишет одновременно в терминал и в файл. Флаг -a означает append, то есть каждый запуск дописывает в конец, а не перезаписывает лог с нуля.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptjobs:
build:
runs-on: ubuntu-latest
steps:
# Добавьте этот шаг ПЕРВЫМ в каждом job
- uses: step-security/harden-runner@v2
with:
egress-policy: audit # 'audit' только логирует, 'block' блокирует
allowed-endpoints: > # белый список разрешённых эндпоинтов
registry.npmjs.org:443
github.com:443
objects.githubusercontent.com:443
- uses: actions/checkout@v4
- run: npm ci
# Любое соединение с sfrclak.com теперь попадёт в логи безопасности
Два режима работы
В режиме audit Harden-Runner пишет в лог все исходящие соединения, ничего не блокируя. Это безопасный старт: билды не ломаются, но вы видите реальный сетевой профиль своего пайплайна.
Когда понимаете, какие соединения для вас нормальные, переключаетесь на block с белым списком. Любое неожиданное исходящее соединение сразу роняет билд.
Начните с audit, посмотрите на трафик неделю, потом переходите на block. Большинство легитимных билдов ходят в три-пять известных эндпоинтов, и белый список для них составляется за пять минут.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженераh() {
history | tail -n "$1"
}
Вызываете h 20 и получаете последние 20 команд.
Поиск по истории:
hg() {
history | grep "$1"
}
Когда помните только часть команды, hg docker или hg ssh быстро находит всё, что вы когда-либо запускали с этим словом.
Положите обе функции в ~/.bashrc или ~/.zshrc и перезагрузите конфиг:
source ~/.bashrc
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptMicrosoft.PowerShell.Native собиралась новым инструментом, несовместимым с Alpine.
Следом в ноябре добавились новые требования по комплаенсу: пришлось менять инструменты упаковки пакетов для не-Windows-платформ. Это сдвинуло выход исправлений с октября на декабрь.
В декабре вышел preview.6, но из-за заморозки изменений на праздники и ограниченной доступности ключевых людей не удалось опубликовать пакеты в PMC и NuGet.
В январе 2026-го всплыла ещё одна проблема: библиотека libpsl-native на RHEL 8 требовала сборки под glibc 2.28, а не 2.33, которую использовали для RHEL 9 и выше.
Команда честно признала системные сбои в процессе. Не было чёткого владельца релиза, не хватало структурированного отслеживания состояния, а замедление цикла preview-версий означало, что проблемы обнаруживались поздно, когда их исправление обходилось дороже.
Что теперь меняется: команда назначила явного ответственного за каждый релиз, настроила внутренний трекинг блокеров, восстанавливает регулярный график preview и упрощает систему сборки пакетов.
➡️ Блог разработчиков
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётов