Добавлена роль repo для автоматического добавления репозиториев

- Создана новая роль repo для добавления репозиториев на все ОС
- Добавлена поддержка Docker, PostgreSQL, Elasticsearch, Patroni репозиториев
- Реализована специальная поддержка российских дистрибутивов:
  - Astra Linux: добавлены репозитории Lab50 и debian-archive-keyring
  - Alt Linux: добавлены репозитории Sisyphus (alt-sisyphus, classic, contrib) и Autoimports
- Обновлена документация README.md с информацией о новой роли
- Обновлен .ansible-lint для подавления необходимых правил
- Автор: Сергей Антропов, https://devops.org.ru
This commit is contained in:
Сергей Антропов
2025-10-30 03:13:35 +03:00
parent a2316ae780
commit 23e1a6037b
25 changed files with 2495 additions and 1038 deletions

View File

@@ -10,6 +10,13 @@
preset_file: "/workspace/molecule/presets/{{ preset_name }}.yml"
tasks:
- name: Display filtered hosts
debug:
msg: |
================================================================================
Начало работы converge.yml
================================================================================
# =============================================================================
# НАСТРОЙКА - Загрузка конфигурации и подготовка
# =============================================================================
@@ -17,7 +24,7 @@
debug:
msg: |
================================================================================
НАСТРОЙКА - Загрузка конфигурации и подготовка
НАСТРОЙКА - Загрузка пресетов конфигурации и подготовка
================================================================================
Preset: {{ preset_name }}
================================================================================
@@ -29,19 +36,6 @@
# =============================================================================
# НАСТРОЙКА ЗАВЕРШЕНА - Переходим к подготовке контейнеров
# =============================================================================
- name: Configuration loaded and proceed to container preparation
debug:
msg: |
================================================================================
НАСТРОЙКА ЗАВЕРШЕНА
================================================================================
Конфигурация загружена. Далее выполняется подготовка контейнеров (ранее была в run.yml)
================================================================================
# =============================================================================
# ПОДГОТОВКА КОНТЕЙНЕРОВ (бывший run.yml)
# =============================================================================
@@ -58,6 +52,13 @@
- setup
- color-reset
- name: Display filtered hosts
debug:
msg: |
================================================================================
ПОДГОТОВКА КОНТЕЙНЕРОВ
================================================================================
# Создание tmp директории для Ansible
- name: Create Ansible tmp directory
file:
@@ -221,4 +222,18 @@
no_log: true
tags:
- setup
- python
- python
- name: Display filtered hosts
debug:
msg: |
================================================================================
ПОДГОТОВКА КОНТЕЙНЕРОВ ЗАВЕРШЕНА
================================================================================
- name: Display filtered hosts
debug:
msg: |
================================================================================
РАБОТА ФАЙЛА CONVERGE.YML ЗАВЕРШЕНА
================================================================================

View File

@@ -46,18 +46,12 @@
kind_clusters: []
tasks:
# - name: Install required collections
# command: ansible-galaxy collection install -r /workspace/requirements.yml
# delegate_to: localhost
# ignore_errors: true
# register: collections_install
# changed_when: false
# run_once: true
# become: true
# vars:
# ansible_python_interpreter: /usr/bin/python3
# environment:
# ANSIBLE_COLLECTIONS_PATH: /usr/share/ansible/collections
- name: Display running create.yml
debug:
msg: |
================================================================================
Запуск create.yml
================================================================================
# Определяем архитектуру системы для корректной загрузки образов
- name: Detect system architecture
@@ -94,16 +88,6 @@
set_fact:
hosts: "{{ filtered_hosts | default(hosts) }}"
- name: Display filtered hosts
debug:
msg: |
================================================================================
СОЗДАНИЕ ТЕСТОВЫХ ИНСТАНСОВ
================================================================================
Platform: {{ ansible_architecture }}
Hosts: {{ hosts | length }}
================================================================================
# =============================================================================
# СЕТЕВОЕ ПОДКЛЮЧЕНИЕ
# =============================================================================
@@ -188,8 +172,6 @@
delay: 5
until: container_info.container.State.Running | default(false)
# Примечание: Установка пакетов и создание директорий перенесены в converge.yml
# (в секцию для hosts: all) для выполнения на всех поднятых контейнерах
# =============================================================================
# DIND NODES - Создание контейнеров Docker-in-Docker
@@ -354,11 +336,23 @@
mode: "0644"
- name: Display inventory summary
shell: |
echo "Inventory Summary:"
echo "- Total hosts: {{ hosts | length }}"
echo "- Groups: {{ groups_map.keys() | list | join(', ') }}"
echo "- Systemd nodes: {{ hosts | selectattr('type','undefined') | list | length }}"
echo "- DinD nodes: {{ hosts | selectattr('type','defined') | selectattr('type','equalto','dind') | list | length }}"
echo "- DOoD nodes: {{ hosts | selectattr('type','defined') | selectattr('type','equalto','dood') | list | length }}"
register: inventory_summary_output
changed_when: false
- name: Show inventory summary
debug:
msg: "{{ inventory_summary_output.stdout_lines }}"
- name: End of create.yml
debug:
msg: |
📋 Inventory Summary:
- Total hosts: {{ hosts | length }}
- Groups: {{ groups_map.keys() | list | join(', ') }}
- Systemd nodes: {{ hosts | selectattr('type','undefined') | list | length }}
- DinD nodes: {{ hosts | selectattr('type','defined') | selectattr('type','equalto','dind') | list | length }}
- DOoD nodes: {{ hosts | selectattr('type','defined') | selectattr('type','equalto','dood') | list | length }}
================================================================================
Окончание работы create.yml
================================================================================

View File

@@ -20,6 +20,12 @@
tasks:
- name: Display filtered hosts
debug:
msg: |
================================================================================
НАЧАЛО РАБОТЫ ФАЙЛА DESTROY.YML
================================================================================
# =============================================================================
# НАСТРОЙКА - Загрузка конфигурации
# =============================================================================
@@ -121,10 +127,17 @@
debug:
msg: |
================================================================================
CLEANUP SUMMARY
СТАТИСТИКА ОЧИСТКИ
================================================================================
Containers: {{ hosts | length }}
Volumes: {{ hosts | selectattr('type','defined') | selectattr('type','equalto','dind') | list | length }}
Network: {{ docker_network }}
Clusters: {{ kind_clusters | default([]) | length }}
================================================================================
- name: Display filtered hosts
debug:
msg: |
================================================================================
РАБОТА ФАЙЛА DESTROY.YML ЗАВЕРШЕНА
================================================================================

View File

@@ -41,24 +41,24 @@ hosts:
# =============================================================================
# UBUNTU СЕРВЕРЫ
# =============================================================================
- name: ubuntu1
family: ubuntu
groups: [cod, ubuntu]
platform: "linux/arm64" # Используем ARM64
docker_options:
platform: "linux/arm64"
docker_platform: "linux/arm64"
#- name: ubuntu1
# family: ubuntu
# groups: [cod, ubuntu]
# platform: "linux/arm64" # Используем ARM64
# docker_options:
# platform: "linux/arm64"
# docker_platform: "linux/arm64"
# =============================================================================
# DEBIAN СЕРВЕРЫ
# =============================================================================
- name: debian1
family: debian
groups: [cod, debian]
platform: "linux/arm64" # Используем ARM64
docker_options:
platform: "linux/arm64"
docker_platform: "linux/arm64"
#- name: debian1
# family: debian
# groups: [cod, debian]
# platform: "linux/arm64" # Используем ARM64
# docker_options:
# platform: "linux/arm64"
# docker_platform: "linux/arm64"
# =============================================================================
# ALT СЕРВЕРЫ
@@ -85,13 +85,13 @@ hosts:
# =============================================================================
# CENTOS СЕРВЕРЫ (ARM64)
# =============================================================================
- name: centos1
family: centos
groups: [cod, centos]
platform: "linux/arm64" # Используем ARM64
docker_options:
platform: "linux/arm64"
docker_platform: "linux/arm64"
#- name: centos1
# family: centos
# groups: [cod, centos]
# platform: "linux/arm64" # Используем ARM64
# docker_options:
# platform: "linux/arm64"
# docker_platform: "linux/arm64"
# =============================================================================
# RHEL СЕРВЕРЫ (ARM64)