Files
DevOpsLab/molecule/presets
Sergey Antropoff 0b981ca61e feat: Добавлена система пресетов для Molecule
- Создана система пресетов для быстрого переключения между конфигурациями
- Добавлены пресеты: minimal, standard, docker, cluster
- Обновлена структура проекта с папками cicd/, vault/, scripts/
- Упрощена система vault с функциональными секретами
- Добавлены скрипты для работы с пресетами
- Обновлен Makefile с командами для пресетов
- Удалены старые файлы и структуры

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 20:31:23 +03:00
..

Пресеты для 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

Создание собственного пресета

  1. Скопируйте существующий пресет:

    cp molecule/presets/standard.yml molecule/presets/my-preset.yml
    
  2. Отредактируйте файл под свои нужды

  3. Используйте новый пресет:

    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"]