Налаштування режиму розгортання реєстру (deployment mode)

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Режим розгортання (deployment mode) — це параметр, який вказує на те, в якому середовищі відбувається розгортання регламенту реєстру. Він дозволяє відрізнити виробниче середовище від середовища розробки, а також налаштувати конфігурацію відповідно до потреб кожного з них. Платформа реєстрів підтримує 2 режими розгортання: development та production.

Режим development передбачає розгортання із налаштуваннями для зручності розробки та відлагодження.

Режим production передбачає розгортання, оптимізоване для максимальної продуктивності, стабільності та безпеки. Він виключає додаткові інструменти відлагодження, забезпечує оптимальну конфігурацію та налаштування для роботи в реальних умовах на цільових кластерах.

У виробничому режимі разом із продуктивними версіями Платформи не розгортаються:

  • компоненти, залучені у процесах розробки регламенту реєстрів;

  • публічні ендпоінти компонентів, залучені у процесах розробки регламенту реєстрів.

Таблиця 1. Компоненти та ендпоінти, які використовують розробники регламенту
Компонент для розробки регламенту Використання у Production Публічний ендпоінт

admin-portal

Не потрібен

Відсутній

registry-regulation-management

Не потрібен

Відсутній

kafka-ui

Не потрібен

Відсутній

redash-admin

Не потрібен

Відсутній

redash-admin-adhocworker

Не потрібен

Відсутній

redash-admin-scheduledworker

Не потрібен

Відсутній

redash-admin-exporter

Не потрібен

Відсутній

form-management-modeler (legacy)

Не потрібен

Відсутній

pgAdmin

Не потрібен

Відсутній

registry-vault

Потрібен

Відсутній

external-integration-mocks

Не потрібен

Відсутній

registry-rest-api

Потрібен

Відсутній

2. Налаштування

Щоб змінити режим розгортання реєстру — deploymentMode — з production на development, виконайте наступні кроки:

  1. Відкрийте OpenShift-консоль, знайдіть проєкт Control Plane та перейдіть за посиланням до компонента gerrit.

    Посилання до центрального Gerrit:
    https://gerrit-control-plane.<dns-wildcard>
  2. Знайдіть репозиторій із вашим реєстром та відкрийте файл deploy-templates/values.yaml.

  3. Знайдіть змінну deploymentMode: production та змініть її значення на deploymentMode: development.

    Налаштування режимів розгортання виглядає наступним чином:

    deploy-templates/values.yaml
    global:
      deploymentMode: development
  4. (Опціонально) Якщо необхідно розгорнути реєстр без певного порталу, наприклад, Кабінету отримувача послуг, виключіть його з налаштувань наступним чином:

    deploy-templates/values.yaml
    global:
      excludePortals: ['citizen']

    За замовчуванням змінна excludePortals відсутня, що означає розгортання усіх порталів:

    deploy-templates/values.yaml
    global:
      excludePortals: ['']

    При виключенні Кабінету отримувача послуг із процесу розгортання, наступні сервіси також не розгортаються:

    • citizen-portal

    • ddm-notification-service

    • user-service-api

    • user-service-persistence

  5. Виконайте git commit зі змінами, застосуйте зміни до master-гілки та запустіть розгортання реєстру.

Налаштування Redash admin та Pgadmin є опційними й потрібні лише як додаткові кроки при виникненні проблем зі зміною режиму розгортання. Ми рекомендуємо ознайомитися з ними, але врахуйте, що вони не є обов’язковими для зміни deploymentMode.
  • Redash admin

  • pgAdmin

Компонент redash-admin доступний виключно в режимі development і не буде розгортатися при первинній інсталяції в режимі production. При повторному оновленні реєстру зі зміною режиму на development, компонент redash-admin стає доступним, але не виконається post-install скрипт admin-hook-install-job.yaml, який створює початкові налаштування бази даних Redash admin, зокрема таблиці. Така поведінка є очікуваною, оскільки насправді відбувається оновлення (update) реєстру, а не його установка (install).

  1. Запустіть наступний скрипт вручну з поди redash-admin:

    bash /config/install-upgrade.sh install
  2. Після успішного завершення конфігурування redash-admin бази даних, перезапустіть пайплайн розгортання реєстру, якщо попередня спроба закінчилася неуспішно через redash-chart deploy.

  1. Перевірте останню доступну версію PgAdmin у control-plane-gerrit.

    image

  2. Додайте наступний чарт до deploy-templates/helmfile.yaml, у розділі releases із версією компонента з попереднього кроку:

    - name: pgadmin-chart
      namespace: '{{ env "NAMESPACE" }}'
      labels:
        type: remote
        update_scc: true
        repoURL: ssh://jenkins@gerrit.mdtu-ddm-edp-cicd:32114/mdtu-ddm/data-architecture/devops-application/pgadmin-chart.git
        path: components/registry/
        branch: 0.0.1-SNAPSHOT.69
      chart: /opt/repositories/pgadmin-chart/deploy-templates
      version: 0.0.1-SNAPSHOT.69
      values:
        - values.yaml
        - values.gotmpl
      missingFileHandler: Warn
      needs:
        - '{{ env "NAMESPACE"}}/istio-configuration'
        - '{{ env "NAMESPACE"}}/network-management'
        - '{{ env "NAMESPACE"}}/citus'