Как явно включить или отключить модуль…

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль development-platform, включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля
  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля, или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Пример включения модуля development-platform:

    d8 system module enable development-platform
    
  • С помощью ModuleConfig development-platform.

    Установите spec.enabled в true или false в ModuleConfig development-platform (создайте его, при необходимости).

    Пример манифеста для включения модуля development-platform:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: development-platform
    spec:
      enabled: true
    

Как настроить модуль…

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль development-platform, включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация», или укажите настройки модуля в формате YAML на вкладке «YAML», не включая секцию settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig development-platform на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль development-platform), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig development-platform (подробнее о настройке Deckhouse читайте в документации), выполнив следующую команду:

    d8 k edit mc development-platform
    

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig development-platform, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>
    

    Пример файла манифеста ModuleConfig development-platform:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: development-platform
    spec:
      version: 1
      enabled: true
      settings: # Параметры модуля из раздела "Параметры" ниже.
    

Параметры

Версия схемы: 1

  • settings
    объект
    • settings.datasources
      объект

      По умолчанию: {}

      • settings.datasources.logging
        объект

        По умолчанию: {}

        • settings.datasources.logging.enabled
          булевый
          Флаг для включения или отключения логирования источников данных в stdout.

          По умолчанию: false

    • settings.domain
      объект

      По умолчанию: {}

      • settings.domain.customDomain
        строка
        Пользовательский домен, который будет использоваться, если useCustomDomain равно true. Не должен содержать http:// или https://. Обязателен, если useCustomDomain равно true.

        По умолчанию: example.com

        Примеры:


        customDomain: example.com
        
        customDomain: ddp.example.com
        
      • settings.domain.customSecretName
        строка
        Имя пользовательского секрета, если useCustomSecret равно true.

        По умолчанию: example-tls

        Примеры:


        customSecretName: example-tls
        
        customSecretName: custom-tls-secret
        
      • settings.domain.prefix
        строка
        Префикс для генерации имени домена, если не используется пользовательский домен.

        По умолчанию: ddp

        Примеры:


        prefix: ddp
        
        prefix: dev-platform
        
      • settings.domain.useCustomDomain
        булевый
        Если true — используется пользовательский домен. Если false — используется сгенерированный префикс домена.

        По умолчанию: false

      • settings.domain.useCustomSecret
        булевый
        Использовать пользовательский секрет.

        По умолчанию: false

    • settings.events
      объект

      По умолчанию: {}

      • settings.events.ttl
        строка
        Время жизни событий. Формат: строка в формате Go duration.

        По умолчанию: 96h

        Примеры:


        ttl: 96h
        
        ttl: 720h
        
        ttl: 1d
        
        ttl: 30m
        
    • settings.extraCA
      строка
      Дополнительные сертификаты удостоверяющего центра (CA) в формате PEM. Используется при обращении к любым сервисам, к которым потенциально может обращаться DDP (например, к dex по FQDN, если у вас свой CA для dex). Сертификат монтируется в /etc/ssl/certs/extraca.crt.

      По умолчанию:

      Примеры:


      extraCA: ""
      
      extraCA: |
        -----BEGIN CERTIFICATE-----
        MIIEKTCCApGgAwIBAgIRAL6BA5jjXYI52wcc3b9UftAwDQYJKoZIhvcNAQELBQAw
        ...
        -----END CERTIFICATE-----
      
    • settings.logger
      объект

      По умолчанию: {}

      • settings.logger.format
        строка
        Формат логирования.

        По умолчанию: logfmt

        Допустимые значения: json, logfmt

      • settings.logger.level
        строка
        Уровень логирования.

        По умолчанию: info

        Допустимые значения: debug, info, warn, error

    • settings.postgres
      объект

      По умолчанию: {}

      • settings.postgres.database
        строка
        Имя базы данных Postgres.

        По умолчанию: ddp

        Примеры:


        database: ddp
        
        database: development_platform
        
        database: my_database
        
      • settings.postgres.host
        строка
        Имя хоста или IP-адрес сервера Postgres. При mode=internal необходимо указать postgres.

        По умолчанию: postgres

        Примеры:


        host: postgres
        
        host: localhost
        
        host: 192.168.1.100
        
        host: postgres.example.com
        
      • settings.postgres.mode
        строка
        Указывает, является ли Postgres внутренним или внешним.

        По умолчанию: internal

        Допустимые значения: internal, external

      • settings.postgres.password
        строка
        Пароль для подключения к Postgres.

        По умолчанию: ddp

        Примеры:


        password: ddp
        
        password: secure_password_123
        
      • settings.postgres.port
        число
        Номер порта, на котором прослушивает Postgres. Не обязателен, если используется значение по умолчанию.

        По умолчанию: 5432

        Примеры:


        port: 5432
        
        port: 35432
        
      • settings.postgres.username
        строка
        Имя пользователя для подключения к Postgres.

        По умолчанию: ddp

        Примеры:


        username: ddp
        
        username: postgres
        
        username: db_user
        
    • settings.rbac
      объект

      По умолчанию: {}

      • settings.rbac.ownerIsAdmin
        булевый
        Если true, владелец ресурса автоматически получает права администратора.

        По умолчанию: true

      • settings.rbac.superAdminEmail
        строка

        Обязательный параметр

        Электронная почта супер-администратора.

        Пример:


        superAdminEmail: admin@example.com
        
    • settings.redis
      объект

      По умолчанию: {}

      • settings.redis.database
        строка
        Индекс базы данных, используемой на сервере Redis. Не обязателен, если используется значение по умолчанию.

        По умолчанию: 0

        Примеры:


        database: "0"
        
        database: "1"
        
        database: "15"
        
      • settings.redis.host
        строка
        Имя хоста или IP-адрес сервера Redis. При mode=internal необходимо указать redis.

        По умолчанию: redis

        Примеры:


        host: redis
        
        host: localhost
        
        host: 192.168.1.101
        
        host: redis.example.com
        
      • settings.redis.mode
        строка
        Указывает, является ли Redis внутренним или внешним.

        По умолчанию: internal

        Допустимые значения: internal, external

      • settings.redis.password
        строка
        Пароль для подключения к Redis. Не обязателен, если используется значение по умолчанию (пустая строка).

        По умолчанию:

        Примеры:


        password: ""
        
        password: redis_password
        
      • settings.redis.port
        число
        Номер порта, на котором прослушивает Redis. Не обязателен, если используется значение по умолчанию.

        По умолчанию: 6379

        Примеры:


        port: 6379
        
        port: 6380
        
    • settings.security
      объект

      По умолчанию: {}

      • settings.security.headers
        объект
        Конфигурация HTTP заголовков безопасности (CSP, X-Frame-Options и т.д.).

        По умолчанию: {}

        • settings.security.headers.csp
          объект
          Конфигурация Content Security Policy (CSP).

          По умолчанию: {}

          • settings.security.headers.csp.additionalSources
            строка
            Дополнительные источники для CSP (разделенный пробелами список URL или специальных значений). Эти источники будут добавлены в директивы img-src, connect-src, frame-src и frame-ancestors.

            По умолчанию:

            Примеры:


            additionalSources: ""
            
            additionalSources: https://cdn.example.com
            
            additionalSources: https://api.example.com https://cdn.example.com
            
          • settings.security.headers.csp.allowExternalImages
            булевый
            Разрешить загрузку изображений с внешних источников. При true изображения могут загружаться с любого домена (полезно для иконок с внешних CDN). При false разрешены только изображения с ‘self’ и ‘data:’.

            По умолчанию: false

            Примеры:


            allowExternalImages: false
            
            allowExternalImages: true
            
          • settings.security.headers.csp.allowIframe
            булевый
            Разрешить встраивание в iframe. При true приложение может быть встроено в iframe с любого домена (полезно для виджетов). При false разрешены только iframe с того же источника.

            По умолчанию: false

            Примеры:


            allowIframe: false
            
            allowIframe: true
            
        • settings.security.headers.enabled
          булевый
          Включить или отключить заголовки безопасности. При отключении заголовки безопасности не будут отправляться в HTTP ответах.

          По умолчанию: true

          Примеры:


          enabled: true
          
          enabled: false
          
        • settings.security.headers.xFrameOptions
          строка
          Значение заголовка X-Frame-Options. ‘DENY’ запрещает отображение страницы во фрейме. ‘SAMEORIGIN’ разрешает встраивание только со страниц того же источника.

          По умолчанию: SAMEORIGIN

          Допустимые значения: DENY, SAMEORIGIN

          Примеры:


          xFrameOptions: DENY
          
          xFrameOptions: SAMEORIGIN
          
      • settings.security.secretKey
        строка

        Обязательный параметр

        Секретный ключ для целей безопасности. Должен содержать 16, 24 или 32 символа (байта). Разрешены только печатаемые ASCII символы.

        Примеры:


        secretKey: mySecretKeyDefau
        
        secretKey: 16charssecretkey
        
        secretKey: 24characterssecretkey!!x
        
        secretKey: 32characterslongsecretkey1234xyz
        
    • settings.workers
      объект

      По умолчанию: {}

      • settings.workers.maxTasks
        целочисленный
        Максимальное количество задач, которые могут обрабатываться параллельно каждым воркером. Это контролирует уровень параллелизма для каждого экземпляра воркера.

        По умолчанию: 10

        Допустимые значения: 1 <= X

        Примеры:


        maxTasks: 5
        
        maxTasks: 10
        
        maxTasks: 20
        
      • settings.workers.replicas
        целочисленный
        Количество реплик воркеров для развертывания. Воркеры обрабатывают задачи из очереди (синхронизация источников данных, выполнение действий, проверки здоровья).

        По умолчанию: 2

        Допустимые значения: 0 <= X

        Примеры:


        replicas: 1
        
        replicas: 2
        
        replicas: 3