This media is not supported in your browser
VIEW IN TELEGRAM
HR в попытках поймать сеньора на оклад джуна 😂😂
😁20🔥2❤1
Используются ли у вас плагины SAST \ SCA в IDE?
Anonymous Poll
63%
Не используются
8%
Все разрабы используют эти плагины
7%
Некоторые разработчики используют плагин SCA
5%
Не используются, но в ближайшее время планируем ввести
9%
Некоторые разработчики используют плагин SAST
7%
Свой вариант
🔥4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Как усмирить обезумевшего техдира 😂😂
😁15🔥3❤2
🤔 Очередной #дайджест полезных статей по DevOps:
🔺 Стратегии развертывания Kubernetes — в Kubernetes существует несколько различных способов зарелизить приложение, и они перед вами
🔺 Особенности SRE и Observability в мобильных приложениях — история боли о нестабильных средах, остатках старых версий и бардаке, как везде, но с приятным концом
🔺 Как начать юзать Weaviate Vector Database в Docker — автор рассказывает о это векторной БД с возможностями векторного, гибридного и генеративного поиска
🔺 Восхождение на Azure DevOps Server — про фишечки, фиксы и фичи release-кандидата, скачать которого можно тут
🔺 OpenTofu — Новая альтернатива Terraform с открытым исходным кодом
🔺 Стратегии развертывания Kubernetes — в Kubernetes существует несколько различных способов зарелизить приложение, и они перед вами
🔺 Особенности SRE и Observability в мобильных приложениях — история боли о нестабильных средах, остатках старых версий и бардаке, как везде, но с приятным концом
🔺 Как начать юзать Weaviate Vector Database в Docker — автор рассказывает о это векторной БД с возможностями векторного, гибридного и генеративного поиска
🔺 Восхождение на Azure DevOps Server — про фишечки, фиксы и фичи release-кандидата, скачать которого можно тут
🔺 OpenTofu — Новая альтернатива Terraform с открытым исходным кодом
🥰33❤18👍9🔥9👏7
📺 Выступление создателя компании, оказывающей услуги по анализу защищенности и тестированию на проникновение на тему кибербезопасности — что с ней стало, и чего ожидать в будущем. https://www.youtube.com/watch?v=yRcZs0Nuk1c
YouTube
Омар Ганиев . Взломать По‑старому Нельзя Взломать По‑новому
Взломать По‑старому Нельзя Взломать По‑новому
Омар Ганиев
Основатель, DeteAct
Кибербезопасность — производная от технологий. Новые технологии создают новые угрозы и новые векторы атак.
Этот итеративный прогресс часто происходит незаметно от нас. Оглянувшись…
Омар Ганиев
Основатель, DeteAct
Кибербезопасность — производная от технологий. Новые технологии создают новые угрозы и новые векторы атак.
Этот итеративный прогресс часто происходит незаметно от нас. Оглянувшись…
❤4👍2🥰2
Зачем нам Kyverno?
Kyverno — это опенсорсный механизм политики для Kubernetes, который позволяет определять, проверять и применять политики для кластера.
Он прост в использовании и гибок, позволяя определять политики с помощью простых декларативных файлов конфигурации, которыми можно управлять и контролировать версии, как и любым другим кодом. Софт можно использовать для реализации широкого спектра политик, включая безопасность, соответствие требованиям и передовые методы эксплуатации, и может помочь вам гарантировать, что ваш кластер всегда находится в известном, совместимом состоянии.
Создаем локальный кластер
kind create cluster --image "kindest/node:v1.26.0" --config - <<..EOFkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes: - role: control-plane - role: worker - role: worker - role: workerEOF
.. - не пишем — это, чтобы телега не кропала код
Поды плоскости управления находятся в kube-system пространстве имен. Перечислить поды с помощью kubectl get pods -n kube-system.
Развертывание Kyverno
Теперь можно развернуть Kyverno с помощью Helm:
helm upgrade --install --wait --timeout 15m --atomic --version 3.0.0-alpha.1 --namespace kyverno --create-namespace --repo https://kyverno.github.io/kyverno kyverno kyverno
Далее, более подробно здесь
#туториал
Kyverno — это опенсорсный механизм политики для Kubernetes, который позволяет определять, проверять и применять политики для кластера.
Он прост в использовании и гибок, позволяя определять политики с помощью простых декларативных файлов конфигурации, которыми можно управлять и контролировать версии, как и любым другим кодом. Софт можно использовать для реализации широкого спектра политик, включая безопасность, соответствие требованиям и передовые методы эксплуатации, и может помочь вам гарантировать, что ваш кластер всегда находится в известном, совместимом состоянии.
Создаем локальный кластер
kind create cluster --image "kindest/node:v1.26.0" --config - <<..EOFkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes: - role: control-plane - role: worker - role: worker - role: workerEOF
.. - не пишем — это, чтобы телега не кропала код
Поды плоскости управления находятся в kube-system пространстве имен. Перечислить поды с помощью kubectl get pods -n kube-system.
Развертывание Kyverno
Теперь можно развернуть Kyverno с помощью Helm:
helm upgrade --install --wait --timeout 15m --atomic --version 3.0.0-alpha.1 --namespace kyverno --create-namespace --repo https://kyverno.github.io/kyverno kyverno kyverno
Далее, более подробно здесь
#туториал
❤6👍4
Создадим парсер, который будет из нужного конфига делать чистую болванку какого-нибудь софта, без комментариев и прочего ненужного.
Для примера будем работать с файлом php.ini и приведем его в юзер-френдли вид.
#!/bin/bash
sep=$2
while IFS= read -r var
do
[[ $var =~ ^$sep.* ]] || [[ ! $var =~ ' ' ]] && continue
echo "$var" >> $1.tpl
done < $1
Запускаем так:
./script.sh php.ini ";"
Передаем 2 параметра. Первый — имя файла-конфига, который будем читать и парсить. Второй — символ, которым комментируются строки в этом файле.
В нашем случае комментарии в файле идут после символа «;». Обращаем внимание, что второй параметр передаем в кавычках. Если передать напрямую, то оболочка не поймёт что от нее хотят и выпадет в panic.
Разбираем скрипт:
Присваиваем переменной sep, символ, который передали вторым параметром $2. У нас это символ «;».
Далее идет цикл, который построчно читает файл php.ini переданный в первом параметре $1 при запуске скрипта — можно передать любой файл.
IFS — разделяет строку с использованием символа в качестве значения
Логика цикла:
Если первый символ равен символу «;», который уже лежит в переменной sep ИЛИ первый символ равен пустой строке, ТО передаем управление команде continue, которая проигнорирует запись в output файл. И так по кругу, пока не закончится файл.
Команда continue пропускает оставшиеся команды внутри тела цикла для текущей итерации и передает управление программой к следующей итерации цикла.
ВО ВСЕХ ДРУГИХ СЛУЧАЯХ, происходит запись в output файл, в котором будут содержаться только необходимые для работы параметры.
На выходе получится 2х килобайтный файл php.ini.tpl, без комментариев и прочего мусора.
Теперь можно сделать шаблон для ansible/puppet/chef.
В скрипте будут использованы простые регулярки.
$var =~ ^$sep.*
^ - соответствует началу текстовой строки
$sep - символ с помощью которого комментируют строки
.* - оставшийся кусок строки
#гайд
Для примера будем работать с файлом php.ini и приведем его в юзер-френдли вид.
#!/bin/bash
sep=$2
while IFS= read -r var
do
[[ $var =~ ^$sep.* ]] || [[ ! $var =~ ' ' ]] && continue
echo "$var" >> $1.tpl
done < $1
Запускаем так:
./script.sh php.ini ";"
Передаем 2 параметра. Первый — имя файла-конфига, который будем читать и парсить. Второй — символ, которым комментируются строки в этом файле.
В нашем случае комментарии в файле идут после символа «;». Обращаем внимание, что второй параметр передаем в кавычках. Если передать напрямую, то оболочка не поймёт что от нее хотят и выпадет в panic.
Разбираем скрипт:
Присваиваем переменной sep, символ, который передали вторым параметром $2. У нас это символ «;».
Далее идет цикл, который построчно читает файл php.ini переданный в первом параметре $1 при запуске скрипта — можно передать любой файл.
IFS — разделяет строку с использованием символа в качестве значения
Логика цикла:
Если первый символ равен символу «;», который уже лежит в переменной sep ИЛИ первый символ равен пустой строке, ТО передаем управление команде continue, которая проигнорирует запись в output файл. И так по кругу, пока не закончится файл.
Команда continue пропускает оставшиеся команды внутри тела цикла для текущей итерации и передает управление программой к следующей итерации цикла.
ВО ВСЕХ ДРУГИХ СЛУЧАЯХ, происходит запись в output файл, в котором будут содержаться только необходимые для работы параметры.
На выходе получится 2х килобайтный файл php.ini.tpl, без комментариев и прочего мусора.
Теперь можно сделать шаблон для ansible/puppet/chef.
В скрипте будут использованы простые регулярки.
$var =~ ^$sep.*
^ - соответствует началу текстовой строки
$sep - символ с помощью которого комментируют строки
.* - оставшийся кусок строки
#гайд
🥰31👍25❤14👏10🔥8
🤿🥽📟 TerraVision — это CLI-инструмент, который преобразует код Terraform в Professional Cloud Architecture Diagrams и решает проблему поддержания в актуальном состоянии документов в облачных проектах.
Terravision работает на стороне клиента без какой-либо зависимости от Terraform или доступа к облачной среде, чтобы динамически анализировать созданные ресурсы и переменные и автоматически генерировать визуальное представление вашей архитектуры. Terravision разработан как инструмент «Docs as Code» (DaC), который может быть включен в конвейер CI / CD для обновления архитектурных схем после этапов конвейера сборки / тестирования / релиза. В настоящее время он поддерживает AWS, а вскоре Google и Azure cloud.
Подробнее
#софт
Terravision работает на стороне клиента без какой-либо зависимости от Terraform или доступа к облачной среде, чтобы динамически анализировать созданные ресурсы и переменные и автоматически генерировать визуальное представление вашей архитектуры. Terravision разработан как инструмент «Docs as Code» (DaC), который может быть включен в конвейер CI / CD для обновления архитектурных схем после этапов конвейера сборки / тестирования / релиза. В настоящее время он поддерживает AWS, а вскоре Google и Azure cloud.
Подробнее
#софт
❤7👍3
🚜🚛 blendOS — комбайн Ubuntu, Fedora и Arch Linux в одной системе
Операционная система blendOS 23.01 основана на Arch и GNOME на Wayland позволяет использовать приложения из других популярных ОС.
В blendOS можно использовать менеджеры пакетов из Arch Linux (pacman), из Fedora — это dnf, а из Ubuntu взяли apt, реализовав это все на контейнерах Distrobox/Podman. При первом запуске пакетных менеджеров Fedora или Ubuntu соответствующие контейнеры создаются автоматически и не требуют дополнительных действий.
Вся красота становится доступна при полноценной установке ОС, а еще, разрабы реализовали поддержку изолированных приложений Flatpak.
Изучить
#новость
Операционная система blendOS 23.01 основана на Arch и GNOME на Wayland позволяет использовать приложения из других популярных ОС.
В blendOS можно использовать менеджеры пакетов из Arch Linux (pacman), из Fedora — это dnf, а из Ubuntu взяли apt, реализовав это все на контейнерах Distrobox/Podman. При первом запуске пакетных менеджеров Fedora или Ubuntu соответствующие контейнеры создаются автоматически и не требуют дополнительных действий.
Вся красота становится доступна при полноценной установке ОС, а еще, разрабы реализовали поддержку изолированных приложений Flatpak.
Изучить
#новость
👍9❤3😍1
Разберем #дайджест из 8 инструментов для мониторинга и управления производительностью своей сетевой инфраструктуры.
🔺 ManageEngine OpManager. Обеспечивает глубокое понимание сетевых устройств, таких как маршрутизаторы, коммутаторы, брандмауэры, беспроводные устройства, соединения WAN, физические и виртуальные серверы, блоки хранения и всю сквозную инфраструктуру.
🔺 Auvik. Облачное ПО предлагает функции сетевого мониторинга, управления ИТ-активами, анализа сетевого трафика, простого мониторинга и устранения неполадок, управления распределенными сайтами и централизованной автоматизации.
🔺 PRTG. Инструмент может контролировать с помощью датчиков сетевые устройства, аппаратное обеспечение, приложения, базы данных, центры обработки данных, узлы виртуализации, серверы SharePoint. Может работать с доступом SNMP для подключения и мониторинга маршрутизаторов, коммутаторов и брандмауэров.
🔺 Nagios. Обеспечивает видимость критически важных сетевых компонентов в режиме реального времени, а также строит карту сети. Можно отслеживать сетевые узлы, службы, протоколы и производительность приложений, обеспечивая выявление и решение проблем на раннем этапе.
🔺 LogicMonitor. Облачная платформа для мониторинга инфраструктуры, сети, серверов, БД, облака, AIOps, а также анализа журналов, производительности приложений (APM) и т.д.
🔺 Zabbix. Бесплатный и опенсорсный инструмент работает как с опросом, так и с перехватом, при этом все отчеты, статистика и параметры конфигурации доступны через веб-интерфейс. Он также может использовать агенты для мониторинга сетевых узлов, где это применимо.
🔺 LibreNMS. Система мониторинга сети с открытым исходным кодом, основана на PHP, NGINX, MySQL / MariaDB. Работает на Linux. Предлагает автоматическое обнаружение сети, настраиваемые оповещения, доступ к API, биллинговую систему, автоматические обновления, распределенный опрос и мобильные приложения.
🔺 Datadog. Обеспечивает сквозную визуализацию производительности сети, производительность прикладного уровня и работоспособность сетевых компонентов. Прост в установке и использовании, имеет удобный интерфейс и предлагает быстрые запросы к журналам.
🔺 ManageEngine OpManager. Обеспечивает глубокое понимание сетевых устройств, таких как маршрутизаторы, коммутаторы, брандмауэры, беспроводные устройства, соединения WAN, физические и виртуальные серверы, блоки хранения и всю сквозную инфраструктуру.
🔺 Auvik. Облачное ПО предлагает функции сетевого мониторинга, управления ИТ-активами, анализа сетевого трафика, простого мониторинга и устранения неполадок, управления распределенными сайтами и централизованной автоматизации.
🔺 PRTG. Инструмент может контролировать с помощью датчиков сетевые устройства, аппаратное обеспечение, приложения, базы данных, центры обработки данных, узлы виртуализации, серверы SharePoint. Может работать с доступом SNMP для подключения и мониторинга маршрутизаторов, коммутаторов и брандмауэров.
🔺 Nagios. Обеспечивает видимость критически важных сетевых компонентов в режиме реального времени, а также строит карту сети. Можно отслеживать сетевые узлы, службы, протоколы и производительность приложений, обеспечивая выявление и решение проблем на раннем этапе.
🔺 LogicMonitor. Облачная платформа для мониторинга инфраструктуры, сети, серверов, БД, облака, AIOps, а также анализа журналов, производительности приложений (APM) и т.д.
🔺 Zabbix. Бесплатный и опенсорсный инструмент работает как с опросом, так и с перехватом, при этом все отчеты, статистика и параметры конфигурации доступны через веб-интерфейс. Он также может использовать агенты для мониторинга сетевых узлов, где это применимо.
🔺 LibreNMS. Система мониторинга сети с открытым исходным кодом, основана на PHP, NGINX, MySQL / MariaDB. Работает на Linux. Предлагает автоматическое обнаружение сети, настраиваемые оповещения, доступ к API, биллинговую систему, автоматические обновления, распределенный опрос и мобильные приложения.
🔺 Datadog. Обеспечивает сквозную визуализацию производительности сети, производительность прикладного уровня и работоспособность сетевых компонентов. Прост в установке и использовании, имеет удобный интерфейс и предлагает быстрые запросы к журналам.
❤44🥰17🔥10👏9👍6
troubleshooting-kubernetes.en_en.v3 (1).pdf
789.6 KB
👀🤲 Наглядное руководство по устранению неполадок в развертывании Kubernetes
Вот вам схемка, которая поможет вам дефектовать и отдебажить ваши развертывания в Kubernetes.
Разбор очень подробный, с кодом, разъяснениями и комментариями.
Вот вам схемка, которая поможет вам дефектовать и отдебажить ваши развертывания в Kubernetes.
Разбор очень подробный, с кодом, разъяснениями и комментариями.
❤11🔥4
👮♂️👮♂️ 3 октября пройдет вебинар DevSecOps: организация безопасной разработки на уровне процессов. Начало в 11:00.
На вебинаре будет обсуждаться, как создавать продукты, которые будут соответствовать требованиям безопасности, как автоматизировать разработку и доставку продукта там, где зависимости и условия меняются ежедневно.
Темы дискуссии:
👉 Что сегодня вкладывается в понятие DevSecOps
👉 Автоматизация тестирования безопасности на каждом этапе процесса разработки
👉 Автоматизация реакции на инциденты, стабилизация процесса функционирования приложения
👉 Governance и Compliance: как построить безопасный процесс разработки и соответствовать требованиям
👉 Облачные инструменты организации безопасной разработки на уровне процессов
Мероприятие будет полезно разработчикам и тимлидам команд разработки, DevOps и DevSecOps, руководителям и специалистам по информационной безопасности, техническим и ИТ-директорам.
Регистрация тут
На вебинаре будет обсуждаться, как создавать продукты, которые будут соответствовать требованиям безопасности, как автоматизировать разработку и доставку продукта там, где зависимости и условия меняются ежедневно.
Темы дискуссии:
👉 Что сегодня вкладывается в понятие DevSecOps
👉 Автоматизация тестирования безопасности на каждом этапе процесса разработки
👉 Автоматизация реакции на инциденты, стабилизация процесса функционирования приложения
👉 Governance и Compliance: как построить безопасный процесс разработки и соответствовать требованиям
👉 Облачные инструменты организации безопасной разработки на уровне процессов
Мероприятие будет полезно разработчикам и тимлидам команд разработки, DevOps и DevSecOps, руководителям и специалистам по информационной безопасности, техническим и ИТ-директорам.
Регистрация тут
❤5👍3
GoReplay — это опенсорсный инструмент мониторинга сети, который может записывать ваш трафик в реальном времени и использовать его для отслеживания, нагрузочного тестирования, мониторинга и детального анализа.
Установка
Загрузите последнюю версию бинарника и соберите
Как оно работает
Самый простейший вариант: sudo ./gor --input-raw :8000 --output-stdout который действует как tcpdump. Если у вас уже есть тестовая среда, вы можете сделать так: sudo ./gor --input-raw :8000 --output-http https://staging.env
Дополнительная информация: FAQ, Troubleshooting, Issues
#гайд
Установка
Загрузите последнюю версию бинарника и соберите
Как оно работает
Самый простейший вариант: sudo ./gor --input-raw :8000 --output-stdout который действует как tcpdump. Если у вас уже есть тестовая среда, вы можете сделать так: sudo ./gor --input-raw :8000 --output-http https://staging.env
Дополнительная информация: FAQ, Troubleshooting, Issues
#гайд
👍6❤3
#вопросыссобеседования
Чему будет равно a?
a=5; true | { true && a=10; }
Ответ: а = 5. Потому что каждая команда конвейера исполняется в отдельном SubShell
efusion@cannabis:~$ a=5; true | { true && a=10; echo $a; }
10
efusion@cannabis:~$ echo $a
5
Чему будет равно a?
a=5; true | { true && a=10; }
❤10🌚7
This media is not supported in your browser
VIEW IN TELEGRAM
Когда вас ДДОСят — вот самый правильный вариант решения проблемы 💪💪
👍12❤3😁3
#дайджест бесплатных сертификационных курсов
🔵 Основы программирования для Linux. Курс нацелен на изучение основ программирования в операционной сиcтеме Linux. Он затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.
🔵 GIT. Программа поможет разобраться в трехэтапном рабочем процессе в GIT (системе контроля версий, или VCS) и настроить GIT в своей системе. Также научитесь создавать ветки и отслеживать файлы, а также создавать репозиторий в GIT, GitHub.
🔵 Основы Docker. В этом курсе вы начнете с основ: создания и запуска ваших первых контейнеров Docker. К концу курса получите краткое представление о запуске контейнеров в рабочей среде и о том, как решать проблемы расширенной оркестровки, такие как высокая доступность, обнаружение служб и согласование.
🔵 Microsoft Azure Essentials. Этот онлайн-курс расскажет о различных моделях доставки и ролях Azure. Вы узнаете о различных доступных службах Azure и тщательно изучите компоненты Azure. Кроме того, вы также получите информацию о службах Azure в различных регионах и получите подробную информацию о регионах Azure и менеджере ресурсов.
🔵 Специализация Python Scripting for DevOps. Научитесь разрабатывать и развертывать программное обеспечение с использованием Python. Эта специализация даст вам основы программирования, включая знания и навыки, необходимые для карьеры в области разработки программного обеспечения, информационных технологий и науки о данных.
🔵 Introduction to Cloud. Вы также узнаете о различных моделях облачных сервисов (IaaS, PaaS, SaaS) и моделях развертывания (публичное облако, частное облако, гибридное облако), ключевых компонентах облачной архитектуры (виртуализация, виртуальные машины, хранилища, сети, контейнеры) и новых облачных тенденциях (гибридное мультиоблачное, бессерверное, микросервисы, Cloud Native, модернизация приложений).
🔵 Основы программирования для Linux. Курс нацелен на изучение основ программирования в операционной сиcтеме Linux. Он затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.
🔵 GIT. Программа поможет разобраться в трехэтапном рабочем процессе в GIT (системе контроля версий, или VCS) и настроить GIT в своей системе. Также научитесь создавать ветки и отслеживать файлы, а также создавать репозиторий в GIT, GitHub.
🔵 Основы Docker. В этом курсе вы начнете с основ: создания и запуска ваших первых контейнеров Docker. К концу курса получите краткое представление о запуске контейнеров в рабочей среде и о том, как решать проблемы расширенной оркестровки, такие как высокая доступность, обнаружение служб и согласование.
🔵 Microsoft Azure Essentials. Этот онлайн-курс расскажет о различных моделях доставки и ролях Azure. Вы узнаете о различных доступных службах Azure и тщательно изучите компоненты Azure. Кроме того, вы также получите информацию о службах Azure в различных регионах и получите подробную информацию о регионах Azure и менеджере ресурсов.
🔵 Специализация Python Scripting for DevOps. Научитесь разрабатывать и развертывать программное обеспечение с использованием Python. Эта специализация даст вам основы программирования, включая знания и навыки, необходимые для карьеры в области разработки программного обеспечения, информационных технологий и науки о данных.
🔵 Introduction to Cloud. Вы также узнаете о различных моделях облачных сервисов (IaaS, PaaS, SaaS) и моделях развертывания (публичное облако, частное облако, гибридное облако), ключевых компонентах облачной архитектуры (виртуализация, виртуальные машины, хранилища, сети, контейнеры) и новых облачных тенденциях (гибридное мультиоблачное, бессерверное, микросервисы, Cloud Native, модернизация приложений).
🥰47👍36🔥24👏23🤩22
🔥😎🤯 Развертывание non-deployable сервисов на ArgoCD и Kustomize, управляя пограничными состояниями
Условие примера, приведенного автором, требовало, чтобы была сохранена структура каталогов для сотен репозиториев при переходе от kubectl к подходу ArgoCD.
В каждом репозитории есть Configmap-ы в соответствии со стандартизированным внутренним шаблоном, которые позволяют наследовать их на уровне всей команды, где у нескольких приложений может быть, совместно используемые конфиги.
Ничего нового — в Spring Boot есть встроенный механизм, который склеивает все конфигурационные файлы вместе, но в Python, Javascript и других ЯП все не так просто. Такая функция поддерживается в Helm — можно объединить несколько файлов, которые объединятся и будут переданы вместе в шаблоны.
Проблема
ArgoCD не позволяет синхронизировать ресурсы с одинаковым именем — нет способа выбрать, какой ресурс имеет более высокий приоритет.
Что же делать?
Kustomize можно настроить с помощью плагинов-генераторов — это скрипты или бинарники, запускаемые в контексте каталога, и в результате возвращают ресурсы Kubernetes в формате YAML.
Далее автор объединит пользовательскую логику в приложение Go, импортирует необходимые библиотеки, скомпилирует ее и выпустит в artifactory, например Nexus или JFrog.
Подробное продолжение тут
#туториал
Условие примера, приведенного автором, требовало, чтобы была сохранена структура каталогов для сотен репозиториев при переходе от kubectl к подходу ArgoCD.
В каждом репозитории есть Configmap-ы в соответствии со стандартизированным внутренним шаблоном, которые позволяют наследовать их на уровне всей команды, где у нескольких приложений может быть, совместно используемые конфиги.
Ничего нового — в Spring Boot есть встроенный механизм, который склеивает все конфигурационные файлы вместе, но в Python, Javascript и других ЯП все не так просто. Такая функция поддерживается в Helm — можно объединить несколько файлов, которые объединятся и будут переданы вместе в шаблоны.
Проблема
ArgoCD не позволяет синхронизировать ресурсы с одинаковым именем — нет способа выбрать, какой ресурс имеет более высокий приоритет.
Что же делать?
Kustomize можно настроить с помощью плагинов-генераторов — это скрипты или бинарники, запускаемые в контексте каталога, и в результате возвращают ресурсы Kubernetes в формате YAML.
Далее автор объединит пользовательскую логику в приложение Go, импортирует необходимые библиотеки, скомпилирует ее и выпустит в artifactory, например Nexus или JFrog.
Подробное продолжение тут
#туториал
❤4🔥4
✍️ Библиотека программиста» находится в поиске переводчика и автора оригинальных статей
Тематика
● DevOps
Объем
● от 7 до 15 тыс. знаков без учета кода.
● 3-4 статьи в месяц.
Оплата
● 4к руб. за статью.
● перевод — 250 руб. за 1000 символов без учета кода.
● работаем с самозанятыми, ИП.
Статья публикуется на сайте proglib.io, в группе ВК (425к подписчиков), на канале «Библиотека программиста» (77к подписчиков) и в «Библиотеке devops’а» (6к подписчиков).
➡️ Заполнить анкету ⬅️
Тематика
● DevOps
Объем
● от 7 до 15 тыс. знаков без учета кода.
● 3-4 статьи в месяц.
Оплата
● 4к руб. за статью.
● перевод — 250 руб. за 1000 символов без учета кода.
● работаем с самозанятыми, ИП.
Статья публикуется на сайте proglib.io, в группе ВК (425к подписчиков), на канале «Библиотека программиста» (77к подписчиков) и в «Библиотеке devops’а» (6к подписчиков).
➡️ Заполнить анкету ⬅️
❤5👍3