feat: Добавлена система пресетов для Molecule
- Создана система пресетов для быстрого переключения между конфигурациями - Добавлены пресеты: minimal, standard, docker, cluster - Обновлена структура проекта с папками cicd/, vault/, scripts/ - Упрощена система vault с функциональными секретами - Добавлены скрипты для работы с пресетами - Обновлен Makefile с командами для пресетов - Удалены старые файлы и структуры Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
95
molecule/universal/site.yml
Normal file
95
molecule/universal/site.yml
Normal file
@@ -0,0 +1,95 @@
|
||||
---
|
||||
# Универсальный плейбук для тестирования
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
- name: Base deps
|
||||
hosts: all
|
||||
become: true
|
||||
tasks:
|
||||
- name: Update apt cache (Debian)
|
||||
apt:
|
||||
update_cache: true
|
||||
when: ansible_os_family == 'Debian'
|
||||
changed_when: false
|
||||
|
||||
- name: Common tools
|
||||
package:
|
||||
name:
|
||||
- curl
|
||||
- jq
|
||||
- ca-certificates
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- procps
|
||||
- net-tools
|
||||
- sudo
|
||||
- vim
|
||||
state: present
|
||||
|
||||
# ===== ТЕСТОВЫЕ РОЛИ =====
|
||||
- name: Deploy example role to test hosts
|
||||
hosts: test
|
||||
become: true
|
||||
roles:
|
||||
- example
|
||||
vars:
|
||||
example_package_name: "nginx"
|
||||
example_directory: "/opt/example"
|
||||
example_setting: "test"
|
||||
example_port: 8080
|
||||
|
||||
- name: Deploy example role to docker hosts (DinD)
|
||||
hosts: docker
|
||||
become: true
|
||||
roles:
|
||||
- example
|
||||
vars:
|
||||
example_package_name: "docker"
|
||||
example_directory: "/opt/docker-example"
|
||||
example_setting: "dind"
|
||||
example_port: 8080
|
||||
|
||||
- name: Deploy example role to dood hosts (DOoD)
|
||||
hosts: dood
|
||||
become: true
|
||||
roles:
|
||||
- example
|
||||
vars:
|
||||
example_package_name: "docker"
|
||||
example_directory: "/opt/dood-example"
|
||||
example_setting: "dood"
|
||||
example_port: 8081
|
||||
|
||||
# ===== Пример: поднять compose внутри DinD-хостов =====
|
||||
- name: Deploy stack inside DinD nodes
|
||||
hosts: docker
|
||||
gather_facts: false
|
||||
vars:
|
||||
docker_host: "tcp://{{ inventory_hostname }}:2375"
|
||||
stack_dir: /root/stack
|
||||
tasks:
|
||||
- name: Create stack directory
|
||||
file:
|
||||
path: "{{ stack_dir }}"
|
||||
state: directory
|
||||
|
||||
- name: Create simple docker-compose.yml
|
||||
copy:
|
||||
dest: "{{ stack_dir }}/docker-compose.yml"
|
||||
content: |
|
||||
version: '3.8'
|
||||
services:
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- NGINX_HOST=localhost
|
||||
- NGINX_PORT=80
|
||||
|
||||
- name: Deploy stack with docker-compose
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ stack_dir }}"
|
||||
state: present
|
||||
docker_host: "{{ docker_host }}"
|
||||
Reference in New Issue
Block a user