feat: Добавлена система пресетов для Molecule
- Создана система пресетов для быстрого переключения между конфигурациями - Добавлены пресеты: minimal, standard, docker, cluster - Обновлена структура проекта с папками cicd/, vault/, scripts/ - Упрощена система vault с функциональными секретами - Добавлены скрипты для работы с пресетами - Обновлен Makefile с командами для пресетов - Удалены старые файлы и структуры Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
99
molecule/presets/README.md
Normal file
99
molecule/presets/README.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# Пресеты для 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"]
|
||||
```
|
||||
Reference in New Issue
Block a user