ModuleUpdatePolicy

Scope: Cluster

Defines the update settings for a module’s release.

Example:

apiVersion: deckhouse.io/v1alpha2
kind: ModuleUpdatePolicy
metadata:
  name: example-update-policy
spec:
  releaseChannel: Alpha
  update:
    mode: Auto
    windows:
    - days:
      - Mon
      - Wed
      from: '13:30'
      to: '14:00'
  • spec
    object

    Required value

    • spec.releaseChannel
      string

      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.update
      object

      Required value

      Update settings for target modules.

      • spec.update.mode
        string

        Modules version update mode (release change).

        • AutoPatch — automatic update mode for patch releases.

          To change a minor version (for example, from v1.65.* to v1.66.*), confirmation is required.

          Set modules.deckhouse.io/approved="true" annotation on the corresponding ModuleRelease resource, to confirm the update.

          A patch version update (for example, from v1.65.1 to v1.65.4) is applied according to the update windows, if they are set.

        • 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 — confirmation is required for updating both minor and patch versions.

          To confirm the update, add the modules.deckhouse.io/approved="true" annotation to the corresponding ModuleRelease resource.

        Default: "Auto"

        Allowed values: Auto, Manual, AutoPatch

      • spec.update.windows
        array of objects

        Modules update timetable.

        • spec.update.windows.days
          array of strings

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

          Examples:

          days: Mon
          
          days: Wed
          
          • Element of the array
            string

            Day of the week.

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

            Example:

            Mon
            
        • spec.update.windows.from
          string

          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.to
          string

          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'
          

Deprecated resource. Support for the resource might be removed in a later release.

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: Auto
    windows:
    - days:
      - Mon
      - Wed
      from: '13:30'
      to: '14:00'
  • spec
    object

    Required value

    • spec.moduleReleaseSelector
      object

      Required value

      Selects target modules to apply update settings to.

      • spec.moduleReleaseSelector.labelSelector
        object

        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.matchExpressions
          array of objects

          An array of set-based expressions.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.key
            string

            Required value

            A label name.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.operator
            string

            Required value

            A comparison operator.

            Allowed values: In, NotIn, Exists, DoesNotExist

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.values
            array of strings

            A label value.

        • spec.moduleReleaseSelector.labelSelector.matchLabels
          object

          A number of equality-based label filters.

          Example:

          matchLabels:
            source: deckhouse
            module: deckhouse-admin
          
    • spec.releaseChannel
      string

      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.update
      object

      Required value

      Update settings for target modules.

      • spec.update.mode
        string

        Modules version update mode (release change).

        • AutoPatch — automatic update mode for patch releases.

          To change a minor version (for example, from v1.65.* to v1.66.*), confirmation is required.

          Set modules.deckhouse.io/approved="true" annotation on the corresponding ModuleRelease resource, to confirm the update.

          A patch version update (for example, from v1.65.1 to v1.65.4) is applied according to the update windows, if they are set.

        • 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 — confirmation is required for updating both minor and patch versions.

          To confirm the update, add the modules.deckhouse.io/approved="true" annotation to the corresponding ModuleRelease resource.

        • Ignore — updates are ignored.

        Default: "AutoPatch"

        Allowed values: Auto, Manual, Ignore, AutoPatch

      • spec.update.windows
        array of objects

        Modules update timetable.

        • spec.update.windows.days
          array of strings

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

          Examples:

          days: Mon
          
          days: Wed
          
          • Element of the array
            string

            Day of the week.

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

            Example:

            Mon
            
        • spec.update.windows.from
          string

          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.to
          string

          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'