
Мини-пайплайн на страже синтаксиса и секретов в Ansible
magnusroot 11 минут назад Мини-пайплайн на страже синтаксиса и секретов в Ansible Уровень сложности Простой Время на прочтение 5 мин Охват и читатели 418 DevOps * Системное администрирование * Туториал Представим, что у...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. magnusroot 11 минут назад Мини-пайплайн на страже синтаксиса и секретов в Ansible Уровень сложности Простой Время на прочтение 5 мин Охват и читатели 418 DevOps * Системное администрирование * Туториал Представим, что у нас есть репозиторий, где хранятся плейбуки и роли Ansible. Делался он долго, старательно и по правилам. И даже если мы перед коммитами проверяем его через линтер, чтобы не сломать хрупкую YAML красоту и перепроверяем не забыли ли мы подчистить секреты с которыми проводили тесты, то рано или поздно подобную ошибку совершит кто-то другой.
И вот, чтобы снизить такую вероятность и лишний раз не заниматься правками в Git, чтобы вычистить пароли или поправить форматирование, можно немного обезопасить репозиторий заранее. Примеры настройки я буду показывать на Gitea, просто потому что она есть под рукой, но всё это актуально и работает и на остальных подобных системах, возможно, некоторые названия в интерфейсе будут немного другие. Готовим инфраструктуру Для начала нам понадобится Runner - это тот самый трудяга, который будет раз за разом выполнять проверки, которые мы ему зададим.
Технические детали
В нашем случае это будет Docker-контейнер. Развернуть его можно как на той же ноде, где стоит и Git, а можно и на любой другой, была бы сетевая связность. Шаг 1 И так, заходим на нашу машину, где решили разворачивать раннер и создаём dockerfile со следующим содержимым: FROM docker.
com/runner-images:ubuntu-latest RUN apt-get update && \ apt-get install -y yamllint && \ apt-get install -y wget && \ wget && \ tar -xzf gitleaks_8. gz && \ mv gitleaks /usr/local/bin/ && \ rm gitleaks_8. gz && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* За основу берём образ предоставляемый самим gitea и добавляем в него yamllint для проверки синтаксиса и поиска ошибок в YAML-файлах, а также gitleaks , который будет искать забытые пароли, ключи, API и прочие секреты.
Сохраняем файл и собираем образ: docker build -t ubuntu-yamllint:latest . Шаг 2 Создаём файл docker-compose. yml со следующим содержимым: version: '3' services: act_runner: image: gitea/act_runner:latest privileged: true volumes: - /var/run/docker.
Отраслевые последствия
sock:/var/run/docker. /runner_data:/data environment: - GITEA_INSTANCE_URL= - GITEA_RUNNER_REGISTRATION_TOKEN=YOUR_TOKEN - GITEA_RUNNER_NAME=my-docker-runner - GITEA_RUNNER_LABELS=ubuntu-yamllint:docker://ubuntu-yamllint:latest,ubuntu-latest:docker://docker. com/runner-images:ubuntu-latest,ubuntu-22.
com/runner-images:ubuntu-22. 04 restart: unless-stopped Здесь важно заполнить две переменные - GITEA_INSTANCE_URL (указать где находится ваш Git-репозиторий) и GITEA_RUNNER_REGISTRATION_TOKEN . Токен можно получить в настройках репозитория, во вкладке Actions -> Runners , нажав кнопку Create new Runner .
В этом же меню раннер появится после того, как вы запустите Docker-контейнер.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





