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.disruptionsDeprecated
Disruptive changes in the release.
- objectspec.requirements
Deckhouse release requirements.
- stringspec.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.
- objectproperties
- array of stringsproperties.availableSources
Available sources for downloading the module.
- objectproperties.disableOptions
Parameters of module disable protection.
- booleanproperties.disableOptions.confirmation
- stringproperties.disableOptions.message
- stringproperties.namespace
Module namespace.
- stringproperties.releaseChannel
Module release channel.
- objectproperties.requirements
Module dependencies, a set of requirements that must be met for Deckhouse Kubernetes Platform (DKP) to run the module.
- stringproperties.requirements.bootstrapped
Required cluster installation status (for built-in DKP modules only).
- stringproperties.requirements.deckhouse
Required Deckhouse version.
- stringproperties.requirements.kubernetes
Required Kubernetes version.
- objectproperties.requirements.modules
A list of other enabled modules required for the module.
- stringproperties.source
Source the module was downloaded from (otherwise will be blank).
- stringproperties.stage
Current stage of the module lifecycle.
- array of stringsproperties.subsystems
Module subsystems.
- stringproperties.updatePolicy
Module update policy.
- stringproperties.version
Module version.
- 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 the module.
Example:
enabled: 'false' - stringspec.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
ModuleIsInMaintenanceModealert is triggered.
If Deckhouse restarts, the module reapplies its last known state once and then continues in unmanaged mode.
Allowed values:
NoResourceReconciliationExample:
maintenance: NoResourceReconciliation -
- objectspec.settings
Module settings.
- stringspec.source
The source of the module it provided by one (otherwise empty).
- stringspec.updatePolicy
Module update policy.
Example:
updatePolicy: test-alpha - numberspec.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.
- objectspec
Required value
- stringspec.checksum
Module version checksum.
- stringspec.path
Path to the module version.
- stringspec.version
Required value
Module version.
Example:
version: v1.0.0
ModulePullOverride
Scope: Cluster
Defines the configuration.
- objectspec
Required value
- stringspec.imageTag
Required value
Module container image tag, which will be pulled.
- booleanspec.rollback
Indicates whether the module release should be rollback after deleting mpo.
Default:
false - stringspec.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.
- objectspec
Required value
- stringspec.imageTag
Required value
Module container image tag, which will be pulled.
- booleanspec.rollback
Indicates whether the module release should be rollback after deleting ModulePullOverride.
Default:
false - 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 a Deckhouse release.
ModuleRelease resources are created by Deckhouse.
- objectspec
Required value
- stringspec.applyAfter
Time until which the release will be delayed.
- objectspec.changelog
Release’s changelog for the module.
- stringspec.moduleName
Required value
Module name.
- objectspec.requirements
Release dependencies, a set of requirements that must be met for Deckhouse Kubernetes Platform to run the module release.
- stringspec.requirements.deckhouse
Required Deckhouse version.
- stringspec.requirements.kubernetes
Required Kubernetes version.
- objectspec.requirements.modules
A list of other modules required for the module release. Ensure the modules are enabled.
- stringspec.version
Required value
Module version.
Example:
version: v1.0.0 - integerspec.weight
Module weight (priority).
ModuleSettingsDefinition
Scope: Cluster
Version: v1alpha1
It displays module settings. Defines a list of module settings versions.
- objectspec
Required value
Specification of the module settings.
- array of objectsspec.versions
List of module settings versions. Each version includes a name and a schema.
- stringspec.versions.name
Required value
Module settings version.
- objectspec.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>"
- 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
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'
- objectspec
Required value
- 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— 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 -
- 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'
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'
- 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— 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 -
- 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'