Перейти к основному содержимому

Состав дистрибутива

В скриптах сборки СУБД Pangolin (далее – Pangolin) реализовано формирование составных компонентов zip-пакета и упаковка их в пакет PSQ-6.5.0-{OS}-distrib.zip.

Обозначения

Далее в разделе, в приведенных схемах дистрибутива, будут указаны следующие обозначения:

  • PSQ - код продукта СУБД Pangolin;
  • {OS} - наименование операционной системы и ее версия;
  • {product_version} - версия продукта (текущая версия: 6.5.0);
  • {short_version} - короткая версия продукта (текущая: 6.5);
  • {version_component} - версия компонента.

Составные части zip-пакета:

PSQ-{product_version}-{OS}-distrib.zip                    // Дистрибутив продукта СУБД Pangolin
├── PSQ-{product_version}-{OS}-cyclonedx-distrib.json // SBOM-файл для продукта
├── PSQ-doc-{product_version}-distrib.zip // Дистрибутив документации на программный продукт
├── PSQ-doc-{product_version}.pom
├── PSQ-{product_version}-{OS}-installer-distrib.zip // Инструменты развертывания и обновления продукта
├── PSQ-{product_version}-{OS}-installer-distrib.pom
├── PSQ-{product_version}-{OS}-owned-distrib.zip // Дистрибутив продукта
├── PSQ-{product_version}-{OS}-owned-distrib.pom
├── PSQ-{product_version}-{OS}-party-distrib.zip // Архив со сторонними зависимостями (расширениями 3rd Party)
├── PSQ-{product_version}-{OS}-party-distrib.pom
├── PSQ-{product_version}-{OS}-swidtag-distrib.swidtag // SWIDTAG-файл продукта
└── PSQ-{product_version}-{OS}-unpacker-distrib.sh // Скрипт по формированию единого дистрибутива

Распакованный дистрибутив

Подготовленный к процессу установки дистрибутив продукта СУБД Pangolin содержит перечисленные ниже элементы:

PSQ-{product_version}-distrib/
└── distributive/ // Каталог с распакованным дистрибутивом продукта СУБД Pangolin
├── debug/ // Набор пакетов для установки отладочных символов, собранных для основных модулей и утилит
│ ├── pangolin-backup-tools-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-client-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-dbms-{short_version}-libpq-debuginfo-{product_version}-{OS}.x86_64.rpm
│ ├── pangolin-manager-debuginfo-{version_component}-{OS}.x86_64.rpm
│ ├── pangolin-pooler-debuginfo-{version_component}-{OS}.x86_64.rpm
│ └── utilities/
│ ├── pangolin-certs-rotate-debuginfo-{product_version}-{OS}.x86_64.rpm
│ └── pangolin-security-utilities-debuginfo-{product_version}-{OS}.x86_64.rpm

├── documentation/ // Содержит документацию к продукту СУБД Pangolin
│ └── PSQ
│ ├── index.html // Разводящая страница на комплект документации
│ └── {product_version} // Версия программного продукта
│ ├── html
│ │ ├── _downloads/ // Прикрепленные к документам файлы
│ │ │ └── <...>
│ │ ├── _images/ // Иллюстрации для документации
│ │ │ └── <...>
│ │ └── <...>
│ ├── documents/ // Собранная из исходников статика
│ │ └── <...>
│ └── info/ // Содержит информационные json файлы
│ └── <...>

├── installer/ // Содержит инструменты развертывания и обновления
│ ├── ansible.cfg // Конфигурационный файл для работы Ansible
│ ├── callback_plugins/ // Подключаемый модуль Ansible для реализации индикатора выполнения
│ │ └── <...>
│ ├── collection/ // collection-скрипты для ansible
│ │ └── <...>
│ ├── files/ // Библиотека 'libkms_substitute_plugin.so'
│ │ └── <...>
│ ├── group_vars/ // Групповые переменные Ansible
│ │ └── <...>
│ ├── inventories/ // Инвентарные файлы Ansible
│ │ └── <...>
│ ├── playbook_clean.yaml // Сценарий запуска очистки виртуальной машины
│ ├── playbook_create_pangolin_local_repo.yaml // Сценарий создания локального репозитория rpm-пакетов (основной части, исключая 3rd Party)
│ ├── playbook_install.yaml // Сценарий запуска различных схем развертывания
│ ├── playbook_major_update.yaml // Сценарий запуска обновления с переносом данных
│ ├── playbook_minor_update.yaml // Сценарий запуска обновления без переноса данных (исполняемых файлов)
│ ├── playbook_scouting.yaml // Сценарий запуска разведчик перед обновлением
│ ├── playbook_updates.yaml // Сценарий запуска для определения типа обновления для установки
│ ├── readme.txt // Содержит версию текущего дистрибутива СУБД Pangolin
│ ├── roles/ // Содержит скрипты ролевой модели
│ │ └── <...>
│ ├── scripts/ // Набор вспомогательных скриптов и шаблонов для настройки стенда
│ │ ├── make_all_module.sh // Скрипт сборки модулей релизной версии pangolin-installer
│ │ ├── pangolin_tuner // Инструмент для работы с конфигурацией СУБД Pangolin, предназначенный для оптимизации производительности баз данных в различных сценариях использования
│ │ │ └── <...>
│ │ ├── role_model_clean_scripts // Скрипты очистки ролевой модели
│ │ │ └── <...>
│ │ ├── pangolin-installer // Каталог для pangolin-installer
│ │ │ └── <...>
│ │ ├── custom_dev.yml // Шаблон для установки/обновления СУБД Pangolin по умолчанию
│ │ ├── update_error_types.yml // Список возможных ошибок каждого типа работы инсталлятора
│ │ └── yamllint // Утилита для проверки корректности и валидности передаваемых в скрипты установки/обновления параметров
│ │ │ └── <...>
│ ├── scripts_external/ // Набор скриптов по автоматической настройке СЗИ на стенде и/или развертывания ролевой модели
│ │ └── <...>
│ ├── templates/ // Набор шаблонов конфигурационных файлов
│ │ ├── pangolin_auth_reencrypt_templates/ //
│ │ │ └── enc_util.cfg.j2 // Шаблон конфигурационного файла утилиты перешифрования pangolin_auth_reencrypt
│ │ ├── pangolin_certs_rotate_templates/ //
│ │ │ └── pangolin-certs-rotate.yml.j2 // Шаблон конфигурационного файла сервиса ротации сертификатов pangolin-certs-rotate
│ │ ├── patroni_templates/ //
│ │ │ └── postgres.yml.j2 // Шаблон основного файла конфигурации компонента Pangolin Manager
│ │ ├── pgbouncer_templates //
│ │ │ └── pangolin-pooler.ini.j2 // Шаблон основного файла конфигурации компонента Pangolin Pooler
│ │ ├── postgresql_templates //
│ │ │ ├── pg_hba.conf.j2 // Шаблон конфигурационного файла настройки аутентификации pg_hba.conf
│ │ │ └── postgresql.conf.j2 // Шаблон конфигурационного файла postgresql.conf ядра PostgreSQL для управления параметрами СУБД
│ │ └── custom_config_sample.yml // Шаблон конфигурационного файла для развертывания СУБД
│ └── utilities/ // Набор утилит для корректной работы скриптов развертывания/обновления
│ ├── pangolin-installer-{version_component}-{OS}.x86_64.rpm // Инструмент установки СУБД для упрощения использования скриптов автоматизации
│ ├── pg_inplace_upgrade // Инструмент для обновления (inplace_upgrade) и его вспомогательные скрипты
│ │ └── <...>
│ ├── license_verify // Инструмент для верификации лицензии Pangolin
│ │ └── psql_rsa_verify
│ ├── secret_storage_client_bundle // Набор утилит хранилища секретов Pangolin
│ │ └── <...>
│ └── psql_get_password_hash // Утилита получения хеша пароля Pangolin
│ └── <...>

├── pangolin-backup-tools-{version_component}-{OS}.x86_64.rpm // Инструменты резервного копирования
├── pangolin-dbms-{short_version}-{product_version}-{OS}.x86_64.rpm // Пакет СУБД Pangolin с серверной частью
├── pangolin-dbms-{short_version}-{product_version}-client-{OS}.x86_64.rpm // Пакет СУБД Pangolin с клиентской частью
├── pangolin-dbms-{short_version}-libpq-{product_version}-{OS}.x86_64.rpm // Пакет с libpq частью СУБД
├── pangolin-dbms-{short_version}-libpq-dev-{product_version}-{OS}.x86_64.rpm // Пакет с libpq develop частью СУБД
├── pangolin-manager-{version_component}-{OS}.x86_64.rpm // Оркестратор кластера Pangolin
├── pangolin-pooler-{version_component}-{OS}.x86_64.rpm // Менеджер пулов соединений Pangolin
├── regid.2011-07.ru.sbertech_psq-{product_version}.swidtag // SWIDTAG-файл продукта

├── repositories/ // Содержит структуру и метаданные репозиториев (шаблоны), которые будут использованы для дальнейшей установки и обновления
│ └── <...>

├── timescaledb/ // Расширение для работы с временными рядами
│ └── pangolin-timescaledb-{short_version}-apache-{version_component}-{OS}-x86_64.rpm

├── utilities/
│ ├── pangolin-auth-reencrypt-{product_version}-{OS}.x86_64.rpm // Сервис для автоматического перешифрования параметров подключения
│ ├── pangolin-certs_rotate-{product_version}-{OS}.x86_64.rpm // Сервис ротации сертификатов
│ ├── pangolin-diagnostic_tool-{product_version}-{OS}.x86_64.rpm // Утилита формирования диагностического отчета
│ ├── pangolin-tuner-{version_component}-{OS}.x86_64.rpm // Утилита для работы с конфигурацией СУБД Pangolin, предназначенный для оптимизации производительности БД в различных сценариях использования
│ └── pangolin-security-utilities-{product_version}-{OS}.x86_64.rpm // Утилиты для настройки защиты администратора, TDE и безопасной конфигурации

└── 3rdparty/ // Содержит архив со сторонними зависимостями (различные модули и расширения)
└── 3rdparty.tar.gz
├── <...> // Расширения 3rd Party (подробнее в документе «Описание расширений продукта СУБД Pangolin»)
├── pangolin-ansible-venv-controlled-{product_version}-{OS}.x86_64.rpm // Набор pip-пакетов для развертывания виртуального окружения (на целевых хостах), необходимый для корректного запуска ansible-скриптов
└── pangolin-ansible-venv-controller-{product_version}-{OS}.x86_64.rpm // Пакет позволяет развернуть виртуальное окружения для корректного запуска сценариев автоматизированного развертывания/обновления