Описание Ansible-ролей инсталлятора#

Структура ролей инсталлятора в Pangolin имеет вид:

├── SRC                                                                         # Группа ролей, отвечающая за систему резервного копирования
│   └── tasks
│       ├── backup.yml                                                          # Создание резервной копии
│       ├── check_src_exists.yml                                                # Проверка существования системы резервного копирования
│       ├── main.yml                                                            # Главная роль, отвечающая за систему резервного копирования
│       ├── return_original_scripts.yml                                         # Возврат исходных скриптов
│       ├── revert_pg_server.yml                                                # Восстановление к исходному состоянию pg_server
│       ├── revert_rpm_install.yml                                              # Возврат к исходному состоянию при установке из .rpm
│       ├── templates
│       │   ├── manage_backup.sh.j2
│       │   └── pg_se_archlogs.sh.j2 
│       └── update_pg_server.yml                                                # Обновление расширения pg_stat_kcache на pg_server
├── checkup                                                                     # Группа ролей для проверки перед установкой/обновлением
│   ├── files
│   │   ├── requirements.altlinux.txt                                           # Список требуемых пакетов для корректной установки на системы AltLinux
│   │   └── requirements.txt                                                    # Список требуемых пакетов для корректной установки 
│   ├── tasks
│   │   ├── check_action_install.yml                                            # Проверка действия «Установка»
│   │   ├── check_action_update.yml                                             # Проверка действия «Обновления»
│   │   ├── check_and_use_custom_config.yml                                     # Проверка и использование пользовательского конфига custom_config.yml
│   │   ├── check_exist_certificates.yml                                        # Проверка существующих сертефикатов
│   │   ├── check_exist_components_and_define_configuration_type.yml            # Проверка существующих компонентов и определение типа конфигурации
│   │   ├── check_physical_space_on_directories_or_mount_points.yml             # Проверка доступного физического пространства на точках монтирования
│   │   ├── check_system_user_and_group.yml                                     # Проверка наличия системного пользователя и группы
│   │   ├── define_current_master.yml                                           # Определение текущего мастера (только для кластера)
│   │   ├── find_package.yml                                                    # Поиск пакетов в дистрибутиве
│   │   ├── get_old_vars.yml                                                    # Получение переменных предыдущей установки (только обновление)
│   │   ├── linux_env.yml                                                       # Настройка окружения Linux
│   │   ├── main.yml                                                            # Корневая роль запуска проверки установки/обновления
│   │   ├── prepare_update.yml                                                  # Подготовка обновления
│   │   ├── python_env.yml                                                      # Настройка окружения Python
│   │   ├── redefine_variables.yml                                              # Переопределение переменных
│   │   ├── required_packages-altlinux.yml                                      # Список необходимых пакетов для ОС Альт Линукс
│   │   ├── required_packages-altlinux10.yml                                    # Список необходимых пакетов для ОС Альт 10
│   │   ├── required_packages-altlinux9.yml                                     # Список необходимых пакетов для ОС Альт 9
│   │   ├── required_packages-astra.yml                                         # Список необходимых пакетов для ОС Astra Linux
│   │   ├── required_packages-redos.yml                                         # Список необходимых пакетов для ОС РЕД ОС
│   │   ├── required_packages-rhel.yml                                          # Список необходимых пакетов для ОС Red Hat Enterprise Linux
│   │   ├── required_packages-sberlinux.yml                                     # Список необходимых пакетов для ОС Platform V SberLinux OS Server
│   │   ├── required_packages-ubuntu.yml                                        # Список необходимых пакетов для ОС Ubuntu
│   │   ├── revert.yml                                                          # Очистка и восстановление исходного состояния
│   │   └── verify_custom_config.yml                                            # Валидатор переданных в файле custom_config.yml переменных
│   └── templates
│       ├── 10-kmadmin_pg.j2
│       └── 10-postgres.j2
├── clean                                                                       # Очистка КТС перед установкой
│   └── tasks
│       └── main.yml.                                                        
├── common                                                                      # Общие роли для процесса установки/обновления
│   ├── tasks
│   │   ├── backup_all.yml                                                      # Роль для создания полной резервной копии
│   │   ├── backup_restore_bash_sudoers.yml                                     # Создание резервной копии и восстановление привелегированных пользователей
│   │   ├── bash_profile.yml                                                    # Настройка bash_profile
│   │   ├── block_traffic.yml                                                   # Блокирование траффика
│   │   ├── define_ips_nodes.yml                                                # Определение IP-адресов узлов
│   │   ├── disable_backup_user.yml                                             # Отключение резервного копирования пользователей
│   │   ├── disable_monitoring.yml                                              # Отключение мониторинга
│   │   ├── history_of_stand.yml                                                # Работа с историей стенда
│   │   ├── make_dump_and_calc_dump_checksums.yml                               # Создание дампа и подсчет контрольной суммы дампа
│   │   ├── merge_configs.yml                                                   # Объединение файлов конфигурации
│   │   ├── rename_old_dirs_and_update_old_symlinks.yml                         # Роль для переименования старых каталогов и обновление старых символьных ссылок
│   │   ├── trigger_stop_update.yml                                             # Роль, выполняющая остановку обновления по условию
│   │   ├── update_edit_pghba.yml                                               # Обновление с редактированием pghba
│   │   ├── update_errors_sync_to_hosts.yml                                     # Синхронизация ошибок обновления по хостам
│   │   ├── use_auto_merge.yml                                                  # Система автоматического слияния файлов конфигурации
│   │   └── write_to_json_file.yml                                              # Роль записи файлов типа JSON
│   └── templates
│       ├── diff_cfg.txt.j2
│       ├── diff_pgbouncer_cfg.txt.j2
│       ├── manage_backup_fake.sh.j2
│       └── pg_se_archlogs_fake.sh.j2
├── configure                                                                   # Группа ролей для подготовки стенда
│   ├── tasks
│   │   ├── configure_for_update.yml                                            # Подготовка для обновления
│   │   ├── encrypt_passwords_in_configs.yml                                    # Шифрование паролей в конфигурационных файлах
│   │   ├── finish_configure.yml                                                # Завершение подготовки
│   │   ├── main.yml                                                            # Корневая роль для запуска подготовки стенда
│   │   ├── update_change_reuse_time.yml                                        # Обновление времени переиспользования/смены/сброса паролей в БД
│   │   ├── update_pg_stat_kcache.yml                                           # Обновление расширения pg_stat_kcache
│   │   ├── update_user_pass.yml                                                # Обновление пользовательских паролей
│   │   └── welcome_message.yml                                                 # Создание приветственного сообщения
│   └── templates
│       ├── dynmotd.sh.j2
│       ├── ext_update.sql.j2
│       ├── pg_quota.conf.j2
│       └── run_update_extentions.sh.j2
├── control                                                                     # Група ролей, отвечающая за различные сценарии управления БД
│   └── tasks
│       ├── control_create_user.yml                                             # Сценарий создания пользователей
│       ├── control_get_components_version.yml                                  # Сценарий получения версий компонентов
│       ├── control_get_installed_contrib_ext.yml                               # Сценарий и получение установленных поставляемых расширений
│       ├── control_install_contrib_ext.yml                                     # Сценарий установки поставляемых расширений
│       ├── control_monitoring_operations.yml                                   # Сценарий работы мониторинга
│       ├── control_pre_check.yml                                               # Сценарий предпроверки
│       ├── control_scouting_create_user.yml                                    # Сценарий разведки создания пользователей
│       ├── control_scouting_pgbouncer.yml                                      # Сценарий разведки pgbouncer
│       ├── control_scouting_users.yml                                          # Сценарий разведки пользователей
│       ├── control_start_database.yml                                          # Сценарий запуска БД
│       ├── control_stop_database.yml                                           # Сценарий остановки БД
│       ├── control_switchover.yml                                              # Сценарий переключения
│       ├── control_tunning_pgbouncer.yml                                       # Сценарий настройки pgbouncer
│       ├── control_unlock_reset_user.yml                                       # Сценарий разблокировки восстановления пользователей
│       ├── edit_pg_hba.yml                                                     # Редактирование pg_hba
│       ├── main.yml                                                            # Корневая роль, отвечающая за процесс контроля
│       └── scout_edit_pg_hba.yml                                               # Разведка настройки pg_hba
├── deprecated_roles                                                            # Группа устаревших ролей
│   ├── checkup                                                                 # Устаревшие роли проверки установки/обновления
│   │   └── tasks
│   │       ├── check_certificates_params.yml
│   │       ├── define_update_certificates.yml
│   │       └── prepare_update_certs.yml
│   └── postgresql                                                              # Устаревшие роли PostgreSQL
│       └── tasks
│           └── generate_certs.yml
├── doc                                                                         # Роли, связанные с документацией
│   └── tasks
│       ├── backup.yml                                                          # Резервирование старой документации
│       ├── main.yml                                                            # Главная роль по доставке документации на ноды
│       └── revert.yml                                                          # Возвращение состояния документации по завершении процесса
├── etcd                                                                        # Группа ролей для etcd
│   ├── tasks
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── install.yml                                                         # Установка etcd
│   │   ├── main.yml                                                            # Корневая роль при настройке etcd
│   │   ├── revert.yml                                                          # Восстановление исходного состояния
│   │   ├── revert_clean_etcd_db.yml                                            # Восстановление исходного состояния БД etcd
│   │   ├── update.yml                                                          # Процедура обновления etcd
│   │   └── update_post.yml                                                     # Процедура донастройки после обновления
│   └── templates
│       ├── etcd.conf.j2
│       └── etcd.service.j2
├── finally                                                                     # Группа ролей, отвечающая за финализацию процедуры обновления
│   └── tasks
│       ├── finish_update.yml                                                   # Завершение обновления
│       ├── main.yml                                                            # Корневая роль процедуры финализации
│       ├── switch_to_original_configs.yml                                      # Переключение на исходные конфигурационные файлы
│       └── turn_off_etcd_v2.yml                                                # Выключение etcd
├── license_pangolin                                                            # Группа ролей, отвечающая за лицензирование Pangolin
│   └── tasks
│       ├── backup.yml                                                          # Создание резервной копии
│       ├── install.yml                                                         # Установка лицензии
│       ├── main.yml                                                            # Корневая роль, отвечающая за лицензирование Pangolin
│       ├── revert.yml                                                          # Восстановление исходного состояния
│       ├── scout_install.yml                                                   # Разведка установки
│       └── scout_update.yml                                                    # Разведка обновления
├── pangolin_backup_tools                                                       # Инструменты резервного копирования Pangolin
│   ├── tasks
│   │   └── main.yml
│   └── templates
│       ├── backup-tools-env.j2
│       ├── manage_backup.sh.j2
│       └── pg_se_archlogs.sh.j2
├── patroni                                                                     # Группа ролей, отвечающая за утилиту Patroni
│   ├── tasks
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── install.yml                                                         # Установка утилиты Patroni
│   │   ├── main.yml                                                            # Корневая роль, отвечающая за утилиту Patroni
│   │   ├── pending_restart.yml                                                 # Остановка перезапуска
│   │   ├── revert.yml                                                          # Восстановление исходного состояния
│   │   ├── update.yml                                                          # Обновление Patroni
│   │   ├── update_define_auth_password.yml                                     # Обновление - определение пароля аутентификации
│   │   ├── update_define_roles_of_nodes.yml                                    # Обновление - определение ролей нод-участников кластера
│   │   ├── update_post.yml                                                     # Донастройка после процедуры обновления
│   │   ├── update_run_switchover.yml                                           # Обновление - запуск переключения
│   │   ├── update_wait_cluster_synchronization.yml                             # Обновление - ожидание синхронизации кластера
│   │   └── update_with_patronictl.yml                                          # Обновление с использованием patronictl
│   └── templates
│       └── patroni.service.j2
├── pg_auth_reencrypt                                                           # Группа ролей, отвечающая за pangolin-auth-reencrypt
│   ├── tasks
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── check_and_stop.yml                                                  # Проверка и остановка pangolin-auth-reencrypt
│   │   ├── install_and_update.yml                                              # Процедура установки и обновления pangolin-auth-reencrypt
│   │   ├── main.yml                                                            # Корневая роль, отвечающая за pangolin-auth-reencrypt
│   │   └── revert.yml                                                          # Восстановление исходного состояния
│   └── templates
│       └── pangolin_reencrypt@.service.j2
├── pg_certs_rotate_agent                                                       # Группа ролей, отвечающая за pg_certs_rotate_agent
│   ├── tasks
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── check_and_stop.yml                                                  # Проверка и остановка pg_certs_rotate_agent
│   │   ├── create_and_edit_cfg.yml                                             # Создание и редактирование файла конфигурации
│   │   ├── finish_install_and_update.yml                                       # Процедура завершения настройки и обновления
│   │   ├── install_and_update.yml                                              # Процедура установки и обновления
│   │   ├── main.yml                                                            # Корневая роль, отвечающая за pg_certs_rotate_agent
│   │   ├── prepare_exec_files.yml                                              # Подготовка файлов к использованию
│   │   └── revert.yml                                                          # Восстановление исходного состояния
│   └── templates
│       ├── pg_certs_rotate_agent.j2
│       └── pg_certs_rotate_agent.service.j2
├── pgbouncer                                                                   # Группа ролей, отвечающая за утилиту pgbouncer
│   ├── tasks
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── install.yml                                                         # Процедура установки
│   │   ├── main.yml                                                            # Корневая роль, отвечающая за утилиту pgbouncer
│   │   ├── revert.yml                                                          # Восстановление исходного состояния
│   │   └── update.yml                                                          # Процедура обновления
│   └── templates
│       ├── pangolin-pooler-restart.sh.j2
│       ├── pgbouncer.service.j2
│       └── userlist.txt.j2
├── postgresql                                                                  # Группа ролей, отвечающая за установку и настройку postgresql
│   ├── tasks
│   │   ├── add_and_configure_db_user_with_enc_space.yml                        # Добавление и настройка пользователей БД с зашифрованым пространством
│   │   ├── backup.yml                                                          # Создание резервной копии
│   │   ├── copy_3rdparty_extensions.yml                                        # Копирование внешних расширений
│   │   ├── create_encrypt_password.yml                                         # Создание шифрованного пароля
│   │   ├── create_local_backup.yml                                             # Создание локальной резервной копии
│   │   ├── create_p12_config_files.yml                                         # Создание конфигурационных файлов p12
│   │   ├── fix_pg_start_backup_before_major_update.yml                         # Исправление pg_start перед мажорным обновлением
│   │   ├── generate_and_update_db_user_pass.yml                                # Генерирование и обновление паролей пользователей БД
│   │   ├── install.yml                                                         # Процедура установки
│   │   ├── main.yml                                                            # Корневая роль, отвечающая за установку и настройку postgresql
│   │   ├── mv_user_tablespaces.yml                                             # Перемещение пользовательских табличных пространств
│   │   ├── pg_upgrade_log_print.yml                                            # Вывод журнала pg_upgrade
│   │   ├── revert_major.yml                                                    # Восстановление исходного состояния при мажорном обновлении
│   │   ├── revert_minor.yml                                                    # Восстановление исходного состояния при минорном обновлении
│   │   ├── set_permission_files_protect.yml                                    # Установка разрешений для защиты файлов
│   │   ├── update_bootstrap.yml                                                # Обновление bootstrap
│   │   ├── update_major.yml                                                    # Процедура мажорного обновления
│   │   ├── update_minor.yml                                                    # Процедура минорного обновления
│   │   ├── update_post_major.yml                                               # Процедура донастройки после мажорного обновления
│   │   ├── update_pre_major.yml                                                # Процедура преднастройки до мажорного обновления
│   │   └── utilities.yml                                                       # Установка и настройка утилит
│   └── templates
│       ├── pg_receivewal.service.j2
│       ├── pkcs12_cfg.j2
│       ├── postgresql.service.j2
│       └── postgresql_clean_logs.j2
├── recovery                                                                    # Группа ролей, отвечающая за процедуру восстановления до исходного состояния
│   └── tasks
│       ├── checkup.yml                                                         # Восстановление после ошибки выполнения проверки установки/олбновления
│       ├── control_services_started.yml                                        # Восстановление после ошибки выполнения проверки запуска сервисов
│       ├── control_services_stopped.yml                                        # Восстановление после ошибки выполнения проверки остановки сервисов
│       ├── etcd.yml                                                            # Восстановление после ошибки выполнения ролей etcd
│       ├── finally.yml                                                         # Восстановление после ошибки выполнения финальных скриптов
│       ├── main.yml                                                            # Корневая роль, отвечающая за процедуру восстановления до исходного состояния
│       ├── main_major.yml                                                      # Основная процедура восстановления после ошибки выполнения мажорного обновления
│       ├── main_minor.yml                                                      # Основная процедура восстановления после ошибки выполнения минорного обновления
│       ├── patroni.yml                                                         # Восстановление после ошибки выполнения ролей patroni
│       ├── pg_auth_reencrypt.yml                                               # Восстановление после ошибки выполнения ролей pangolin-auth-reencrypt
│       ├── pg_certs_rotate.yml                                                 # Восстановление после ошибки выполнения ролей pg_certs_rotate_agent
│       ├── pgbouncer.yml                                                       # Восстановление после ошибки выполнения ролей pgbouncer
│       ├── postgresql.yml                                                      # Восстановление после ошибки выполнения ролей postgeesql
│       ├── revert_pg_server.yml                                                # Восстановление после ошибки выполнения ролей процедуры восстановления исходного состояния pg_server
│       └── revert_rpm_install.yml                                              # Восстановление после ошибки выполнения ролей процедуры восстановления исходного состояния rpm_install
├── tests                                                                       # Группа ролей, отвечающая за тестирование продукта после установки/обновлени
│   └── tasks
│       ├── consistency.yml                                                     # Проверка полноты переданной документации
│       ├── interface.yml                                                       # Проверка работоспособности интерфейса
│       ├── main.yml                                                            # Корневая роль, отвечающая за тестирование продукта после установки/обновления
│       ├── recovery.yml                                                        # Проверка работоспособности продукта после выполнения процедуры восстановления
│       └── sub_interface.yml                                                   # Проверка работоспособности командного интерфейса
├── tls                                                                         # Группа ролей, отвечающая за LDAP TLS
│   └── tasks
│       ├── checkup.yml                                                         # Проверка файлов и параметров для включения LDAP TLS
│       ├── enable_tls.yml                                                      # Включение LDAP TLS
│       └── main.yml                                                            # Корневая роль, отвечающая за LDAP TLS
└── update_scout                                                                # Группа ролей, отвечающая за разведку процедуры обновления
    ├── files
    │   ├── search_deprecated_extensions.sql
    │   ├── search_deprecated_functions.sql
    │   ├── search_deprecated_language.sql
    │   ├── search_deprecated_operator_class.sql
    │   ├── search_deprecated_operator_family.sql
    │   ├── search_deprecated_operators.sql
    │   ├── search_deprecated_polymorph_usage.sql
    │   ├── search_deprecated_types_infoschema.sql
    │   └── search_deprecated_types_missing.sql
    └── tasks                                                                  
        ├── check_deprecated_parameters_and_exts.yml                            # Проверка устаревших параметров и расширений
        ├── check_exist_deprecated_objects.yml                                  # Проверка существующих устаревших объектов
        ├── get_update_type.yml                                                 # Полученеие типа обновления
        ├── main.yml                                                            # Корневая роль, отвечающая за разведку процедуры обновления
        ├── scout.yml                                                           # Роль, отвечающая за процедуру разведки
        └── scout_major.yml                                                     # Роль, отвечающая за процедуру разведки при мажорном обновлении