Управление доступом в Argo CD с ArgoCD RBAC Operator
Argo CD — мощный инструмент для GitOps, но настройка доступа может быть сложной. Используем ArgoCD RBAC Operator, чтобы автоматизировать управление ролями и разрешениями.
1️⃣ Установите ArgoCD RBAC Operator
2️⃣ Определите роли и права
3️⃣ Назначаем роли пользователям
4️⃣ Проверяем доступ
Если настройка корректна, пользователь получит соответствующие права.
💡 Попробовали этот оператор? Поделитесь опытом в комментариях!⬇️
🐸 Библиотека devops'a #буст
Argo CD — мощный инструмент для GitOps, но настройка доступа может быть сложной. Используем ArgoCD RBAC Operator, чтобы автоматизировать управление ролями и разрешениями.
kubectl apply -f https://raw.githubusercontent.com/example/argocd-rbac-operator/install.yaml
apiVersion: rbac.argocd.dev/v1alpha1
kind: ArgoCDRole
metadata:
name: dev-team
spec:
policies:
- action: get
resource: applications
scope: projects/dev
apiVersion: rbac.argocd.dev/v1alpha1
kind: ArgoCDUser
metadata:
name: user1
spec:
roles:
- dev-team
argocd account can-i get applications --as user1
Если настройка корректна, пользователь получит соответствующие права.
💡 Попробовали этот оператор? Поделитесь опытом в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1👾1
💪 База данных на стероидах
Tarantool совмещает in-memory NoSQL-хранилище с возможностью работы с SQL и поддержкой Lua-скриптов, позволяя писать бизнес-логику прямо внутри базы. Он поддерживает репликацию, шардирование и транзакции, обеспечивая низкие задержки и высокую производительность.
❓Что делать, если данных слишком много
— Оперативная память – штука дорогая. Для хранения больших объемов данных в Tarantool есть Vinyl – движок, который вместо RAM использует диск.
— Он работает по принципу LSM-дерева, где новые данные сначала записываются в память, а затем постепенно сбрасываются на диск, уменьшая нагрузку на систему.
Благодаря этому Vinyl идеально подходит для обработки больших объемов информации, например, в аналитике или логах.
📌 Подробнее про Vinyl
🐸 Библиотека devops'a #буст
Tarantool совмещает in-memory NoSQL-хранилище с возможностью работы с SQL и поддержкой Lua-скриптов, позволяя писать бизнес-логику прямо внутри базы. Он поддерживает репликацию, шардирование и транзакции, обеспечивая низкие задержки и высокую производительность.
❓Что делать, если данных слишком много
— Оперативная память – штука дорогая. Для хранения больших объемов данных в Tarantool есть Vinyl – движок, который вместо RAM использует диск.
— Он работает по принципу LSM-дерева, где новые данные сначала записываются в память, а затем постепенно сбрасываются на диск, уменьшая нагрузку на систему.
Благодаря этому Vinyl идеально подходит для обработки больших объемов информации, например, в аналитике или логах.
📌 Подробнее про Vinyl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁3🔥2
⏰ Команда дня: запуск временного контейнера
При разработке или тестировании часто требуется быстро запустить контейнер, войти в него, что-то проверить и выйти, не оставляя следов.
Для этого отлично подходит следующая команда:
Она запустит чистый Alpine и удалит его после выхода.
Попробуйте на досуге. А также не забывайте делиться самыми удобными фичами в комментариях👇
🐸 Библиотека devops'a #буст
При разработке или тестировании часто требуется быстро запустить контейнер, войти в него, что-то проверить и выйти, не оставляя следов.
Для этого отлично подходит следующая команда:
docker run --rm -it alpine sh
Она запустит чистый Alpine и удалит его после выхода.
Попробуйте на досуге. А также не забывайте делиться самыми удобными фичами в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥱3
Если нужно отправить контейнер в плавание, то стоит пройтись по всем пунктам из списка:
📌 Оптимизация Dockerfile
✓ Нет ненужных пакетов и зависимостей
✓ Используется
COPY
вместо ADD
, если не нужно скачивать файлы✓ Используется
.dockerignore
, чтобы не включать лишние файлы✓ Не используем latest, а задаем конкретные версии образов
🔒 Безопасность
✓ Контейнер не запускается под root
✓ Установлены минимально необходимые права
✓ Конфиденциальные данные передаются через переменные окружения или секреты
✓ Открываются только нужные порты
✓ Включена многослойная сборка, если есть зависимости
📊 Оптимизация
✓ Удалены временные файлы
✓ Используется --no-cache при установке пакетов
✓ Docker history показывает небольшое количество слоев (
docker history <image_id>
)🧷 Работа с переменными окружения
✓ Все конфигурации вынесены в переменные окружения
✓ Используются .env файлы, а не хардкод переменных в Dockerfile
✓ Секретные данные (пароли, токены) хранятся в специальных инструментах
💿 Volumes
✓ Используются volumes, а не bind mounts, если контейнер должен сохранять данные
✓ Проверены права на запись
✓ Очищены старые тома, если они больше не используются
docker volume prune
✓ Настроены резервные копии для важных данных
🧪 Тестирование перед деплоем
✓ Приложение успешно запускается в контейнере локально
✓ Тесты на работоспособность (
docker run myimage pytest
)✓ Тесты на совместимость с БД (
docker run myimage integration-tests
)✓
docker scan myimage
не показывает критических уязвимостейЕсли все пункты выполнены, деплой должен пройти гладко.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥1
🔥 Когда что-то пошло не по плану
Каждый, кто работает в DevOps, хотя бы раз сталкивался с ситуацией, когда всё шло не по плану. Иногда проблема бывает настолько странной, что кажется, будто вселенная решила протестировать вашу стойкость.
👀 Какая самая неожиданная проблема вам попадалась в DevOps?
🔧 Может быть, сервер решил обновиться в разгар деплоя?
🕵️♂️ Или кто-то залил в продакшен конфигурацию с rm -rf /?
🚀 А, может, Kubernetes самовольно начал устраивать хаос в кластере?
Делитесь своими историями👇 Самый эпичный случай можно будет увековечить в мемах 😄
🐸 Библиотека devops'a #междусобойчик
Каждый, кто работает в DevOps, хотя бы раз сталкивался с ситуацией, когда всё шло не по плану. Иногда проблема бывает настолько странной, что кажется, будто вселенная решила протестировать вашу стойкость.
👀 Какая самая неожиданная проблема вам попадалась в DevOps?
🔧 Может быть, сервер решил обновиться в разгар деплоя?
🕵️♂️ Или кто-то залил в продакшен конфигурацию с rm -rf /?
🚀 А, может, Kubernetes самовольно начал устраивать хаос в кластере?
Делитесь своими историями👇 Самый эпичный случай можно будет увековечить в мемах 😄
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🤔1
🎙 Новый выпуск подкаста LinkMeUp
В мире DevOps часто бывает, что проблемы с инфраструктурой или пайплайнами затмевают вопросы безопасности. Но когда речь заходит о защите данных и предотвращении атак, важность инвентаризации уязвимостей становится очевидной.
В подкасте расскажут, как правильно подходить к управлению уязвимостями, чтобы снизить риски и не попасть в ловушку хакеров.
➡️ Слушать подкаст
🐸 Библиотека devops'a #буст
В мире DevOps часто бывает, что проблемы с инфраструктурой или пайплайнами затмевают вопросы безопасности. Но когда речь заходит о защите данных и предотвращении атак, важность инвентаризации уязвимостей становится очевидной.
В подкасте расскажут, как правильно подходить к управлению уязвимостями, чтобы снизить риски и не попасть в ловушку хакеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
В свежем апдейте управление секретами становится еще безопаснее, удобнее и готово к будущим вызовам.
💡 Что нового
• Постквантовая криптография — теперь в движке секретов Transit реализована экспериментальная поддержка алгоритмов, устойчивых к атакам квантовых компьютеров.
• Автоматическая ротация корневых ключей — новая версия автоматизирует ротацию ключей для AWS, Azure, Google Cloud, LDAP и даже баз данных.
• Улучшенный UI — добавлена поддержка Workload Identity Federation (WIF) для Google Cloud и Azure.
HashiCorp демонстрируют, что можно сделать безопасность более автоматизированной и современной, без лишних хлопот.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Одни утверждают, что без программирования в этой сфере делать нечего, другие считают, что DevOps – это больше про процессы, а не про код.
DevOps – это про автоматизацию, а автоматизировать без кода невозможно. Инфраструктура как код, CI/CD пайплайны, управление кластерными системами – все это требует хотя бы базовых навыков программирования.
На другом конце баррикад мнение, что DevOps – это больше про процессы, культуру и автоматизацию с использованием готовых инструментов.
Достаточно уметь работать с конфигурационными файлами, понимать принципы работы CI/CD и уметь администрировать системы.
💬 А как вы считаете: DevOps должен уметь программировать, или это не обязательно? Делитесь своим мнением в комментариях! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Собрали для вас подборку из интересных новостей:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 MCP: Новый стандарт для интеграции ИИ
Model Context Protocol (MCP) — новый открытый стандарт. Он позволяет моделям ИИ безопасно и структурированно взаимодействовать с базами данных, API и другими сервисами без кастомных интеграций и сложных обходных решений.
🛠 Как это работает
MCP состоит из трёх ключевых компонентов:
🔹 MCP-клиент — ИИ-модель, которая запрашивает данные.
🔹 MCP-сервер — мост между ИИ и внешними системами: базы данных, API, файлы.
🔹 Resources & Tools — сервисы и функции, доступные ИИ через MCP.
MCP = стандартизация, безопасность, удобство. Если используете LLM в DevOps-инфраструктуре — стоит присмотреться.
➡️ Читать в оригинале
Как вам идея? Кто бы уже попробовал MCP в продакшене? 🤔👇
🐸 Библиотека devops'a #буст
Model Context Protocol (MCP) — новый открытый стандарт. Он позволяет моделям ИИ безопасно и структурированно взаимодействовать с базами данных, API и другими сервисами без кастомных интеграций и сложных обходных решений.
🛠 Как это работает
MCP состоит из трёх ключевых компонентов:
🔹 MCP-клиент — ИИ-модель, которая запрашивает данные.
🔹 MCP-сервер — мост между ИИ и внешними системами: базы данных, API, файлы.
🔹 Resources & Tools — сервисы и функции, доступные ИИ через MCP.
MCP = стандартизация, безопасность, удобство. Если используете LLM в DevOps-инфраструктуре — стоит присмотреться.
Как вам идея? Кто бы уже попробовал MCP в продакшене? 🤔👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какую из следующих команд вы бы использовали, чтобы остановить или отключить службу httpd при загрузке системы?
👾 — # systemctl disable httpd.service
👍 — # system disable httpd.service
🥰 — # system disable httpd
🥱 — # system disable httpd.service
Библиотека задач по DevOps
👾 — # systemctl disable httpd.service
👍 — # system disable httpd.service
🥰 — # system disable httpd
🥱 — # system disable httpd.service
Библиотека задач по DevOps
👾53👍2
🔃 Обновление KDE Plasma
Команда KDE представила свежие улучшения в Plasma 6.4.0. Теперь в уведомлениях о передаче файлов можно увидеть графики скорости передачи, нажав на кнопку «Details».
📎 Полный список изменений читайте в блоге KDE
🐸 Библиотека devops'a #свежак
Команда KDE представила свежие улучшения в Plasma 6.4.0. Теперь в уведомлениях о передаче файлов можно увидеть графики скорости передачи, нажав на кнопку «Details».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
Media is too big
VIEW IN TELEGRAM
Proglib рассказывает базу в формате рилса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Представляем подборку библиотек, необходимых для создания современных приложений на React. Независимо от того, работаете ли вы над панелями управления, таймлайнами, функциями перетаскивания или управлением API, они сэкономят ваше время и усилия.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
⚙️ Как настроить CI/CD в GitLab
Сейчас разберем, как настроить CI/CD в GitLab, создать gitlab-ci.yml, подключить Runner и автоматизировать развертывание.
1️⃣ Создание .gitlab-ci.yml
GitLab использует файл .gitlab-ci.yml, который определяет пайплайн. Он размещается в корне репозитория.
Простой пример для сборки Java-приложения с использованием Maven:
2️⃣ Настройка Runner’а
Runner — это агент, который выполняет задачи из .gitlab-ci.yml. Его нужно зарегистрировать на целевой машине.
Установка:
Регистрация:
Запуск:
Готово! По необходимости можно настроить окружение, добавить переменные и мониторить логи как пайплайна, так и раннера.
🐸 Библиотека devops'a #буст
Сейчас разберем, как настроить CI/CD в GitLab, создать gitlab-ci.yml, подключить Runner и автоматизировать развертывание.
GitLab использует файл .gitlab-ci.yml, который определяет пайплайн. Он размещается в корне репозитория.
Простой пример для сборки Java-приложения с использованием Maven:
stages:
- build
- test
- deploy
build:
stage: build
image: maven:3.8.5-openjdk-17
script:
- mvn clean package
artifacts:
paths:
- target/*.jar
test:
stage: test
image: maven:3.8.5-openjdk-17
script:
- mvn test
deploy:
stage: deploy
image: alpine:latest
script:
- echo "Deploying application..."
Runner — это агент, который выполняет задачи из .gitlab-ci.yml. Его нужно зарегистрировать на целевой машине.
Установка:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
Регистрация:
sudo gitlab-runner register
Запуск:
sudo gitlab-runner start
Готово! По необходимости можно настроить окружение, добавить переменные и мониторить логи как пайплайна, так и раннера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.
❓Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас.
— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Сразу обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас все-таки забанили
— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1