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.disruptionsDeprecated
Disruptive changes in the release.
- spec.requirements
Deckhouse release requirements.
- spec.version
Required value
Deckhouse version.
Example:
version: v1.24.20
Module
Scope: Cluster
Version: v1alpha1
Describes the module’s status in the cluster. The Module
object is created automatically after configuring the ModuleSource and successfully completing synchronization.
- properties
- properties.availableSources
Available sources for downloading the module.
- properties.disableOptions
Parameters of module disable protection.
- properties.disableOptions.confirmation
- properties.disableOptions.message
- properties.exclusiveGroup
Indicates the group where only one module can be active at a time.
- properties.namespace
Module namespace.
- properties.releaseChannel
Module release channel.
- properties.requirements
Module dependencies, a set of requirements that must be met for Deckhouse Kubernetes Platform (DKP) to run the module.
- properties.requirements.bootstrapped
Required cluster installation status (for built-in DKP modules only).
- properties.requirements.deckhouse
Required Deckhouse version.
- properties.requirements.kubernetes
Required Kubernetes version.
- properties.requirements.modules
A list of other enabled modules required for the module.
- properties.source
Source the module was downloaded from (otherwise will be blank).
- properties.stage
Current stage of the module lifecycle.
- properties.subsystems
Module subsystems.
- properties.updatePolicy
Module update policy.
- properties.version
Module version.
- 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 the module.
Example:
enabled: 'false'
- spec.maintenance
Defines the module maintenance mode.
-
NoResourceReconciliation
: A mode for developing or tweaking the module.In this mode:
- Configuration or hook changes are not reconciled, which prevents resources from being updated automatically.
- Resource monitoring is disabled, which prevents deleted resources from being restored.
- All the module’s resources are labeled with
maintenance: NoResourceReconciliation
. - The
ModuleIsInMaintenanceMode
alert is triggered.
If Deckhouse restarts, the module reapplies its last known state once and then continues in unmanaged mode.
Allowed values:
NoResourceReconciliation
Example:
maintenance: NoResourceReconciliation
-
- spec.settings
Module settings.
- spec.source
The source of the module it provided by one (otherwise empty).
- spec.updatePolicy
Module update policy.
Example:
updatePolicy: test-alpha
- spec.version
Version of settings schema.
Example:
version: '1'
ModuleDocumentation
Scope: Cluster
Version: v1alpha1
Defines the rendering configuration of the Deckhouse module documentation.
Deckhouse creates ModuleDocumentation resources by itself.
- spec
Required value
- spec.checksum
Module version checksum.
- spec.path
Path to the module version.
- spec.version
Required value
Module version.
Example:
version: v1.0.0
ModulePullOverride
Scope: Cluster
Defines the resource configuration for downloading specific versions of Deckhouse modules.
Caution. This resource is intended for development and debugging environments only. Using it in production clusters is not recommended. Support for the resource might be removed in future Deckhouse Kubernetes Platform versions.
- spec
Required value
- spec.imageTag
Required value
Module container image tag, which will be pulled.
- spec.rollback
Indicates whether the module release should be rollback after deleting mpo.
Default:
false
- spec.scanInterval
Scan interval for checking the image digest. If the digest changes, the module is updated.
Default:
"15s"
Deprecated resource. Support for the resource might be removed in a later release.
Defines the configuration.
- spec
Required value
- spec.imageTag
Required value
Module container image tag, which will be pulled.
- spec.rollback
Indicates whether the module release should be rollback after deleting ModulePullOverride.
Default:
false
- 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 a Deckhouse release.
ModuleRelease resources are created by Deckhouse.
- spec
Required value
- spec.applyAfter
Time until which the release will be delayed.
- spec.changelog
Release’s changelog for the module.
- spec.moduleName
Required value
Module name.
- spec.requirements
Release dependencies, a set of requirements that must be met for Deckhouse Kubernetes Platform to run the module release.
- spec.requirements.deckhouse
Required Deckhouse version.
- spec.requirements.kubernetes
Required Kubernetes version.
- spec.requirements.modules
A list of other modules required for the module release. Ensure the modules are enabled.
- spec.version
Required value
Module version.
Example:
version: v1.0.0
- spec.weight
Module weight (priority).
ModuleSettingsDefinition
Scope: Cluster
Version: v1alpha1
It displays module settings. Defines a list of module settings versions.
- spec
Required value
Specification of the module settings.
- spec.versions
List of module settings versions. Each version includes a name and a schema.
- spec.versions.name
Required value
Module settings version.
- spec.versions.schema
Settings schema for the given module version.
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
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
Required value
- 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 version update mode (release change).
-
AutoPatch
— automatic update mode for patch releases.To change a minor version (for example, from
v1.15.*
tov1.16.*
), confirmation is required.A patch version update (for example, from
v1.16.1
tov1.16.2
) is applied according to the update windows, if they are set. -
Auto
— all updates are applied automatically.Modules minor version updates (for example, from
v1.15.*
tov1.16.*
) and patch version updates (for example, fromv1.16.1
tov1.16.2
) 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
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'
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
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 version update mode (release change).
-
AutoPatch
— automatic update mode for patch releases.To change a minor version (for example, from
v1.15.*
tov1.16.*
), confirmation is required.A patch version update (for example, from
v1.16.1
tov1.16.2
) is applied according to the update windows, if they are set. -
Auto
— all updates are applied automatically.Modules minor version updates (for example, from
v1.15.*
tov1.16.*
) and patch version updates (for example, fromv1.16.1
tov1.16.2
) 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
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'