Module

Scope: Cluster
Version: v1alpha1

Shows basic information about the Deckhouse module.

This resource is intended only for getting information about the module and cannot be changed (read-only).

  • propertiesobject
    • properties.descriptionstring

      Module description.

    • properties.sourcestring

      ModuleSource name of the module if provided by one (otherwise empty).

    • properties.statestring

      Module state.

      Allowed values: Enabled, Disabled

    • properties.weightinteger

      Module weight (priority).

ModuleConfig

Scope: Cluster
Version: v1alpha1

Defines the configuration of the Deckhouse module. The name of the ModuleConfig resource must match the name of the module (for example, control-plane-manager for the control-plane-manager module).

Example:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: module-1
spec:
  enabled: true
  settings: {}
  version: 1
  • specobject

    Required value

    • spec.enabledboolean

      Enables or disables a module.

      Example:

      enabled: 'false'
      
    • spec.settingsobject

      Module settings.

    • spec.versionnumber

      Version of settings schema.

      Example:

      version: '1'
      

ModulePullOverride

Scope: Cluster
Version: v1alpha1

Defines the configuration.

  • specobject

    Required value

    • spec.imageTagstring

      Required value

      Module container image tag, which will be pulled.

    • spec.scanIntervalstring

      Scan interval for checking the image digest. If the digest changes, the module is updated.

      Default: "15s"

    • spec.sourcestring

      Required value

      Reference to the ModuleSource with the module.

ModuleRelease

Scope: Cluster
Version: v1alpha1

Defines the configuration for Deckhouse release.

Deckhouse creates ModuleRelease resources by itself.

  • specobject

    Required value

    • spec.applyAfterstring

      Marks release as a part of canary release. This release will be delayed until this time.

    • spec.moduleNamestring

      Required value

      Module name.

    • spec.requirementsobject

      Deckhouse release requirements.

    • spec.versionstring

      Required value

      Module version.

      Example:

      version: v1.0.0
      
    • spec.weightinteger

      Module weight.

ModuleSource

Scope: Cluster
Version: v1alpha1

Defines the configuration of a source of Deckhouse modules.

Example:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleSource
metadata:
  name: example
spec:
  registry:
    repo: registry.example.io/modules-source
    dockerCfg: "<base64 encoded credentials>"
  • specobject

    Required value

    • spec.registryobject

      Required value

      • spec.registry.castring

        Root CA certificate (PEM format) to validate the registry’s HTTPS certificate (if self-signed certificates are used).

      • spec.registry.dockerCfgstring

        Container registry access token in Base64.

      • spec.registry.repostring

        Required value

        URL of the container registry.

        Example:

        repo: registry.example.io/deckhouse/modules
        
      • spec.registry.schemestring

        Protocol to access the registry.

        Default: "HTTPS"

        Allowed values: HTTP, HTTPS

    • spec.releaseChannelDeprecatedstring

      Desirable default release channel for modules in the current source.

ModuleUpdatePolicy

Scope: Cluster
Version: v1alpha1

Defines the update settings for a module’s release.

Example:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleUpdatePolicy
metadata:
  name: example-update-policy
spec:
  moduleReleaseSelector:
    labelSelector:
      matchLabels:
        source: example
        module: module-1
  releaseChannel: alpha
  update:
    mode: Manual
  • specobject

    Required value

    • spec.moduleReleaseSelectorobject

      Required value

      Selects target modules to apply update settings to.

      • spec.moduleReleaseSelector.labelSelectorobject

        Required value

        Label-selector-based filter to match target modules.

        If both matchExpressions and matchLabels parameters are set, their requirements are ANDed together — they must all be satisfied in order to match. If multiple matchExpression conditions are provided, they all must be satisfied in order to match.

        • spec.moduleReleaseSelector.labelSelector.matchExpressionsarray of objects

          An array of set-based expressions.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.keystring

            Required value

            A label name.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.operatorstring

            Required value

            A comparison operator.

            Allowed values: In, NotIn, Exists, DoesNotExist

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.valuesarray of strings

            A label value.

        • spec.moduleReleaseSelector.labelSelector.matchLabelsobject

          A number of equality-based label filters.

          Example:

          matchLabels:
            foo: bar
            baz: who
          
    • spec.releaseChannelstring

      Desirable module release channel.

      The order in which the stability of the release channel increases (from less stable to more stable): Alpha, Beta, EarlyAccess, Stable, RockSolid.

      Default: "Stable"

      Allowed values: Alpha, Beta, EarlyAccess, Stable, RockSolid

    • spec.updateobject

      Required value

      Update settings for target modules.

      • spec.update.modestring

        Modules minor version update mode (release change).

        • Auto — all updates are applied automatically.

        Modules minor version updates (release updates, for example, from v1.26.* to v1.27.*), are applied according to the update windows or (if no update windows are set) as they appear on the corresponding release channel;

        • Manual — to change a minor version of modules (for example, from v1.26.* to v1.27.*), manual confirmation is required.

        To confirm the update, edit relevant modulereleases.deckhouse.io object, corresponding to the version, by setting the `approved’ field to ‘true’.

        Default: "Auto"

        Allowed values: Auto, Manual

      • spec.update.windowsarray of objects

        Modules update timetable.

        • spec.update.windows.daysarray of strings

          The days of the week on which the update window is applied.

          Examples:

          days: Mon
          
          days: Wed
          
          • Element of the arraystring

            Day of the week.

            Allowed values: Mon, Tue, Wed, Thu, Fri, Sat, Sun

            Example:

            Mon
            
        • spec.update.windows.fromstring

          Required value

          Start time of the update window (UTC timezone).

          Should be less than the end time of the update window.

          Pattern: ^(?:\d|[01]\d|2[0-3]):[0-5]\d$

          Example:

          from: '13:00'
          
        • spec.update.windows.tostring

          Required value

          End time of the update window (UTC timezone).

          Should be more than the start time of the update window.

          Pattern: ^(?:\d|[01]\d|2[0-3]):[0-5]\d$

          Example:

          to: '18:30'