- Создана система пресетов для быстрого переключения между конфигурациями - Добавлены пресеты: minimal, standard, docker, cluster - Обновлена структура проекта с папками cicd/, vault/, scripts/ - Упрощена система vault с функциональными секретами - Добавлены скрипты для работы с пресетами - Обновлен Makefile с командами для пресетов - Удалены старые файлы и структуры Автор: Сергей Антропов Сайт: https://devops.org.ru
2.9 KiB
2.9 KiB
Пресеты для Molecule
Описание
Пресеты - это готовые конфигурации для быстрого развертывания тестовых окружений. Каждый пресет содержит определенный набор хостов и настроек.
Доступные пресеты
minimal.yml
- Описание: Минимальный набор для быстрого тестирования
- Хосты: 1 хост (Debian)
- Использование: Для простых тестов и отладки
standard.yml
- Описание: Стандартный набор для тестирования
- Хосты: 3 хоста (Debian + RHEL)
- Использование: Для большинства тестов
docker.yml
- Описание: Пресет с Docker контейнерами
- Хосты: 2 systemd + 1 DinD + 1 DOoD
- Использование: Для тестирования Docker-приложений
cluster.yml
- Описание: Пресет для кластерного тестирования
- Хосты: 8 хостов (web, app, database, loadbalancer, monitoring)
- Использование: Для тестирования сложных архитектур
Использование
Через Makefile
# Показать все пресеты
make preset list
# Переключиться на пресет
make preset use minimal
make preset use standard
make preset use docker
make preset use cluster
Через скрипт
# Показать все пресеты
./scripts/use-preset.sh
# Переключиться на пресет
./scripts/use-preset.sh minimal
Ручное переключение
# Скопировать пресет в hosts.yml
cp molecule/presets/minimal.yml molecule/universal/hosts.yml
Создание собственного пресета
-
Скопируйте существующий пресет:
cp molecule/presets/standard.yml molecule/presets/my-preset.yml -
Отредактируйте файл под свои нужды
-
Используйте новый пресет:
make preset use my-preset
Структура пресета
---
docker_network: labnet
generated_inventory: "{{ molecule_ephemeral_directory }}/inventory/hosts.ini"
images:
debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
rhel: "quay.io/centos/centos:stream9-systemd"
systemd_defaults:
privileged: true
command: "/sbin/init"
volumes:
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
tmpfs: ["/run", "/run/lock"]
capabilities: ["SYS_ADMIN"]
hosts:
- name: host1
family: debian
groups: [test]
- name: docker1
type: dind
groups: [docker]
publish: ["8080:8080"]