- Создана система пресетов для быстрого переключения между конфигурациями - Добавлены пресеты: minimal, standard, docker, cluster - Обновлена структура проекта с папками cicd/, vault/, scripts/ - Упрощена система vault с функциональными секретами - Добавлены скрипты для работы с пресетами - Обновлен Makefile с командами для пресетов - Удалены старые файлы и структуры Автор: Сергей Антропов Сайт: https://devops.org.ru
100 lines
2.9 KiB
Markdown
100 lines
2.9 KiB
Markdown
# Пресеты для 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
|
||
```bash
|
||
# Показать все пресеты
|
||
make preset list
|
||
|
||
# Переключиться на пресет
|
||
make preset use minimal
|
||
make preset use standard
|
||
make preset use docker
|
||
make preset use cluster
|
||
```
|
||
|
||
### Через скрипт
|
||
```bash
|
||
# Показать все пресеты
|
||
./scripts/use-preset.sh
|
||
|
||
# Переключиться на пресет
|
||
./scripts/use-preset.sh minimal
|
||
```
|
||
|
||
### Ручное переключение
|
||
```bash
|
||
# Скопировать пресет в hosts.yml
|
||
cp molecule/presets/minimal.yml molecule/universal/hosts.yml
|
||
```
|
||
|
||
## Создание собственного пресета
|
||
|
||
1. Скопируйте существующий пресет:
|
||
```bash
|
||
cp molecule/presets/standard.yml molecule/presets/my-preset.yml
|
||
```
|
||
|
||
2. Отредактируйте файл под свои нужды
|
||
|
||
3. Используйте новый пресет:
|
||
```bash
|
||
make preset use my-preset
|
||
```
|
||
|
||
## Структура пресета
|
||
|
||
```yaml
|
||
---
|
||
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"]
|
||
```
|