Структура конфігурації Платформи

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

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

В Платформі реєстрів параметри конфігурації зберігаються в сервісі інспекції та зберігання змін конфігурації (Gerrit) реалізуючи таким чином GitOps підхід до зберігання та застосування конфігурації.

GitOps — це підхід до оркестрації інфраструктури Платформи та розгортання реєстрів заснований на використанні Git-репозиторію як єдиного джерела для конфігураційних файлів підсистем. GitOps забезпечує автоматизоване розгортання, спрощений контроль версій, легке скасування змін та підвищену видимість змін системи через організацію процесу роботи на базі Git та декларативного опису бажаного стану Платформи та реєстру.
Налаштування Платформи
Рівень налаштувань Репозиторій Шлях Призначення

Платформа

cluster-mgmt

/deploy-templates/values.yaml

Загальні налаштування Платформи. Налаштовується адміністратором через адмін-консоль.

/deploy-templates/values.gotmpl

Містить шаблони та значення за замовчуванням для системних параметрів. У більшості випадків не потребує коригувань.

/deploy-templates/console-versions.yaml

Файл містить інформацію про версії Вебінтерфейсу управління Платформою та реєстрами

2. Специфікація користувацької yaml конфігурації Платформи (values.yaml)

У цьому розділі наведено список загальних параметрів налаштувань Платформи, що налаштовуються адміністраторами через адмін-консоль або через коміт в репозиторій.

2.1. Загальні параметри Платформи

Наступна таблиця містить рутові параметри Платформи.

Для зручної навігації по ієрархії специфікації обʼєктів, в таблицях присутні посилання на відповідні дочерні таблиці.
Загальні параметри Платформи
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

global

object

Глобальні налаштування Платформи

cdPipelineName

string

platform

Назва Платформного CD пайплайну. Є сутністю EDP і частиною обслуговуючого пайплайну процесів розгортання Платформи.

cdPipelineStageName

string

main

Назва етапу Платформного CD пайплайну. Є сутністю EDP і частиною обслуговуючого пайплайну процесів розгортання Платформи.

source_catalog_version

string

4.6

❌ Застарілий параметр. Буде видалений в наступних версіях Платформи.

administrators

[]object

Вказання переліку користувачів Платформи, що мають роль адміністратора Платформи (cp-cluster-mgmt-admin).

keycloak

object

Загальні налаштування компонента Keycloak.

digitalSignature

object

Налаштування сервісу цифрового підпису Платформи Підсистеми управління користувачами та ролями.

velero

object

Налаштування сервісу резервного копіювання Платформи Velero.

2.2. Глобальні параметри налаштувань Платформи

global мість глобальні параметри Платформи, що не були класифіковані в окремі розділи.

global | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

deploymentMode

string

development

Налаштування режиму розгортання Платформи. Визначає наявніть або відсутність external-integration-mocks.

whiteListIP

object

Налаштування доступів до Платформних сервісів.

2.3. Параметри налаштувань доступів до Платформних сервісів

whiteListIP містить параметри конфігурації доступу до роутів адміністративних сервісів.

global.whiteListIP | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

adminRoutes

string

0.0.0.0/0

Налаштування доступу до роутів адміністративних сервісів Платформи.

Приклад специфікації global.
deploymentMode: production
whiteListIP:
    adminRoutes: 0.0.0.0/0

2.4. Параметри налаштувань адміністраторів Платформи

administrators містить перелік адміністраторів Платформи.

administrators | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

email

string

Адреса електронної пошти, що ідентифікує користувача.

firstName

string

Імʼя користувача.

lastName

string

Прізвище користувача.

passwordVaultSecret

string

Шлях до тимчасового пароля в Сервісі управління секретами та шифруванням Hashicorp Vault.

passwordVaultSecretKey

string

Ключ для пошуку тимчасового пароля в Сервісі управління секретами та шифруванням Hashicorp Vault.

username

string

Імʼя акаунту користувача. Дорівнює полю email.

Приклад специфікації налаштування адміністраторів
administrators:
    - email: user@company.com
      firstName: user
      lastName: user
      passwordVaultSecret: registry-kv/cluster/user@company.com
      passwordVaultSecretKey: password
      username: user@company.com

2.5. Параметри налаштувань сервісу управління користувачами та ролями

customHosts містить перелік альтернативних DNS-імен для Keycloak.

keycloak | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

customHosts

[]object

Перелік альтернативних DNS-імен для Keycloak.

customHosts містить перелік альтернативних DNS-імен для Keycloak та шлях до їх сертифікату.

keycloak.customHosts | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

certificatePath

string

Шлях до TLS/SSL сертифікату в Сервісі управління секретами та шифруванням Hashicorp Vault.

host

string

Назва альтернативного DNS-імені.

Приклад специфікації налаштувань сервісу управління користувачами та ролями
keycloak:
  customHosts:
    - certificatePath: registry-kv/cluster/domains/example-keycloak.openshift.company.com/20230505T085919Z
      host: example-keycloak.openshift.company.com

2.6. Параметри налаштувань сервісу цифрового підпису Платформи

digitalSignature містить перелік налаштувань сервісу цифрового підпису Платформи

digitalSignature | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

data

object

Налаштування ключів сервісу цифрового підпису Платформи.

env

object

Налаштування оточення сервісу цифрового підпису Платформи.

digitalSignature.data | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

Key-6-dat

string

Шлях до приватного файлового ключа організації в Сервісі управління секретами та шифруванням Hashicorp Vault.

allowed-keys-yml

string

Шлях до файлу з переліком атрибутів дозволених (або раніше виданих) ключів в Сервісі управління секретами та шифруванням Hashicorp Vault.

osplm.ini

string

Шлях до конфігураційного файлу програмно-апаратного криптомодуля "Гряда" в Сервісі управління секретами та шифруванням Hashicorp Vault. Використовується тільки з апаратним типом ключа.

digitalSignature.env | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

sign.key.device-type

string

Визначає тип ключа що використовується Платформою. Допустимі значення file або hardware.

sign.key.file.issuer

string

Шлях до інформації про емітента приватного ключа організації в Сервісі управління секретами та шифруванням Hashicorp Vault.

sign.key.file.password

string

Шлях до пароля приватного ключа організації в Сервісі управління секретами та шифруванням Hashicorp Vault.

sign.key.hardware.device

string

Шлях до інформації про серійний номер, хост та порт апаратного екземпляра Гряди в Сервісі управління секретами та шифруванням Hashicorp Vault. Використовується тільки з апаратним типом ключа.

sign.key.hardware.password

string

Шлях до пароля апаратного екземпляра Гряди в Сервісі управління секретами та шифруванням Hashicorp Vault. Використовується тільки з апаратним типом ключа.

sign.key.hardware.type

string

Шлях до типу апаратного екземпляра Гряди в Сервісі управління секретами та шифруванням Hashicorp Vault. Використовується тільки з апаратним типом ключа.

Приклад специфікації налаштування сервісу цифрового підпису Платформи
digital-signature:
    data:
        Key-6-dat: registry-kv/cluster/key-management-20231608T063220Z
        allowed-keys-yml: registry-kv/cluster/key-management-20231608T063220Z
        osplm.ini: ""
    env:
        sign.key.device-type: file
        sign.key.file.issuer: registry-kv/cluster/key-management-20231608T063220Z
        sign.key.file.password: registry-kv/cluster/key-management-20231608T063220Z
        sign.key.hardware.device: ""
        sign.key.hardware.password: ""
        sign.key.hardware.type: ""

2.7. Параметри налаштувань сервісу резервного копіювання та відновлення

velero містить налаштування сервісу резервного копіювання та відновлення.

velero | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

backup

object

Налаштування резервного копіювання Платформних компонентів.

velero.backup | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

controlPlane

object

Налаштування резервного копіювання компонентів підсистеми управління Платформою та Реєстрами.

controlPlaneNexus

object

Налаштування резервного копіювання сховища артефактів Платформи підсистеми розгортання змін налаштувань Платформи та реєстрів.

monitoring

object

Налаштування резервного копіювання компонентів підсистеми моніторингу та сповіщень Платформи.

userManagement

object

Налаштування резервного копіювання компонентів підсистеми управління користувачами та ролями Платформи.

velero.backup.<component_name> | Повернутись на батьківську таблицю
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

expires_in_days

string

Визначає кількість днів для зберігання резервної копії Платформного сервісу.

schedule

string

Розклад резервного копіювання. Задається в UNIX cron форматі.

Приклад специфікації налаштувань сервісу резервного копіювання Платформи Velero.
velero:
    backup:
        controlPlane:
            expires_in_days: 7
            schedule: 15 9 * * *
        controlPlaneNexus:
            expires_in_days: 7
            schedule: 0 9 * * *
        monitoring:
            expires_in_days: 7
            schedule: 45 9 * * *
        userManagement:
            expires_in_days: 7
            schedule: 30 9 * * *

3. Специфікація технічної yaml конфігурації Платформи (values.gotmpl)

У цьому розділі наведено список технічних параметрів Платформи. Їх значення встановлюються з використанням шаблонів для параметризації, що може мати вигляд {{ env "<variable_name>" }} — для визначення значення зі змінних оточення або виду {{ $cluster_version := exec …​ }} — для виконання команди під час запуску пайплайну.

Власноруч вносити зміни в цей файл не рекомендується.
Технічні параметри Платформи
Назва Тип Обовʼязкове Призначення

global

object

Глобальні налаштування Платформи

vault

object

Містить налаштування центрального сервісу управління секретами Платформи

namespace

string

Визначає зі специфікації codebase назву OKD namespace для розгортання компонентів підсистем та налаштувань в залежності від приналежності до Платформи або реєстру.

baseDomain

string

Отримує та встановлює базовий домен кластера OKD. Усі керовані записи DNS в кластері будуть піддоменами цього базового домену. Після розгортання кластера OKD, це значення не можна змінювати. Наприклад, openshift.example.com.

dnsWildcard

string

Піддомен базового домена кластера OKD для маршрутизації трафіку до застосунків Платформи та реєстрів. Наприклад, apps.openshift.example.com

cdPipelineName

string

Назва Платформного CD пайплайну. Є сутністю EDP і частиною обслуговуючого пайплайну процесів розгортання Платформи.

dockerRegistry

string

Містить URL до control-plane-nexus — сховища артефактів Платформи.

dockerProxyRegistry

string

Містить URL до control-plane-nexus — сховища артефактів Платформи.

edpProject

string

Визначає з параметрів технічного пайплайну назву OKD namespace для розгортання компонентів підсистем та налаштувань в залежності від приналежності до Платформи або реєстру.

globalNexusNamespace

string

Містить назву OKD namespace — сховища артефактів Платформи.

ACCESS_KEY_ID

string

❌ Застарілий параметр. Буде видалений в наступних версіях Платформи.

SECRET_ACCESS_KEY

string

❌ Застарілий параметр. Буде видалений в наступних версіях Платформи.

backupBucket

string

❌ Застарілий параметр. Буде видалений в наступних версіях Платформи.

global | Повернутись на батьківську таблицю
Назва Тип Обовʼязкове Призначення

clusterVersion

string

Автоматично визначає поточну версію OKD кластеру.

storageClass

string

Містить назву StorageClass що використовується в кластері OKD за замовчуванням.

imageRegistry

string

Містить URL до control-plane-nexus — сховища артефактів Платформи.

vault | Повернутись на батьківську таблицю
Назва Тип Обовʼязкове Призначення

platformVaultToken

string

Містить токен доступу до центрального сервісу управління секретами Платформи.

openshiftApiUrl

string

Містить URL до OKD API-сервера.

centralVaultUrl

string

Містить URL до центрального сервісу управління секретами Платформи.

4. Параметри налаштувань адмін-консолі (console-versions.yaml)

Файл console-versions.yaml містить параметри кореляції версії реєстру та версії адмін-консолі в релізі (consoleVersions).

consoleVersions
Назва Тип Значення за замовчуванням Обовʼязкове Призначення

consoleVersion

string

Версія адмін-консолі

stream

string

Гілка розгортання консолі

registryVersion

string

Версія реєстру

consoleVersion — містить технічні значення що оновлюються разом із Платформою реєстрів, тому змінювати їх нема потреби.
Приклад специфікації consoleVersions.
consoleVersions:
    - consoleVersion: 1.9.0.67
      registryVersion: 1.9.4
      stream: master
    - consoleVersion: 1.9.6.33
      registryVersion: 1.9.6
      stream: master