Files
DevOpsLab/molecule/universal/vars.yml
Sergey Antropoff b4881da7c5 feat: Добавлена универсальная лаборатория для тестирования Ansible ролей
- Создана структура molecule/universal/ с поддержкой DinD и DOoD
- Добавлена поддержка Kind кластеров для Kubernetes тестирования
- Интегрированы Helm charts (nginx, prometheus-stack)
- Добавлена поддержка Istio service mesh с Kiali
- Создан Makefile с lab-целями для управления лабораторией
- Добавлена поддержка Prometheus + Grafana с автопровижинингом
- Создан README с подробной документацией

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

91 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Конфигурация универсальной лаборатории
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Сеть для лаборатории
docker_network: labnet
# Образы для разных семейств ОС
images:
debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
rhel: "quay.io/centos/centos:stream9-systemd"
# Можно использовать собственные образы
# debian: "inecs/ansible:ubuntu"
# rhel: "inecs/ansible:centos"
# Настройки по умолчанию для systemd контейнеров
systemd_defaults:
privileged: true
command: "/sbin/init"
volumes:
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
tmpfs:
- "/run"
- "/run/lock"
capabilities:
- "SYS_ADMIN"
# Определение хостов лаборатории
hosts:
# Пример: etcd кластер
- name: etcd1
group: etcd
family: debian
- name: etcd2
group: etcd
family: debian
- name: etcd3
group: etcd
family: debian
# Пример: PostgreSQL с Patroni
- name: patroni1
group: patroni
family: rhel
- name: patroni2
group: patroni
family: rhel
- name: patroni3
group: patroni
family: rhel
# Пример: HAProxy
- name: haproxy
group: haproxy
family: rhel
publish:
- "5000:5000" # RW порт
- "5001:5001" # RO порт
# Пример: DinD узел для изоляции
- name: app-dind
group: apps
type: dind
publish:
- "8080:8080"
# Пример: DOoD узел (Docker Outside of Docker)
- name: app-dood
group: apps
type: dood
publish:
- "8081:8081"
# Kind кластеры (опционально)
kind_clusters:
- name: lab
workers: 2
api_port: 6443
addons:
ingress_nginx: true
metrics_server: true
istio: true
kiali: true
prometheus_stack: true
ingress_host_http_port: 8081
ingress_host_https_port: 8443
# Пути для файлов
generated_inventory: "${MOLECULE_EPHEMERAL_DIRECTORY}/inventory/hosts.ini"