Описание 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 # Роль, отвечающая за процедуру разведки при мажорном обновлении