Media is too big
VIEW IN TELEGRAM
Процесс обновления Talos Linux
YouTube — https://youtu.be/ikiPtVs78YI
ВКВидео — https://vkvideo.ru/video-232188619_456239020
Команды, которые вам потребуются:
Просмотр списка доступных нод —
Обновление Talos —
Talos Dashboard -
Обновление image в конфигах Talos —
Поднятие локального docker registry —
YouTube — https://youtu.be/ikiPtVs78YI
ВКВидео — https://vkvideo.ru/video-232188619_456239020
Команды, которые вам потребуются:
Просмотр списка доступных нод —
kubectl get nodes -o wideОбновление Talos —
talosctl -n <ip ноды> upgrade -i registry.example.com/talos:1.11.3Talos Dashboard -
talosctl -n <ip ноды> dashboardОбновление image в конфигах Talos —
sed -i "s|factory.talos.dev/metal-installer/6adc7e7fba27948460e2231e5272e88b85159da3f3db980551976bf9898ff64b:v1.11.2|registry.example.com/talos:1.11.3|" *.yamlПоднятие локального docker registry —
docker run -d -p 5000:5000 --restart always --name registry registry:3👍5
А вот и результаты опроса подъехали!
Forwarded from CTO: Порядок из хаоса
А вот и аналитика по инженерной зрелости компаний(статья на хабре), в которой многие из вас участвовали.
Помните мы устраивали опрос?
Большое спасибо всем кто принял в нем участие.
Ответ каждого из вас сделал эту статью более глубокой и честной.
А вот вам выводы для затравки
1) Для роста нужно не геройство, а системность
2) мы релизим так же хреново как ведем документацию. (такая вот авторская интерпретация подтвержденная цифрами)
притяного чтения)
PS. спасибо ребятам осуществлявшим информационную поддержку, без вас результаты были бы в разы скромнее)
Помните мы устраивали опрос?
Большое спасибо всем кто принял в нем участие.
Ответ каждого из вас сделал эту статью более глубокой и честной.
А вот вам выводы для затравки
1) Для роста нужно не геройство, а системность
2) мы релизим так же хреново как ведем документацию. (такая вот авторская интерпретация подтвержденная цифрами)
притяного чтения)
PS. спасибо ребятам осуществлявшим информационную поддержку, без вас результаты были бы в разы скромнее)
Хабр
Инженерная зрелость. Исследование практик и триггеров
Почему одни команды релизят предсказуемо и без героизма, а другие тушат пожары на продакшене каждую неделю? Мы решили узнать, какие инженерные практики превращают разработку в систему с...
👍3
Смотрю интересный стрим от ребят из Cozystack. Присоединяйтесь!
https://www.youtube.com/watch?v=hl9LMcxg1qM
https://www.youtube.com/watch?v=hl9LMcxg1qM
YouTube
CozyFlow - комфортный подход к CI/CD от проекта Cozystack
В этом demo мы разберёмся с методологиями GitOps и способами организации репозитория. Расскажем о нашем опыте выстраивания удобного флоу разработки.
Посмотрим, как в Cozystack выстроен процесс сборки и доставки — от локальной разработки до production, с помощью…
Посмотрим, как в Cozystack выстроен процесс сборки и доставки — от локальной разработки до production, с помощью…
👍2
Последние недельки на работе выдались тяжелые, поэтому я пока не подготовил новые посты для вас. Но предлагаю посмотреть интересный доклад.
Я уже упоминал на канале такой продукт, как Cozystack. Давайте смотреть как же он устроен.
https://www.youtube.com/watch?v=fzA3WxoZFYg
Я уже упоминал на канале такой продукт, как Cozystack. Давайте смотреть как же он устроен.
https://www.youtube.com/watch?v=fzA3WxoZFYg
YouTube
Георг Гаал — Воспроизводимые окружения на bare metal при помощи Talos Linux и Cozystack
Подробнее о конференции DevOops: https://jrg.su/t1mP5U
— —
Скачать презентацию с сайта DevOops — https://jrg.su/MOQrxC
Увлекательная история о том, как в Ænix пришли к Talos Linux и что это дало.
Команда разрабатываетCozystack — платформу с открытым исходным…
— —
Скачать презентацию с сайта DevOops — https://jrg.su/MOQrxC
Увлекательная история о том, как в Ænix пришли к Talos Linux и что это дало.
Команда разрабатываетCozystack — платформу с открытым исходным…
👍2
Media is too big
VIEW IN TELEGRAM
Устанавливаем Flux через Flux
Сегодня будем переводить Flux под управление его же самого. Чтобы у нас был настоящий GitOps
YouTube — https://youtu.be/023CIvGaDTA
ВКВидео — https://vkvideo.ru/video-232188619_456239021
Текстовая версия — https://etherlord.org/posts/переводим-fluxcd-под-управление-fluxcd/
Коммит с изменениями в рамках этого поста — тык сюда.
Сегодня будем переводить Flux под управление его же самого. Чтобы у нас был настоящий GitOps
YouTube — https://youtu.be/023CIvGaDTA
ВКВидео — https://vkvideo.ru/video-232188619_456239021
Текстовая версия — https://etherlord.org/posts/переводим-fluxcd-под-управление-fluxcd/
Коммит с изменениями в рамках этого поста — тык сюда.
👍3
Удаляем FluxCD манифесты, которые были созданы при первоначальном бутстрапе
В этом году было достаточно сложно раскачаться и войти в рабочий ритм. Но у меня получилось :)
Первый пост в этом году будет маленький, как дополнение к предыдущему.
После того как мы перевели Flux под управление самого себя — была забыта одна вещь. А именно — нам нужно удалить старые манифесты, которые записал Flux в репозиторий, когда делался первоначальный bootstrap. Они нам теперь не нужны.
Исправляемся — коммитим, пушим, убеждаемся, что все работает.
Путь миграции с
На след. неделе будем передавать Cilium под управление Flux
В этом году было достаточно сложно раскачаться и войти в рабочий ритм. Но у меня получилось :)
Первый пост в этом году будет маленький, как дополнение к предыдущему.
После того как мы перевели Flux под управление самого себя — была забыта одна вещь. А именно — нам нужно удалить старые манифесты, которые записал Flux в репозиторий, когда делался первоначальный bootstrap. Они нам теперь не нужны.
Исправляемся — коммитим, пушим, убеждаемся, что все работает.
Путь миграции с
flux bootstrap на flux operator описан в официальной документации flux operator. То, что мы сейчас делали описано в разделе Cleanup the repositoryНа след. неделе будем передавать Cilium под управление Flux
🔥5
Media is too big
VIEW IN TELEGRAM
Переводим Cilium под управление FluxCD
YouTube — https://youtu.be/pYZN_wMk5qk
ВКВидео — https://vkvideo.ru/video-232188619_456239022
Текстовая версия — https://etherlord.org/posts/переводим-cilium-под-управление-fluxcd/
Коммит с изменениями в рамках этого поста — тык
На следующей неделе поста не будет. В комментариях под прошлым постом мне предложили сделать AI продукт, который бы настраивал простые сервера. Мне кажется такой продукт не особо нужен, поэтому 22 февраля (воскресенье) в 18:00 Мск проведем стрим. Покажу как с помощью Claude Code можно настраивать сервер. Также покажу более правильный, на мой взгляд, подход, в котором мы, совместно с ИИ, напишем Ansible Playbook, который будет делать тоже самое, но при этом у нас останется артефакт в виде кода и его можно будет многократно применять для настройки однотипных серверов
YouTube — https://youtu.be/pYZN_wMk5qk
ВКВидео — https://vkvideo.ru/video-232188619_456239022
Текстовая версия — https://etherlord.org/posts/переводим-cilium-под-управление-fluxcd/
Коммит с изменениями в рамках этого поста — тык
На следующей неделе поста не будет. В комментариях под прошлым постом мне предложили сделать AI продукт, который бы настраивал простые сервера. Мне кажется такой продукт не особо нужен, поэтому 22 февраля (воскресенье) в 18:00 Мск проведем стрим. Покажу как с помощью Claude Code можно настраивать сервер. Также покажу более правильный, на мой взгляд, подход, в котором мы, совместно с ИИ, напишем Ansible Playbook, который будет делать тоже самое, но при этом у нас останется артефакт в виде кода и его можно будет многократно применять для настройки однотипных серверов
🔥4❤1
Forwarded from Сергей Предводителев
Валентин Удальцов на стриме «Scaffolder: создаём и обновляем репо за пару минут» упомянул утилиту Tini, через которую предлагается запускать команды внутри контейнера:
ENTRYPOINT ["tini", "--", "php", "/app/run.php"]
Tini запускается как главный процесс в контейнере и решает две задачи.
⭐️ Зомби-процессы
После завершения работы дочерние процессы освобождают ресурсы, но остаются в списке процессов и становится зомби. Родительский процесс должен корректно их обрабатывать, чтобы зомби-процессы удалялись окончательно.
Не все программы умеют обрабатывать зомби-процессы. В обычной системе их «страхует» главный процесс (например, systemd), а в контейнере это может делать Tini.
⭐️ Обработка сигналов
Если процесс не установил обработчик для сигнала (речь про SIGTERM, SIGINT и т. д.), то выполняется действие по умолчанию.
Но это правило не действует для главного процесса. Tini корректно обрабатывает сигналы и пересылает их дочерним процессам.
Если с первой проблемой я не сталкивался, то вторая возникает с завидной периодичностью.
Например, запускаем внутри контейнера тесты и решаем их прервать, нажимаем
Ctrl+C (вызывает отправку сигнала SIGINT, «прервать процесс») и… ничего не происходит Tini оказался настолько полезным инструментом, что на его основе сделали утилиту
docker-init и добавили её в Docker, а у команды docker container run (она же docker run) появилась опция --init (документация), которая запускает docker-init как главный процесс. Для copmose-файлов также добавили опцию init (документация).Сегодня вместо Tini удобнее использовать опцию
--init, которую к тому же можно применить для любого docker-образа Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Стрим по AI Ops!
22 февраля в 18:00 Мск
В комментах под поcтом мне предложили сделать AI DevOps продукт. Я считаю, что такой продукт не нужен, так как современные инструменты позволяют уже достаточно просто автоматизировать рутину по настройке серверов для тех, кто разбирается в теме.
Рассмотрим два подхода:
1. Даем ИИ полный доступ к серверу
2. Просим сгенерировать ansible playbook и сами его проверяем
Мы будем настраивать простой сервер с помощью Claude Code.
Это связка nginx + docker. Сделаем простой деплой с помощью Gitlab CI.
YouTube — https://www.youtube.com/watch?v=U9w0xsejL8Y
ВКВидео — https://vkvideo.ru/video-232188619_456239024
До встречи на стриме!
22 февраля в 18:00 Мск
В комментах под поcтом мне предложили сделать AI DevOps продукт. Я считаю, что такой продукт не нужен, так как современные инструменты позволяют уже достаточно просто автоматизировать рутину по настройке серверов для тех, кто разбирается в теме.
Рассмотрим два подхода:
1. Даем ИИ полный доступ к серверу
2. Просим сгенерировать ansible playbook и сами его проверяем
Мы будем настраивать простой сервер с помощью Claude Code.
Это связка nginx + docker. Сделаем простой деплой с помощью Gitlab CI.
YouTube — https://www.youtube.com/watch?v=U9w0xsejL8Y
ВКВидео — https://vkvideo.ru/video-232188619_456239024
До встречи на стриме!
🔥7❤1
Внезапнопост или HEREDOC в Docker без buildx
В нескольких постах на канале я топил за использование HEREDOC синтаксиса в Dockerfile
Смотрите как красиво, никаких
Но с этой фичей уже была одна проблема - тык
Сегодня с коллегой раскопали еще одну — оказывается если вы поставили docker без плагина buildx, то при сборке все инструкции внутри HEREDOC будут просто молча проигнорированы. Могли бы хоть ошибку вывести
Такой вот подарочек от разрабов docker. Будьте внимательны и удачных вам сборок!
В нескольких постах на канале я топил за использование HEREDOC синтаксиса в Dockerfile
Смотрите как красиво, никаких
&& и \ (ну почти):RUN <<EOF
set -e
apt-get update
apt-get install --no-install-recommends -y \
openssh-client \
rsync \
non-existent-package
apt-get clean
EOF
Но с этой фичей уже была одна проблема - тык
Сегодня с коллегой раскопали еще одну — оказывается если вы поставили docker без плагина buildx, то при сборке все инструкции внутри HEREDOC будут просто молча проигнорированы. Могли бы хоть ошибку вывести
Такой вот подарочек от разрабов docker. Будьте внимательны и удачных вам сборок!
👍9👏1
Forwarded from ITTales :(){ :|:& };:
Если ещё беспокоитесь за copy.fail в своих кластерах - вот изи-фикс.
Маленький DaemonSet, грузит
Работает на Talos Linux, где
Ставится одной командой:
https://github.com/cozystack/copy-fail-blocker
Маленький DaemonSet, грузит
BPF-LSM хук на socket_create и режет любые попытки открыть AF_ALG. Без ребута, без пересборки ядра, без правки cmdline.Работает на Talos Linux, где
rmmod архитектурно недоступен (SELinux + lockdown + контроллер не умеет unload).Ставится одной командой:
kubectl apply -f https://raw.githubusercontent.com/cozystack/copy-fail-blocker/main/manifests/copy-fail-blocker.yaml
https://github.com/cozystack/copy-fail-blocker
GitHub
GitHub - cozystack/copy-fail-blocker: BPF-LSM mitigation for CVE-2026-31431 (Copy Fail) — denies AF_ALG socket creation cluster…
BPF-LSM mitigation for CVE-2026-31431 (Copy Fail) — denies AF_ALG socket creation cluster-wide - cozystack/copy-fail-blocker
👍1
Forwarded from Технологический Болт Генона
Пока вы спите там Linux опять жопу взломали
https://github.com/V4bel/dirtyfrag
Mitigation
Вот это вообще балдёж
> Because the embargo has currently been broken, no patch or CVE exists.
Dirty Frag is a case that extends the bug class to which Dirty Pipe and Copy Fail belong. Because it is a deterministic logic bug that does not depend on a timing window, no race condition is required, the kernel does not panic when the exploit fails, and the success rate is very high.
. . .
The xfrm-ESP Page-Cache Write vulnerability is in scope from cac2661c53f3 (2017-01-17) up to upstream, and the RxRPC Page-Cache Write vulnerability is in scope from 2dc334f1a63a (2023-06) up to upstream.
In other words, the effective lifetime of the vulnerabilities is about 9 years.
This Dirty Frag has been tested on the following distribution versions.
Ubuntu 24.04.4: 6.17.0-23-generic
RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
openSUSE Tumbleweed: 7.0.2-1-default
CentOS Stream 10: 6.12.0-224.el10.x86_64
AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
Fedora 44: 6.19.14-300.fc44.x86_64
https://github.com/V4bel/dirtyfrag
Mitigation
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
Вот это вообще балдёж
> Because the embargo has currently been broken, no patch or CVE exists.
❤3
Forwarded from Админим с Буквой (Aleksandr Kondratev)
cis.pdf
557.7 KB
Поздравляю всех подписчиков с началом лета! И вручаю вам тёплый летний подарок: методичку по харденингу Ubuntu 24.04 на русском.
Методичка - моего авторства (@bykva)
Долгие и нудные часы чтения 1000-страничного CIS и публичной ansible роли зародили во мне идею - вот бы была готовая выжимка, по которой можно было бы настроить автоматизацию, при этом понимать что именно она выполняет. и сделать это за 1 день, а не за несколько недель.
В итоге родилась она - сжатая выжимка тысячестраничного CIS Benchmark: по каждому пункту коротко - что и зачем настраивать, с выделенными нюансами и ссылками на источники.
Внутри - более подробное описание что это и зачем.
З.Ы. саммаризация была сделана полностью без ИИ, но вот цветовое оформление, фактчекинг и правки орфографии и пунктуации я уже делал с помощью него, поэтому что-то могло поехать. Буду благодарен за ОС.
Методичка - моего авторства (@bykva)
Долгие и нудные часы чтения 1000-страничного CIS и публичной ansible роли зародили во мне идею - вот бы была готовая выжимка, по которой можно было бы настроить автоматизацию, при этом понимать что именно она выполняет. и сделать это за 1 день, а не за несколько недель.
В итоге родилась она - сжатая выжимка тысячестраничного CIS Benchmark: по каждому пункту коротко - что и зачем настраивать, с выделенными нюансами и ссылками на источники.
Внутри - более подробное описание что это и зачем.
З.Ы. саммаризация была сделана полностью без ИИ, но вот цветовое оформление, фактчекинг и правки орфографии и пунктуации я уже делал с помощью него, поэтому что-то могло поехать. Буду благодарен за ОС.
🔥3