DeckhouseRelease
Scope: Cluster
Version: v1alpha1
Defines the configuration for Deckhouse release.
- approved
Allows or disables manual updates.
Ignored if the module’s update mode is set to
Auto
(update.mode: Auto
).Default:
false
- spec
Required value
- spec.applyAfter
Marks release as a part of canary release. This release will be delayed until this time.
- spec.changelog
Release’s changelog for enabled modules.
- spec.changelogLink
Link to site with full changelog for this release.
- spec.disruptions
Deckhouse disruption keys.
- spec.requirements
Deckhouse release requirements.
- spec.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).
- properties
- properties.description
Module description.
- properties.source
ModuleSource name of the module if provided by one (otherwise empty).
- properties.stage
The current stage of the module life cycle.
Allowed values:
Sandbox
,Incubating
,Graduated
,Deprecated
- properties.state
Module state.
Allowed values:
Enabled
,Disabled
- properties.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
- spec
Required value
- spec.enabled
Enables or disables a module.
Example:
enabled: 'false'
- spec.settings
Module settings.
- spec.version
Version of settings schema.
Example:
version: '1'
ModulePullOverride
Scope: Cluster
Version: v1alpha1
Defines the configuration.
- spec
Required value
- spec.imageTag
Required value
Module container image tag, which will be pulled.
- spec.scanInterval
Scan interval for checking the image digest. If the digest changes, the module is updated.
Default:
"15s"
- spec.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.
- spec
Required value
- spec.applyAfter
Marks release as a part of canary release. This release will be delayed until this time.
- spec.changelog
Release’s changelog for module.
- spec.moduleName
Required value
Module name.
- spec.requirements
Deckhouse release requirements.
- spec.version
Required value
Module version.
Example:
version: v1.0.0
- spec.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>"
- spec
Required value
- spec.registry
Required value
- spec.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.
- spec.registry.dockerCfg
Container registry access token in Base64. If using anonymous access to the container registry, do not fill in this field.
- spec.registry.repo
Required value
URL of the container registry.
Example:
repo: registry.example.io/deckhouse/modules
- spec.registry.scheme
Protocol to access the registry.
Default:
"HTTPS"
Allowed values:
HTTP
,HTTPS
- spec.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'
- spec
Required value
- spec.moduleReleaseSelector
Required value
Selects target modules to apply update settings to.
- spec.moduleReleaseSelector.labelSelector
Required value
Label-selector-based filter to match target modules.
If both
matchExpressions
andmatchLabels
parameters are set, their requirements are ANDed together — they must all be satisfied in order to match. If multiplematchExpression
conditions are provided, they all must be satisfied in order to match.- spec.moduleReleaseSelector.labelSelector.matchExpressions
An array of set-based expressions.
- spec.moduleReleaseSelector.labelSelector.matchExpressions.key
Required value
A label name.
- spec.moduleReleaseSelector.labelSelector.matchExpressions.operator
Required value
A comparison operator.
Allowed values:
In
,NotIn
,Exists
,DoesNotExist
- spec.moduleReleaseSelector.labelSelector.matchExpressions.values
A label value.
- spec.moduleReleaseSelector.labelSelector.matchLabels
A number of equality-based label filters.
Example:
matchLabels: source: deckhouse module: deckhouse-admin
- spec.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
- spec.update
Required value
Update settings for target modules.
- spec.update.mode
Modules minor version update mode (release change).
-
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:
"Auto"
Allowed values:
Auto
,Manual
,Ignore
-
- spec.update.windows
Modules update timetable.
- spec.update.windows.days
The days of the week on which the update window is applied.
Examples:
days: Mon
days: Wed
- Element of the array
Day of the week.
Allowed values:
Mon
,Tue
,Wed
,Thu
,Fri
,Sat
,Sun
Example:
Mon
- spec.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'
- spec.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'