Стадия жизненного цикла модуля: General Availability

Доступно в редакциях:  EE, CSE Lite (1.67), CSE Pro (1.67)

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

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

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

    Пример:

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

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

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

    d8 system module enable operator-trivy
    
  • С помощью ModuleConfig operator-trivy.

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

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

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: operator-trivy
    spec:
      enabled: true
    

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

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

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

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

    Пример:

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

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

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

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

    d8 k edit mc operator-trivy
    

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

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

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

    d8 k apply -f <FILENAME>
    

    Пример файла манифеста ModuleConfig operator-trivy:

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

Требования

К версии Deckhouse: 1.75 и выше.

Параметры

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

  • settings
    объект
    • settings.additionalRegistryCA
      массив объектов

      Список корневых сертификатов (CA) приватных хранилищ образов контейнеров (container registry).

      Если требуется указать несколько сертификатов, они перечисляются последовательно, без дополнительных переносов строк.

      Пример:


      additionalRegistryCA:
        - name: example CA
          ca: |
            -----BEGIN CERTIFICATE-----
            .................
            -----END CERTIFICATE-----
        - name: CA with intermediate CA
          ca: |
            -----BEGIN CERTIFICATE-----
            .................
            -----END CERTIFICATE-----
            -----BEGIN CERTIFICATE-----
            .................
            -----END CERTIFICATE-----
      
      • settings.additionalRegistryCA.ca
        строка
      • settings.additionalRegistryCA.name
        строка
    • settings.additionalVulnerabilityReportFields
      массив строк
      Список дополнительных полей из базы уязвимостей, добавляемых к отчетам об уязвимостях (VulnerabilityReport).

      Пример:


      additionalVulnerabilityReportFields:
      - Class
      - Target
      
    • settings.denyVulnerableImages
      объект

      Настройки оператора trivy.

      Оператор запрещает создание Pod/Deployment/StatefulSet/DaemonSet с образами, которые имеют уязвимости в пространствах имен с лейблом security.deckhouse.io/trivy-provider: "".

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

      • settings.denyVulnerableImages.allowedSeverityLevels
        массив строк
        Образы контейнеров, содержащие только уязвимости указанных уровней критичности, не будут запрещены.
        • settings.denyVulnerableImages.allowedSeverityLevels.Элемент массива
          строка

          Допустимые значения: UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL

      • settings.denyVulnerableImages.enabled
        булевый
        Запретить использование уязвимых образов в пространствах имен, имеющих лейбл security.deckhouse.io/trivy-provider: "".

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

      • settings.denyVulnerableImages.registrySecrets
        массив объектов

        Список дополнительных секретов приватных регистри.

        По умолчаниюю для загрузки образов для сканирования используется секрет deckhouse-registry.

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

        • settings.denyVulnerableImages.registrySecrets.name
          строка
        • settings.denyVulnerableImages.registrySecrets.namespace
          строка
    • settings.disableSBOMGeneration
      булевый

      Отключает генерацию отчетов SBOM.

      Внимание. При установке значения “true”, все текущие отчеты SBOM в кластере удаляются (очистка выполняется один раз).

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

      Примеры:


      disableSBOMGeneration: true
      
      disableSBOMGeneration: false
      
    • settings.insecureDbRegistry
      булевый
      Разрешает Trivy скачивать базы данных уязвимостей, используя недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) или подключения по HTTP.

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

      Примеры:


      insecureDbRegistry: true
      
      insecureDbRegistry: false
      
    • settings.insecureRegistries
      массив строк
      Список адресов хранилищ образов контейнеров (container registry), к которым разрешены недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) и подключения по HTTP.

      Пример:


      insecureRegistries:
      - my.registry.com
      - http-only.registry.io
      
    • settings.linkCVEtoBDU
      булевый
      Включить конвертацию отчетов уязвимостей. Заменяет уязвимости из базы CVE на данные из базы BDU и выводит их в отчете.

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

      Примеры:


      linkCVEtoBDU: true
      
      linkCVEtoBDU: false
      
    • settings.nodeSelector
      объект

      Опциональный селектор для компонентов operator-trivy и заданий сканирования (Jobs).

      Структура, аналогичная spec.nodeSelector пода Kubernetes.

      Если значение не указано или указано false, будет использоваться автоматика.

      Пример:


      disktype: ssd
      
    • settings.reportResourceLabels
      массив строк

      Список дополнительных меток маркировки отчетов (VulnerabilityReport) Trivy.

      Значения этих меток будут соответствовать значениям меток сканируемых ресурсов.

      Примеры:


      reportResourceLabels: app
      
      reportResourceLabels: env
      
    • settings.severities
      массив строк
      Фильтрация отчетов уязвимостей по уровню их критичности.

      Примеры:


      severities: UNKNOWN
      
      severities: CRITICAl
      
      • settings.severities.Элемент массива
        строка

        Допустимые значения: UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL

    • settings.storageClass
      строка

      Имя StorageClass, который будет использоваться по умолчанию в кластере.

      Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.

      Настройка глобального параметра storageClass учитывается только при включении модуля. Изменение глобального параметра storageClass при включенном модуле не приведет к перезаказу диска.

      Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.

      Если указать false, будет принудительно использоваться emptyDir.

      Примеры:


      storageClass: ceph-ssd
      
      storageClass: "false"
      
    • settings.tolerations
      массив объектов

      Опциональные tolerations для компонентов operator-trivy и заданий сканирования (Jobs).

      Структура, аналогичная spec.tolerations пода Kubernetes.

      Если значение не указано или указано false, будет использоваться автоматика.

      Пример:


      effect: NoSchedule
      key: key1
      operator: Equal
      value: value1
      
      • settings.tolerations.effect
        строка
      • settings.tolerations.key
        строка
      • settings.tolerations.operator
        строка
      • settings.tolerations.tolerationSeconds
        целочисленный
      • settings.tolerations.value
        строка