es
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Ir al canal en Telegram

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

Mostrar más

📈 Análisis del canal de Telegram Bash Days | Linux | DevOps

El canal Bash Days | Linux | DevOps (@bashdays) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 23 741 suscriptores, ocupando la posición 5 571 en la categoría Tecnologías y Aplicaciones y el puesto 27 919 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 23 741 suscriptores.

Según los últimos datos del 30 julio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 7, y en las últimas 24 horas de 0, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 22.02%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 12.73% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 5 228 visualizaciones. En el primer día suele acumular 3 023 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 22.
  • Intereses temáticos: El contenido se centra en temas clave como bashdays, linux, bash, docker, скрипт.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 31 julio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

23 741
Suscriptores
Sin datos24 horas
+547 días
+730 días
Archivo de publicaciones
🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source Один день, 500 участ
🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source
Один день, 500 участников, 30+ докладов, 3 трека — концентрат практического опыта, знаний и инструментов, готовых к внедрению сразу по возвращению в офис. И, конечно, мега-возможности для нетворкинга с коллегами и экспертами сообщества!
Что будем обсуждать? 🔘Инструменты и примеры отладки, виртуализации, оптимизации производительности 🔘Практический опыт оптимизации сетевых решений с DPDK 🔘Эффективные методы безопасной разработки ядра Linux 🔘Реальные кейсы создания драйверов на Rust 🔘Все про GPU, NPU, ASIC и как запускать AI на железе под Linux и не только. Как AI встраивается в современную разработку 🔘Современные подходы к разработке системного и embedded ПО Участие бесплатное, но количество мест ограничено — зарегистрируйтесь прямо сейчас💻 Ждем вас на крупнейшей конференции по разработке системного ПО и Linux в России! Реклама. ООО «Конференции Олега Бунина», ИНН: 7733863233, Erid: 2Vtzquk6F9T

А у нас сегодня на повестке интересная «темка» — Автоматическая очистка tmp-файлов даже после SIGTERM.
Как говорится — Волков бояться, в лесу не ебаться!
Пишем подопытный скрипт:
#!/usr/bin/env bash
set -e

temp=$(mktemp)
echo "Создал файл: $temp"

false

echo "Удаляю файл"
rm -f "$temp"
Чмодим, запускаем, ага скрипт упал на false, но успел создать временный файл в папке /tmp == /tmp/tmp.oWQ0HiYxSV. И он не удалился. Скрипт вернул статус == 1; Код выходы проверить так:
echo "код: $?"
Здесь я взял синтетику, показать наглядно этот случай. Суть «темки» — подчищать за собой, при любых обстоятельствах, даже если скрипт вернул ошибку, либо завершился успешно. Снова изобретать велосипед? Неа! Всё это работает из коробки.
#!/usr/bin/env bash
set -e

temp=$(mktemp)
echo "Создал файл: $temp"

trap 'echo "Удаляю $temp"; rm -f "$temp"' EXIT
echo "Эта строка уже не выполнится"

false
В этом случае скрипт также вернет код 1, но временный файл будет удалён при любом раскладе. Нихуя непонятно, но очень интересно. Смотри — trap вызывает rm ПРИ ВЫХОДЕ ИЗ СКРИПТА. И похуй с каким статусом был завершен скрипт. Временный файл будет гарантированно удалён. Давай подключим strace:
strace -e trace=process,signal bash -c '
  tmp=$(mktemp)
  trap "rm -f $tmp" EXIT
  echo "tmp=$tmp"
'
В выхлопе видим:
openat(AT_FDCWD, "/tmp/tmp.Dn2qG3uK9V", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
rt_sigaction(SIGINT, {sa_handler=0x...}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x...}, NULL, 8) = 0
unlink("/tmp/tmp.Dn2qG3uK9V") = 0
exit_group(0) = ?
openat(... O_EXCL) — это mktemp, создающий файл атомарно rt_sigaction() — Bash ставит ловушки для сигналов unlink() — это и есть выполнение trap exit_group(0) = ? — завершает процесс То есть Bash вызывает rm/unlink() ДО выхода из процесса. Почему trap срабатывает? Если скрипт упал или получил сигнал kill -TERM <pid>, то на уровне Bash: — в обработчике сигнала вызывается registered trap — затем Bash падает/выходит — trap УЖЕ успел выполнить команду очистки trap выполняется ДО того, как процесс отдаст SIGTERM ядру, если только ловушка для этого сигнала была установлена. Да банально при выполнении скрипта ты нажал CTRL+C, скрипт остановился, НО временные файлы сразу подчистились.
➡️ Про exit codes (коды выхода) писал тут. ➡️ Про сигналы писал ранее тут и тут и тут и тут.
Вот такие пироги! С пятницей и хороших тебе предстоящих выходных! 🛠 #bash #debug #strace 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

👩‍💻 Открытый урок «Custom Resource Definitions (CRD) в Kubernetes. Операторы: автоматизация на новом уровне». 🗓 3 декабря
👩‍💻 Открытый урок «Custom Resource Definitions (CRD) в Kubernetes. Операторы: автоматизация на новом уровне». 🗓 3 декабря в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Инфраструктурная платформа на основе Kubernetes». Программа вебинара: ✔️ Что такое Custom Resource Definitions (CRD) и зачем они нужны. ✔️ Как создать и зарегистрировать собственный CRD. ✔️ Примеры использования CRD в продакшн-кластерах. ✔️ Что такое операторы, их роль и принципы работы. ✔️ Как CRD и операторы помогают автоматизировать управление ресурсами и снижать нагрузку на инженеров. В результате вебинара: - Поймёте, как с помощью CRD и операторов расширять возможности Kubernetes. - Научитесь автоматизировать управление пользовательскими ресурсами и упрощать поддержку инфраструктуры. - Получите базу для создания собственных операторов и интеграции их в CI/CD. 🔗 Ссылка на регистрацию: https://vk.cc/cRJKCS Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Docker Privileged VS Non-privileged
Как говорится — «Нам нужно досье на этого мисье»
Давай сразу к примерам: ➡️ Non-privileged Ты ребёнок, тебя посадили в песочницу, дали совок и формочки, сказали — слышь еблан, играть можно только здесь! Ты можешь: — лепить куличики и кренделя — копать ямки и могилки для жуков — сыпать песочек в глаза другим детям — строить свой маленький мир Ты не можешь: — вылазить из песочницы — пойти на стройку и доебывать сторожа — насрать в ладошку и кидаться этим в людей — послать всех нахуй и сделать по своему Ты работаешь строго в пределах песочницы. Безопасно, предсказуемо, контролируемо, изолировано. Ты бездушный non-privileged контейнер. ➡️ Privileged Ты ребёнок, но всем на тебя поебать, ты сам выбираешь сидеть тебе в песочнице или кидаться с балкона кирпичами в пустые головы прохожих. У тебя развязаны руки, любые безумные поступки позволительны. У тебя есть ключи от всех дверей и тебе за это ничего не будет. Всё это происходит, когда ты запускаешь:
docker run --privileged
Твой контейнер может: — управлять сетевыми интерфейсами хоста — лезть в /dev — монтировать что угодно куда угодно — работать как полноценная виртуалка — запускать systemd, модифицировать ядро, iptables, модули и т.п То есть, это уже не ребёнок в песочнице, а ребёнок со швейцарским армейским ножом, запертый в серверной. ➡️ Non-privileged (обычный контейнер) - Ограниченный доступ к Linux capabilities - Нет доступа к аппаратным устройствам - Нет прав на управление сетью хоста - Запуск отдельных процессов, а не мини-ОС - Работает в namespace'ах и cgroup'ах изоляции Используется для: - веб-сервисов - приложений - баз данных - CI/CD runner’ов (если привилегия не нужна) - всего, что «из коробки» работает в Docker ➡️ Privileged (контейнер-всевластия) - Доступ ко всем Linux capabilities - Может лезть в /dev, работать с устройствами - Может менять сетевые интерфейсы хоста - Может работать как виртуалка - Может запускать systemd - Может cломать или убить сеть, firewall и модули ядра Используется для: - контейнеров, которым нужны реальные устройства - low-level инструментов: tcpdump, wireshark, iptables - Docker-in-Docker в особых сценариях - Kubernetes kubelet / CNI плагины - экспериментов, когда нужно «полный root над всем» Что выбрать? Мой алгоритм:
Задача не требует низкоуровневых операций? ⚪ всегда non-privileged. Нужно одно конкретное действие (например NET_ADMIN)? ⚪ --cap-add вместо privileged. Нужен доступ к устройству? ⚪--device вместо полного доступа. Ничего из этого не помогает? ⚪ тогда уже --privileged.
В большинстве случаев лучше выдать минимум необходимых прав, чем сразу открывать ящик пандоры. Ну и для отладки privileged прям мастхев, чтобы исключить какие-то внешние факторы, от которых могут лезть баги. На днях продолжим… 🛠 #linuxfactory #linux #docker 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Скидка 50% на менеджер паролей Пассворк Чёрная пятница в Пассворке стартует 24 ноября и продлится до 5 декабря. В эти дни буд
Скидка 50% на менеджер паролей Пассворк Чёрная пятница в Пассворке стартует 24 ноября и продлится до 5 декабря. В эти дни будет действовать скидка 50% на покупку коробочного решения. Что даёт Пассворк вашей компании Централизованное управление конфиденциальными данными. Всё остаётся в вашей инфраструктуре. Сотрудники быстро находят нужную информацию, администраторы управляют правами доступа, отслеживают все действия и изменения — полный контроль и безопасность. Почему Пассворк • Включён в единый реестр Минцифры • Имеет все необходимые лицензии ФСТЭК и ФСБ • Качественная и оперативная поддержка • Все пароли и секреты хранятся на ваших серверах • Регулярные обновления и сопровождение на каждом этапе • Опыт внедрения в системообразующие предприятия страны • Сертифицирован с Astra Linux, РЕД Софт, МСВСфера, Pangolin DB, ОС Атлант и многими другими российскими решениями Пассворк создан для компаний и государственных учреждений, которым нужна проверенная безопасность. Всё упорядочено, защищено и всегда под рукой. Приобрести Пассворк со скидкой 50%

Подработка на разработку! Мой хороший товарищ попросил закинуть, закидываю. Мож у кого-то команда разработчиков простаивает, ну либо договоритесь выполнить какую-то часть работ в плане инфраструктуры. Короче, за подробностями пишите Марии, все расскажет и покажет 👇 @marysako_py чтобы вопросов не было — публикация ТЗ и контактов согласованы

Карьерный рост в информационной безопасности требует не только знаний, но и практического опыта. Платформа онлайн-тренингов «
Карьерный рост в информационной безопасности требует не только знаний, но и практического опыта. Платформа онлайн-тренингов «Лаборатории Касперского» по кибербезопасности предлагает уникальную возможность — обучение на реальных кейсах из практического опыта мировых экспертов компании. В программе курсы по: • Реверс-инжинирингу и анализу вредоносного ПО • Реагированию на инциденты и цифровой криминалистике • Поиску угроз с помощью современных инструментов Все тренинги включают работу в виртуальных лабораториях с доступом 24/7. Формат самообучения подходит даже занятым специалистам. Сделайте практические навыки своим конкурентным преимуществом. Реклама. АО "ЛАБОРАТОРИЯ КАСПЕРСКОГО", ИНН: 7713140469

Как я обновил Proxmox и остался жив Здрасти, приехали. Сегодня будем обновлять proxmox 8 на 9.1 Оно в принципе и необязательно, но очень хотелось потыкать новую фичу с OCI.
OCI это способ запускать контейнеры из Docker-образов. То есть proxmox теперь умеет скачивать Docker-образы (OCI-images) и превращать их в LXC-контейнеры.
А нахуя? Чтобы проще запускать приложения, которые уже существуют в виде Docker-образов. Теперь в LXC не нужно поднимать отдельно докер демон, все работает из коробки. Ладно, отвлеклись. Про OCI отдельно распишу. Сегодня обновляем всю эту трихомудию до нужной версии. Бекапить я ничего не буду, бекапы для слабаков. Но ты меня не слушай, делай правильно и подстилай соломку.
Даже если у меня всё пойдет по пиздец, это отличный кейс, чтобы отдебажить проблему и решить её.
По классике сюда всё не влезло, поэтому гоу в блог читать продолжение 👇 🅰️🅰️🅰️🅰️🅰️🅰️🅰️🅰️ ➡️ https://two.su/4ui2c 🅰️🅰️🅰️🅰️🅰️🅰️🅰️🅰️ 🛠 #proxmox #devops #selfhosting 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Надёжность сервисов — это не “бонус”, а фундамент. Любой сбой, простои или утечка — это потерянные деньги, репутация и довери
Надёжность сервисов — это не “бонус”, а фундамент. Любой сбой, простои или утечка — это потерянные деньги, репутация и доверие пользователей. Если вы работаете с продакшн-системами, пришло время прокачать инженерное мышление в духе SRE. 🔥 Курс «SRE: практики и инструменты» от OTUS покажет, как инженеры крупнейших компаний выстраивают работу так, чтобы сервисы не падали, а росли под нагрузкой. Вы научитесь: - управлять надёжностью, - автоматизировать эксплуатацию, - устранять инциденты до того, как они станут проблемой. Всё это через практику: Kubernetes, Prometheus, Terraform, Ansible, Python. После курса вы сможете не просто “чинить” инфраструктуру, а проектировать её с нуля — устойчивую, наблюдаемую, масштабируемую. ➡️ Пройдите короткое вступительное тестирование, получите скидку и закрепите за собой место на курсе: https://vk.cc/cRDLsU Старт 27.11.2025! Промокод на скидку: SRE_En_11 до 07.12.2025 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

А вот это нам надо! TUI админка для Proxmox. И да, ее можно поставить себе локально и цепануть к ней все твои Proxmox кластер
А вот это нам надо! TUI админка для Proxmox. И да, ее можно поставить себе локально и цепануть к ней все твои Proxmox кластера, которые находятся где-то в сети. Называется всё это добро — pvetui Работает под всеми операционками, так как реализован на GO. А зачем? Ну я заебался каждый раз лезть в браузер, чтобы сделать какие-то рутинные действия, да и айпишники я никогда не помню чтобы к ним по ssh подключиться. А через pvetui такое можно провернуть в два счета.
Ты скажешь — дак сделай алиасы для айпишников и цепляйся к нужным виртуалкам. Справедливо, но мне лень. Тем более виртуалки у меня постоянно создаются, удаляеются и я ебал каждый раз алиасы делать.
Установка и запуск:
go install github.com/devnullvoid/pvetui/cmd/pvetui@latest
/home/user/go/bin/pvetui
Под другие ОС:
yay -S pvetui-bin
yay -S pvetui-git
brew install --cask devnullvoid/pvetui/pvetui
scoop bucket add pvetui https://github.com/devnullvoid/scoop-pvetui
scoop install pvetui

# либо из исходников
git clone https://github.com/devnullvoid/pvetui.git
cd pvetui
make install
При первом запуске утилита попросит сконфигурировать её. Жмем пару раз Enter, открывается редактор конфига, заполняем необходимые поля. Я заполнил URL, логин и пароль от панели Proxmox. Чтобы оно не орало, нужно стереть данные в полях API, тогда оно даст сохранить конфигурационный файл.
Но опять же если у тебя API ключ, делаешь под своё конфигурацию.
Инициализация, закончена, видим сообщение:
✅ Configuration is ready!
🔄 Please re-run 'pvetui' to start the application with your new configuration.
🚪 Exiting.
Запускаем морду и смотрим что получилось.
/home/user/go/bin/pvetui
Эту штуку можно повесить на alias либо прописать в PATH, чтобы полные пути до бинарника каждый раз не писать. А получилось у нас прям заебись. Теперь я нажимаю ALT+2 и попадаю в список всех своих виртуальных машин. Стрелочками выбираю нужную мне машину и нажимаю букву «m», открывается менюшка. В менюшке можно сразу провалиться в машину по SSH, что мне и нужно. Но это еще не всё, там и ребуты и миграции, даже VNC есть (нужен xdg). Короче базовый минимум поадминить присутствует. Да, если нажать «ESC» то откроется еще одна глобальная менюшка для конфигурации самой утилиты, выбор профилей, управление плагинами и т.п. Короче явки-ссылки я тебе дал, дальше сам смотри, всё там гибко конфигурируется и настраивается. И тем более TUI интерфейсы сейчас прям в трендах. Хорошей тебе рабочей недели! Не болей! 🛠 #selfhosting #linux #devops 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Недавно я обмолвился про Karpenter в Selectel, ну так вот, теперь этот инструмент можно потыкать в реальных условиях.
Если запамятовал, то Karpenter это штука, разработанная AWS, которая позволяет масштабировать инфраструктуру и снижать затраты.
Работает это так — сервис обладает информацией о доступных ресурсах и ценах, а далее автоматически подбирает конфиги в зависимости от твоих хотелок. Киллер-фича — создание оптимальных узлов под фактическую нагрузку, а не предварительное масштабирование определенных node groups. По итогу автоскейлинг становится быстрее, дешевле и умнее. Karpenter создает идеальные ноды под конкретные поды «на лету», а не выбирает из заранее заданных node groups. Мир меняется, технологии меняются. Установи Karpenter в Managed Kubernetes и оптимизируй расходы на инфраструктуру → https://slc.tl/hr1d3
Если Karpenter молчит — это не значит, что он завис. Это значит, что он думает, как сделать ещё дешевле. 🥳
Реклама, АО «Селектел», erid: 2VtzqvvWPbP

Надоел и приелся VirtualBox/VMWare? Хочется новенького? Да легко, опять же эта новая херабора как-то мимо многих прошла, вклю
+3
Надоел и приелся VirtualBox/VMWare? Хочется новенького? Да легко, опять же эта новая херабора как-то мимо многих прошла, включая меня. Нет это не LXC, vagrant и даже не docker.
Дело пахнет писюнами…
Короче, это — Multipass от Canonical. И да, полностью бесплатная и с мордой. Выдумать ничего не буду, лови нативку с сайта:
Получите по ебалу мгновенную виртуальную машину Ubuntu с помощью одной команды. Multipass может запускать виртуальные машины и настраивать их с помощью cloud-init, как в общедоступном облаке. Прототип вашего облака запускается локально и бесплатно.
Работает под Linux, Wiundows, Mac Что же это за зверь? Multipass использует доступный гипервизор в зависимости от платформы: - Linux — KVM - macOS — HyperKit или QEMU - Windows — Hyper-V или VirtualBox (в новых версиях QEMU) Можно управлять как через морду, так и через командную строку. Это развязывает руки. Например, можно накодить себе bash скрипт и через него поднимать виртуалки под лабы. Чё прикольно, для него есть Terraform провайдер, ну прям не инструмент, а золото.
terraform {
  required_providers {
    multipass = {
      source  = "larstobi/multipass"
      version = "~> 1.4.2"
    }
  }
}
Работает элементарно, если через морду — выбираешь дистрибутив, накручиваешь ползунки и жмешь Launch, через 40 секунд у тебя готовая виртуалка. Ну либо headless (через командную): Основные команды:
multipass launch --name foo
multipass exec foo -- lsb_release -a
multipass list
multipass stop foo bar
multipass start foo
multipass delete bar
multipass purge
multipass find
multipass launch -n bar --cloud-init cloud-config.yaml
multipass help
Из дистрибутивов только Ubuntu, но этого достаточно чтобы что-то протестировать либо погонять. Ребята в LF активно этим инструментом пользуются и создают тестовые кубер-кластера, ну и ансибл оттачивают. Настроек там жопой ешь, так что можно и статические айпишники мутить, выбирать сетевые режимы и многое другое. В общем рекомендую, инструмент зачетный, никакой ёбли как VBox и VMWare. 🛠 #devops #vm #linux 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

K2 Cloud собирает сетевых инженеров на митап 🌐 28 ноября эксперты из K2 Cloud, Positive Technologies, Avitotech, Wildberries
K2 Cloud собирает сетевых инженеров на митап 🌐 28 ноября эксперты из K2 Cloud, Positive Technologies, Avitotech, Wildberries & Russ и Точка Банка встретятся на митапе «Поговорим про сети» Что будем делать: — разберем метрики, которые спасают продукт; — научимся «гадать» по сетевым пакетам; — сыграем в сетевую версию игры «100 к 1». Опыт из очень разных инфраструктур и LinkMeUp в роли ведущего — регистрация по ссылке

Разбираемся с options и inputs в gitlab ㅤ Частенько ребята с LF стали приходить с такой проблемой: stages: - deploy variables
+3
Разбираемся с options и inputs в gitlab Частенько ребята с LF стали приходить с такой проблемой:
stages:
  - deploy
variables:
  ENVIRONMENT:
    description: "Deployment environment"
    value: "N/A"
    options:
      - "N/A"
      - "STAGE"
      - "PRODUCTION"
deploy:
  stage: deploy
  script:
    - echo "Выбрано окружение:" "${ENVIRONMENT}"
  rules:
    - when: manual
Это кусок говна пайплайна, который при запуске формирует выпадающий список окружений, выбираешь окружение и деплой проходит в него.
НО — этот список перестал появляться. Причем избрано, у кого-то есть, у кого-то хуй с маслом.
Ошибок синтаксиса в ямликах нет, каких-то разумных сообщений и наводок от гитлаба тоже нет. Чё делать? ➡️ Решение Идем: Settings → CI/CD → Variables и кликаем в радио-батон — Developer. Всё! Теперь выпадающие списки вновь начинают работать. А еще людей смущает новая штука inputs, которая совсем недавно появилась. Работает она с 17й версии.
spec:
  inputs:
    environment:
      description: "Куда деплоим?"
      type: string
      default: "N/A"
      options:
        - "N/A"
        - "STAGE"
        - "PRODUCTION"
---
stages:
  - deploy

deploy:
  stage: deploy
  rules:
    - when: manual
  script:
    - echo "Выбрано окружение: $[[ inputs.environment ]]"
Оно будет пиздеть во внутреннем редакторе - Incorrect type. Expected "string | array".yaml-schema, но будет работать если запустить пайплайн.
Ошибка возникает, потому, что Pipeline Editor использует старый YAML-валидатор. Так что, не обращай внимание на этот пиздёж.
А зачем нам этот input ведь с options и так всё работает? Ну хотя бы из-за типизированных параметров:
type: string | number | boolean | array
То есть: - можно сделать чекбокс (boolean) - можно сделать список (array) - можно сделать ограничение по диапазону (number) - можно сделать строгие варианты (options) - можно сделать regex-валидацию А обычный variables такого не умеют. GitLab постепенно превращает CI в настоящий «Pipeline as Functions». Например, в проекте А:
spec:
  inputs:
    env:
      type: string
      options: [stage, prod]
---
deploy-job:
  script: deploy_to $[[ inputs.env ]]
И проекте B можно вызвать:
deploy:
  trigger:
    project: A
    inputs:
      env: prod
Это как вызов функции с аргументом. Что еще: - Inputs работают даже при trigger-пайплайнах - Inputs могут быть required - Inputs отображаются отдельно и аккуратно в UI - Inputs часть нового стандарта GitLab CI Components Короче одни плюсы. Но есть большое НООООО! Это пиздец усложняет процесс разработки и отладку пайплайна. Да, стало удобнее и гибче, но всё это превращается в безумное ООП, где без базы и документации к проекту — ты хуй разберешься. Пока тебе хватает обычных options используй их. Не лезь в это ООП, оно пока рано и избыточно, особенно если ты новичок. Изучай! Как говорится — и не такие метели в ебало летели! 🛠 #devops #cicd #linuxfactory 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Инсайдер — это не миф, а реальный источник угроз для любой компании. Ошибки сотрудников, скомпрометированные учётные записи и
Инсайдер — это не миф, а реальный источник угроз для любой компании. Ошибки сотрудников, скомпрометированные учётные записи или злонамеренные действия изнутри часто становятся причиной инцидентов, которые не ловит ни один firewall. На открытом уроке вы узнаете, как выявлять уязвимости и закрывать их до того, как ими воспользуются. Разберём реальные сценарии атак: злонамеренные, скомпрометированные и небрежные пользователи. Покажем, как безопасно имитировать инсайдерские атаки в инфраструктуре — от credential dumping и анализа путей в Active Directory до ролевых симуляций red team и grey-box подхода. После урока вы получите готовую структуру сценария для имитации инсайдерских угроз и чек-лист мер по детекции и снижению рисков. Мы обсудим метрики, подходы к анализу инцидентов и способы усилить технические и организационные меры — IAM, UBA/UEBA, DLP и политики доступа. Занятие будет полезно пентестерам, специалистам SOC, инженерам ИБ, архитекторам и тем, кто отвечает за контроль доступа и безопасность инфраструктуры. 24 ноября, 20:00 МСК. Открытый урок проходит в преддверии старта курса «Пентест. Инструменты и методы проникновения в действии». Регистрация открыта: https://vk.cc/cRpLv9 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Всем зрасти. Забирайте спеца на работу. Codename: Андрей Rank: Овер-преисполнившийся Linux-админ
⚪ Последнее время активно занимается мониторингом, особенно Zabbix, хотя может и в пром с графаной
⚪Помогал мне тестировать и писать шаблоны для PVE/PBS и эта штука с небольшими видоизменениями с 6го заббикса стала официальной
⚪Отлично разбирается в Linux, с закрытыми глазами разберет и соберет ядро с учетом нюансов железа и ПО
⚪Кубер не уважает, к ансиблистам относится очень настороженно
⚪Владеет светлой магией Bash, тёмной магией Perl, и немного Python
Контакт: @egoza73 🛠 #кандидаты #кадры 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Даже двухнедельный отпуск не принесёт столько удовольствия, как хорошая партнёрка от Selectel.
Вредный совет: Если тебя спрашивают — где разместить инфраструктуру, предложи случайный и непроверенный хостинг из гугла, пусть страдают!
А если серьёзно — никакой магии. Советуй надёжного провайдера с 17-летним опытом, шестью ЦОДами и инфраструктурой под любые нужды — и получай до 15% на баланс.
На эти 15% арендуешь сервачок и бесплатно хостишь на нём свой личный блог про девопс-потуги и разработку. Ну или гоняешь пайплайны в личном гитлабе.
В партнерской программе Selectel всё честно, прозрачно и самое главное — надежно! Проверял сам. Год назад я ради интереса залетел в программу, и знаешь, зашло! Так что потыкай, за спрос не ударят в нос: Зарегистрироваться: https://slc.tl/mtgzq 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 😞😔😟😕🙁☹️😣😖 😫😩🥺😢😭😤😠😡 Серверы крутятся — проценты мутятся! в ссылке моей рефки нет, так что не ссы — навариваться на тебе я не стану… Реклама, АО «Селектел», erid: 2VtzqxCY6hn

Load Average на пальцах Все про него знают, но не все понимают. Давай рассмотрим такие цифры:
0.30  1.20  0.80
1. За последнюю 1 минуту средняя очередь = 0.30 2. за 5 минут = 1.20 3. за 15 минут = 0.80 Сразу куча вопросов, а что такое «очередь»? «очередь» == количество задач, которые хотят работать прямо сейчас, но процессоров не хватает, чтобы заняться всеми сразу. ➡️ Главное правило Сравниваем Load Average с количеством ядер. - У тебя 4 ядра → нормальная нагрузка = до 4.0 - У тебя 1 ядро → нормальная нагрузка = до 1.0 - У тебя 8 ядер → нормальная нагрузка = до 8.0
🟢 Всё в порядке: - LA ≤ количество ядер → CPU успевает всё делать, очередей нет. 🟡 Чёт уже не то, подгрузилось: - LA ≈ количество ядер × 1–2 → процессы начинают стоять в очереди, но система пока еще жива. 🔴 Жопа: - LA сильно > количества ядер → процессы стоят в очереди, всё тормозит.
➡️ Теперь на котиках Ты стоишь в магазине: - 1 касса, 1 человек в очереди → заебись - 1 касса, 10 человек в очереди → жопа - 4 кассы, 6 человек → пока норм CPU = кассы, Load Average == очередь. LA это не про загрузку CPU в процентах — это просто «очередь». ➡️ Как задебажить Берем top, htop или подобное и смотрим столбец %CPU, если один процесс жрёт 100% на однопроцессорной системе — он пидарас и забил ядро. Если процесс жрёт 300% на 4-ядерной — он занял 3 ядра. Смотрим самых прожорливых пидарасов:
ps aux --sort=-%cpu | head
Если ничего не нашел, то смотрим в сторону: - I/O wait — медленный диск / много дисковых операций - много процессов, но каждый почти ничего не ест (fork storm) - сеть или блокировки Капля в море, но это базовый чеклист на ситуацию, когда сервер ушел в «полку».
А ты добавляй в комменты, что еще можно вынести в дебаг, будет полезно.
🛠 #linix #devops 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Кто идёт на Kuber Conf by AOT 4 декабря? Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и обсуди
Кто идёт на Kuber Conf by AOT 4 декабря? Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и обсудить: 🟣 Как на самом деле работает CNI chaining в продакшене 🟣 Как безопасно развернуть Gatekeeper для k8s-in-k8s 🟣 Поддержку Kubernetes в Vitastor 🟣 Опыт построения Managed Kubernetes На ивенте будут топовые инженеры и архитекторы — будет о чём поговорить. Конференция проходит под эгидой Ассоциации облачно-ориентированных технологий (АОТ), которую создают Флант, VK Cloud и Yandex Cloud. Встречаемся? Программа и билеты: https://aot-kuberconf.ru/?utm_source=telegram&utm_medium=referral_cpc&utm_campaign=bashdays Реклама Садовская.Е.О ИНН:9710066394 Erid:2Vtzqw3fYS4

Продолжаем ковырять angie, на этот раз посмотрим на Status Page, которая отображает всю статистику по веб-серверу. Выглядит п
Продолжаем ковырять angie, на этот раз посмотрим на Status Page, которая отображает всю статистику по веб-серверу. Выглядит прям хорошо. Устанавливаем пакет:
sudo apt install angie-console-light
В папке /usr/share/angie-console-light/html появляется статика. Добавляем локейшен:
location /console/ {
    auto_redirect on;

    alias /usr/share/angie-console-light/html/;
    index index.html;

    location /console/api/ {
        api /status/;
    }
}
Теперь открываем в браузере и видим красивую мордочку. Демо мордочки можешь посмотреть здесь. Да, не забываем включить Basic Auth чтобы хитрожопые не подглядывали.
У меня на паре пет проектов эта морда включена (графана избыточна), чисто посмотреть статусы раз в сутки, которые возвращают 500ку. Если оно горит красным, значит что-то где-то пошло по пизде.
Подробнее читай в официальной документации. 🛠 #angie #devops 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog