DeckhouseRelease
Scope: Cluster
Version: v1alpha1
Defines the configuration for Deckhouse release.
- booleanapproved
Allows or disables manual updates.
Ignored if the module’s update mode is set to
Auto(update.mode: Auto).Default:
false - objectspec
Required value
- stringspec.applyAfter
Marks release as a part of canary release. This release will be delayed until this time.
- objectspec.changelog
Release’s changelog for enabled modules.
- stringspec.changelogLink
Link to site with full changelog for this release.
- array of stringsspec.disruptions
Deckhouse disruption keys.
- objectspec.requirements
Deckhouse release requirements.
- stringspec.version
Required value
Deckhouse version.
Example:
version: v1.24.20
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).
- objectproperties
- stringproperties.description
Module description.
- stringproperties.source
ModuleSource name of the module if provided by one (otherwise empty).
- stringproperties.stage
The current stage of the module life cycle.
Allowed values:
Sandbox,Incubating,Graduated,Deprecated - stringproperties.state
Module state.
Allowed values:
Enabled,Disabled - integerproperties.weight
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
- objectspec
Required value
- booleanspec.enabled
Enables or disables a module.
Example:
enabled: 'false' - objectspec.settings
Module settings.
- numberspec.version
Version of settings schema.
Example:
version: '1'
ModulePullOverride
Scope: Cluster
Version: v1alpha1
Defines the configuration.
- objectspec
Required value
- stringspec.imageTag
Required value
Module container image tag, which will be pulled.
- stringspec.scanInterval
Scan interval for checking the image digest. If the digest changes, the module is updated.
Default:
"15s" - stringspec.source
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.
- objectspec
Required value
- stringspec.applyAfter
Marks release as a part of canary release. This release will be delayed until this time.
- objectspec.changelog
Release’s changelog for module.
- stringspec.moduleName
Required value
Module name.
- objectspec.requirements
Deckhouse release requirements.
- stringspec.version
Required value
Module version.
Example:
version: v1.0.0 - integerspec.weight
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>"
- objectspec
Required value
- objectspec.registry
Required value
- stringspec.registry.ca
Root CA certificate (PEM format) to validate the registry’s HTTPS certificate (if self-signed certificates are used).
Creating a ModuleSource resource with the CA certificate spec will cause the container to restart on all nodes.
- stringspec.registry.dockerCfg
Container registry access token in Base64. If using anonymous access to the container registry, do not fill in this field.
- stringspec.registry.repo
Required value
URL of the container registry.
Example:
repo: registry.example.io/deckhouse/modules - stringspec.registry.scheme
Protocol to access the registry.
Default:
"HTTPS"Allowed values:
HTTP,HTTPS
- stringspec.releaseChannelDeprecated
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: Auto
windows:
- days:
- Mon
- Wed
from: '13:30'
to: '14:00'
- objectspec
Required value
- objectspec.moduleReleaseSelector
Required value
Selects target modules to apply update settings to.
- objectspec.moduleReleaseSelector.labelSelector
Required value
Label-selector-based filter to match target modules.
If both
matchExpressionsandmatchLabelsparameters are set, their requirements are ANDed together — they must all be satisfied in order to match. If multiplematchExpressionconditions are provided, they all must be satisfied in order to match.- array of objectsspec.moduleReleaseSelector.labelSelector.matchExpressions
An array of set-based expressions.
- stringspec.moduleReleaseSelector.labelSelector.matchExpressions.key
Required value
A label name.
- stringspec.moduleReleaseSelector.labelSelector.matchExpressions.operator
Required value
A comparison operator.
Allowed values:
In,NotIn,Exists,DoesNotExist - array of stringsspec.moduleReleaseSelector.labelSelector.matchExpressions.values
A label value.
- objectspec.moduleReleaseSelector.labelSelector.matchLabels
A number of equality-based label filters.
Example:
matchLabels: source: deckhouse module: deckhouse-admin
- stringspec.releaseChannel
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 - objectspec.update
Required value
Update settings for target modules.
- stringspec.update.mode
Modules version update mode (release change).
-
AutoPatch— automatic update mode for patch releases.To change a minor version (for example, from
v1.65.*tov1.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.1tov1.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.*tov1.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, fromv1.26.*tov1.27.*), manual confirmation is required. Setmodules.deckhouse.io/approved="true"annotation on the corresponding ModuleRelease resource, to confirm the update. -
Ignore— updates are ignored.
Default:
"AutoPatch"Allowed values:
Auto,Manual,Ignore,AutoPatch -
- array of objectsspec.update.windows
Modules update timetable.
- array of stringsspec.update.windows.days
The days of the week on which the update window is applied.
Examples:
days: Mondays: Wed- stringElement of the array
Day of the week.
Allowed values:
Mon,Tue,Wed,Thu,Fri,Sat,SunExample:
Mon
- stringspec.update.windows.from
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' - stringspec.update.windows.to
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'