Application
Scope: Namespaced
Version: v1alpha1
Application represents a namespace-scoped application instance.
- stringapiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info in the Kubernetes documentation.
- stringkind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info in the Kubernetes documentation.
- objectmetadata
- objectspec
Required value
Defines the application configuration.
- stringspec.packageName
Required value
Name of the application package to install.
- stringspec.packageRepositoryName
Name of the repository where the package is located. If not specified, the default repository is used.
- stringspec.packageVersion
Required value
Version of the application package to install.
- stringspec.releaseChannel
Release channel for the application package.
- objectspec.settings
Configuration settings for the application.
- objectstatus
Application status.
- array of objectsstatus.conditions
Conditions reflecting the latest observations of the application state.
Condition describing one aspect of the current application state.
- stringstatus.conditions.lastTransitionTime
Required value
lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- stringstatus.conditions.message
Required value
message is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 - integerstatus.conditions.observedGeneration
observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X - stringstatus.conditions.reason
Required value
reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Length:
1..1024 - stringstatus.conditions.status
Required value
status of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown - stringstatus.conditions.type
Required value
type of condition in CamelCase or in foo.example.com/CamelCase.
Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Maximum length:
316
- objectstatus.currentVersion
Information about the currently installed version.
- stringstatus.currentVersion.channel
Release channel from which the version was installed.
- stringstatus.currentVersion.version
Semantic version of the installed application.
- objectstatus.lastAppliedConfiguration
LastAppliedConfiguration is the effective settings (user configuration merged with config-schema defaults) that drove the most recent successful apply.
- objectstatus.summary
Summary aggregates the high-level user-facing state, message and resolution hint for the application. The controller always populates it on reconcile — every application maps to exactly one lifecycle state — so it is the single source of truth for the UI; clients should not re-derive these values from the conditions. The pointer leaves it absent only before the first status computation.
- stringstatus.summary.message
Message is a human-readable description of the current state.
- stringstatus.summary.state
State is the high-level lifecycle state observed for the application. Always one of: Pending, Failed, Updating, Ready, Degraded, Suspended.
- stringstatus.summary.tip
Tip is a human-readable instruction on how to resolve the current state. Empty when no action is required.
- objectstatus.tracking
Nelm tracking.
ApplicationPackage
Scope: Cluster
Version: v1alpha1
ApplicationPackage represents information about available application package.
- stringapiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info in the Kubernetes documentation
- stringkind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info in the Kubernetes documentation
- objectmetadata
- objectstatus
Application package status.
- array of stringsstatus.availableRepositories
List of repository names where this application package is available.
- array of objectsstatus.usedBy
Information about applications using this package.
- stringstatus.usedBy.name
Name of the application instance.
- stringstatus.usedBy.namespace
Namespace where the application is installed.
- stringstatus.usedBy.version
Version of the package used by this application.
- integerstatus.usedByCount
Number of applications using this package.
ApplicationPackageVersion
Short names: apv
Scope: Cluster
Version: v1alpha1
ApplicationPackageVersion represents a version of an application package.
- stringapiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info in the Kubernetes documentation
- stringkind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info in the Kubernetes documentation
- objectmetadata
- objectspec
Defines the application package version parameters.
- stringspec.packageName
Name of the application package.
- stringspec.packageRepositoryName
Name of the package repository containing the package.
- stringspec.packageVersion
Version of the application package.
- objectstatus
Application package version status.
- array of objectsstatus.conditions
Conditions reflecting the latest observations of the package version state.
Condition describing one aspect of the current package version state.
- stringstatus.conditions.lastTransitionTime
Required value
lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- stringstatus.conditions.message
Required value
message is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 - integerstatus.conditions.observedGeneration
observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X - stringstatus.conditions.reason
Required value
reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Length:
1..1024 - stringstatus.conditions.status
Required value
status of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown - stringstatus.conditions.type
Required value
type of condition in CamelCase or in foo.example.com/CamelCase.
Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Maximum length:
316
- objectstatus.packageMetadata
Metadata about the package such as description, requirements, etc.
- stringstatus.packageMetadata.category
The category this package belongs to.
- objectstatus.packageMetadata.changelog
Information about changes in this version.
- array of stringsstatus.packageMetadata.changelog.features
List of new features in this version.
- array of stringsstatus.packageMetadata.changelog.fixes
List of bug fixes in this version.
- objectstatus.packageMetadata.description
Localized descriptions of the package.
- stringstatus.packageMetadata.description.en
English description of the package.
- stringstatus.packageMetadata.description.ru
Russian description of the package.
- objectstatus.packageMetadata.licensing
Licensing information for different editions.
- objectstatus.packageMetadata.licensing.editions
Licensing information for different package editions.
- objectstatus.packageMetadata.licensing.editions.<KEY_NAME>
<KEY_NAME>— item (key) name.- booleanstatus.packageMetadata.licensing.editions.<KEY_NAME>.available
Whether this edition is available for use.
- objectstatus.packageMetadata.requirements
The system requirements for this package.
- objectstatus.packageMetadata.requirements.deckhouse
Required Deckhouse Kubernetes Platform version.
- stringstatus.packageMetadata.requirements.deckhouse.constraint
Semver constraint expression.
- objectstatus.packageMetadata.requirements.kubernetes
Required Kubernetes version.
- stringstatus.packageMetadata.requirements.kubernetes.constraint
Semver constraint expression.
- objectstatus.packageMetadata.requirements.modules
Required modules, partitioned into mandatory, conditional, and anyOf dependencies.
- array of objectsstatus.packageMetadata.requirements.modules.anyOf
AnyOf groups of alternative dependencies — at least one member of each group must be installed (and satisfy its constraint, if any) for the package to start. Groups are checker-only and add no edges to the dependency graph.
PackageModuleGroup is a group of alternative module dependencies. At least one member must be installed (and satisfy its constraint, if any) for the package to start. The Name is required and surfaces in scheduler diagnostics; the Description is optional human-facing documentation.
- stringstatus.packageMetadata.requirements.modules.anyOf.description
Human-readable description of the group’s purpose.
- array of objectsstatus.packageMetadata.requirements.modules.anyOf.modules
Required value
Alternative module dependencies in this group.
PackageModuleDependency is a single named module dependency with an optional semver constraint. An empty constraint means “any version”.
- stringstatus.packageMetadata.requirements.modules.anyOf.modules.constraint
Semver constraint expression.
- stringstatus.packageMetadata.requirements.modules.anyOf.modules.name
Required value
Module name.
- stringstatus.packageMetadata.requirements.modules.anyOf.name
Required value
Stable identifier used by the scheduler in diagnostics.
- array of objectsstatus.packageMetadata.requirements.modules.conditional
Conditional dependencies — not required to be present, but if installed must satisfy the constraint for the package to function correctly. Replaces the legacy “!optional” suffix from the v1 requirements format.
PackageModuleDependency is a single named module dependency with an optional semver constraint. An empty constraint means “any version”.
- stringstatus.packageMetadata.requirements.modules.conditional.constraint
Semver constraint expression.
- stringstatus.packageMetadata.requirements.modules.conditional.name
Required value
Module name.
- array of objectsstatus.packageMetadata.requirements.modules.mandatory
Mandatory dependencies — must be present (and satisfy the constraint, if any) for the package to start.
PackageModuleDependency is a single named module dependency with an optional semver constraint. An empty constraint means “any version”.
- stringstatus.packageMetadata.requirements.modules.mandatory.constraint
Semver constraint expression.
- stringstatus.packageMetadata.requirements.modules.mandatory.name
Required value
Module name.
- array of objectsstatus.packageMetadata.requirements.modules.noneOf
NoneOf groups of forbidden dependencies — no member of any group may be installed for the package to start. A member with no constraint is forbidden at any version; a member with a constraint is forbidden only at versions matching that constraint. Groups are checker-only and add no edges to the dependency graph.
PackageModuleGroup is a group of alternative module dependencies. At least one member must be installed (and satisfy its constraint, if any) for the package to start. The Name is required and surfaces in scheduler diagnostics; the Description is optional human-facing documentation.
- stringstatus.packageMetadata.requirements.modules.noneOf.description
Human-readable description of the group’s purpose.
- array of objectsstatus.packageMetadata.requirements.modules.noneOf.modules
Required value
Alternative module dependencies in this group.
PackageModuleDependency is a single named module dependency with an optional semver constraint. An empty constraint means “any version”.
- stringstatus.packageMetadata.requirements.modules.noneOf.modules.constraint
Semver constraint expression.
- stringstatus.packageMetadata.requirements.modules.noneOf.modules.name
Required value
Module name.
- stringstatus.packageMetadata.requirements.modules.noneOf.name
Required value
Stable identifier used by the scheduler in diagnostics.
- stringstatus.packageMetadata.stage
The development stage of the package (e.g., alpha, beta, stable).
- objectstatus.packageMetadata.versionCompatibilityRules
Version compatibility rules for upgrades and downgrades.
- objectstatus.packageMetadata.versionCompatibilityRules.downgrade
Compatibility rules for downgrading from this version.
- integerstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipMajor
How many major versions can be skipped.
- integerstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipMinor
How many minor versions can be skipped.
- integerstatus.packageMetadata.versionCompatibilityRules.downgrade.allowSkipPatches
How many patch versions can be skipped.
- stringstatus.packageMetadata.versionCompatibilityRules.downgrade.from
Starting version range for compatibility.
- integerstatus.packageMetadata.versionCompatibilityRules.downgrade.maxRollback
Maximum number of versions that can be rolled back.
- stringstatus.packageMetadata.versionCompatibilityRules.downgrade.to
Ending version range for compatibility.
- objectstatus.packageMetadata.versionCompatibilityRules.upgrade
Compatibility rules for upgrading to this version.
- integerstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipMajor
How many major versions can be skipped.
- integerstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipMinor
How many minor versions can be skipped.
- integerstatus.packageMetadata.versionCompatibilityRules.upgrade.allowSkipPatches
How many patch versions can be skipped.
- stringstatus.packageMetadata.versionCompatibilityRules.upgrade.from
Starting version range for compatibility.
- integerstatus.packageMetadata.versionCompatibilityRules.upgrade.maxRollback
Maximum number of versions that can be rolled back.
- stringstatus.packageMetadata.versionCompatibilityRules.upgrade.to
Ending version range for compatibility.
- objectstatus.packageSchemas
Schemas for validating settings and values passed to the package.
- objectstatus.packageSchemas.settingsSchema
SettingsSchema is the OpenAPI v3 schema used to validate the user-supplied settings of the package. Stored as an opaque object because its contents form a recursive JSON schema that cannot be expressed structurally in a CRD; the controller validates this subtree in Go when loading package metadata.
- objectstatus.packageSchemas.valuesSchema
ValuesSchema is the OpenAPI v3 schema used to validate the effective values (defaults merged with settings) passed to the package’s hooks and charts. Stored as an opaque object because its contents form a recursive JSON schema that cannot be expressed structurally in a CRD; the controller validates this subtree in Go when loading package metadata.
- array of objectsstatus.usedBy
Information about applications that are using this package version.
- stringstatus.usedBy.name
Name of the application instance.
- stringstatus.usedBy.namespace
Namespace where the application is installed.
- integerstatus.usedByCount
Number of applications using this package version.
ClusterConfiguration
Version: deckhouse.io/v1
General parameters of a cluster.
Defines, for example, network and CRI parameters, control plane version, etc. Some parameters can be changed after the cluster is bootstrapped, during its operation.
To change the ClusterConfiguration resource in a running cluster, run the following command:
d8 system edit cluster-configuration
Example:
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
podSubnetNodeCIDRPrefix: '24'
podSubnetCIDR: 10.244.0.0/16
serviceSubnetCIDR: 192.168.0.0/16
kubernetesVersion: '1.31'
clusterDomain: k8s.internal
clusterType: Cloud
cloud:
prefix: k8s-dev
provider: Yandex
proxy:
httpProxy: https://user:password@proxy.company.my:8443
httpsProxy: https://user:password@proxy.company.my:8443
noProxy:
- company.my
- stringapiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1,deckhouse.io/v1alpha1 - stringcloud.prefix
A prefix of the objects to be created in the cloud.
Is used, for example, to distinguish objects created for different clusters, to configure routing, etc.
Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - stringcloud.provider
Required value
Cloud provider.
Allowed values:
OpenStack,AWS,GCP,Yandex,vSphere,Azure,VCD,Zvirt,Dynamix,Huaweicloud,DVP
- stringclusterDomain
Required value
Cluster domain (used for local routing).
Please note: the domain must not match the domain used in the DNS name template in the publicDomainTemplate parameter. For example, you cannot set
cluster Domain: cluster.localandpublicDomainTemplate: %s.cluster.localat the same time.If you need to change a parameter in a running cluster, it is recommended to use instructions
Default:
cluster.local - stringclusterType
Required value
Type of the cluster infrastructure:
Static— a cluster on bare metal (physical servers) or virtual machines. In the case of virtual machines, it is assumed that Deckhouse doesn’t have access to the API for managing virtual machines (they are managed by the administrator using the usual cloud infrastructure tools);Cloud— a cluster deployed on the resources of a cloud infrastructure. This type implies that Deckhouse has access to the cloud infrastructure API for managing virtual machines.
Allowed values:
Cloud,Static - stringdefaultCRI
The container runtime type that used on cluster nodes (NodeGroups) by default.
If the value
NotManagedis used, then Deckhouse does not manage the container runtime (and doesn’t install it). In this case, it is necessary to use images for NodeGroups on which the container runtime is already installed.If
ContainerdV2is set,CgroupsV2will be used (providing improved security and resource management). To useContainerdV2as the container runtime, cluster nodes must meet the following requirements:- Support for
CgroupsV2. - Linux kernel version 5.8 or newer, except for the ranges 6.12.0–6.12.28 or 6.14.0–6.14.6 (these versions are affected by CVE-2025-37999 in EROFS).
- Systemd version
244or newer. - Support for
erofskernel module.
Default:
ContainerdAllowed values:
Containerd,ContainerdV2,NotManaged - Support for
- stringencryptionAlgorithm
Starting from version 1.31, kubeadm use the specified asymmetric encryption algorithm when generating keys and certificates for the following control-plane components:
apiserverapiserver-kubelet-clientapiserver-etcd-clientfront-proxy-clientetcd-serveretcd-peeretcd-healthcheck-client
Certificates for the components listed above will be reissued using the selected algorithm and key length.
Warning. When reissuing certificates, the root certificate (CA) is not rotated. The root certificate is created with the selected algorithm only during the initial cluster bootstrap.
Default:
RSA-2048Allowed values:
RSA-2048,RSA-3072,RSA-4096,ECDSA-P256 - stringkind
Required value
Allowed values:
ClusterConfiguration - stringkubernetesVersion
Required value
Kubernetes version (control plane components of the cluster).
Changing a parameter in a running cluster will automatically update the cluster’s control plane version.
If
Automaticis specified, then the control plane version is used, which is considered stable at the moment. If the stable version of control plane is less than the maximum version that has ever been installed in the cluster, more than 1 minor version, then the version of the cluster will not be changed. The version may change when the minor version of the Deckhouse release is changed (see a corresponding release message).Allowed values:
1.31,1.32,1.33,1.34,1.35,Automatic - stringpodSubnetCIDR
Required value
Address space of the cluster’s Pods.
Warning! Changing this parameter in a running cluster is extremely dangerous and can lead to complete cluster failure. The change is blocked by default. To bypass this protection, use
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doingcommand. However, it is strongly recommended to recreate the cluster instead of changing this parameter. See documentation for details. - stringpodSubnetNodeCIDRPrefix
The prefix size of the Pod network allocated to each node.
This parameter determines how many IP addresses are available for Pods on each individual node. For example, if
podSubnetCIDR: 10.111.0.0/16andpodSubnetNodeCIDRPrefix: "24", each node will receive a/24subnet (e.g.,10.111.0.0/24,10.111.1.0/24, etc.), providing up to 254 IP addresses per node (253 usable for Pods, accounting for network and broadcast addresses).Calculation examples:
- With
/16network and/24prefix: maximum 256 nodes (2^(24-16) = 256) - With
/16network and/25prefix: maximum 512 nodes, but only 126 IPs per node - Each Pod network IP can support up to 2 Pods (one running + one terminating)
Warning! Changing this parameter in a running cluster is extremely dangerous and can lead to complete cluster failure. The change is blocked by default. To bypass this protection, use
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doingcommand. However, it is strongly recommended to recreate the cluster instead of changing this parameter. See documentation for details.Default:
24 - With
- objectproxy
Available in editions: BE, SE, SE+, EE
Global proxy setup (mainly for working in air-gapped environments).
The parameters described in this section will be translated into the environment variables
HTTP_PROXY,HTTPS_PROXY, andNO_PROXYfor all cluster nodes and Deckhouse components. This will result in HTTP(S) requests (curl, git, registry, etc.) to all resources not listed in thenoProxyparameter being made through a proxy. Note that thepodSubnetCIDRandserviceSubnetCIDRsubnets, as well as theclusterDomaindomain are added tonoProxyautomatically.Caution! To avoid using proxies in requests between pods and services located in the cluster node network, make sure you list all the host subnets in the
noProxyparameter.- stringproxy.httpProxy
Available in editions: BE, SE, SE+, EE
Proxy URL for HTTP requests.
If necessary, specify the proxy server’s username, password, and port.
Pattern:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$Examples:
httpProxy: http://proxy.company.myhttpProxy: https://user:password@proxy.company.my:8443httpProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443httpProxy: https://user%40domain.local:password@proxy.company.my:8443 - stringproxy.httpsProxy
Available in editions: BE, SE, SE+, EE
Proxy URL for HTTPS requests.
If necessary, specify the proxy server’s username, password, and port.
Pattern:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$Examples:
httpsProxy: http://proxy.company.myhttpsProxy: https://user:password@proxy.company.my:8443httpsProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443httpsProxy: https://user%40domain.local:password@proxy.company.my:8443 - array of stringsproxy.noProxy
Available in editions: BE, SE, SE+, EE
List of no proxy IP and domain entries.
For wildcard domains, use a domain name with a dot prefix, e.g., “.example.com”.
Caution. If the cluster is supposed to have pods interacting with services located in the cluster node network, then specify the list of subnets that are used on the nodes.
- stringElement of the array
Pattern:
^[a-z0-9\-\./]+$
- stringserviceSubnetCIDR
Required value
Address space of the cluster’s services.
Warning! Changing this parameter in a running cluster is extremely dangerous and can lead to complete cluster failure. The change is blocked by default. To bypass this protection, use
dhctl config edit cluster-configuration --yes-i-am-sane-and-i-understand-what-i-am-doingcommand. However, it is strongly recommended to recreate the cluster instead of changing this parameter. See documentation for details.
CNIMigration
Short names: cnim
Scope: Cluster
Version: v1alpha1
Defines the configuration for CNI migration.
- objectspec
Defines the desired state of CNI migration.
- stringspec.targetCNI
The target CNI to migrate to.
- objectstatus
Defines the observed state of CNI migration.
- array of objectsstatus.conditions
Reflect the state of the migration as a whole.
- stringstatus.conditions.lastTransitionTime
Required value
- stringstatus.conditions.message
Required value
- stringstatus.conditions.reason
Required value
- stringstatus.conditions.status
Required value
- stringstatus.conditions.type
Required value
- stringstatus.currentCNI
The detected CNI from which the switch is being made.
- array of objectsstatus.failedSummary
Details about nodes that failed the migration.
- stringstatus.failedSummary.node
- stringstatus.failedSummary.reason
- integerstatus.nodesFailed
The number of nodes where an error occurred.
- integerstatus.nodesSucceeded
The number of nodes that have successfully completed the current phase.
- integerstatus.nodesTotal
The total number of nodes involved in the migration.
- stringstatus.phase
The current step of the migration process.
CNINodeMigration
Short names: cninm
Scope: Cluster
Version: v1alpha1
Defines the configuration for CNI migration on a specific node.
- objectspec
Defines the desired state of CNI migration on a node.
- objectstatus
Defines the observed state of CNI migration on a node.
- array of objectsstatus.conditions
A list of conditions for this migration.
- stringstatus.conditions.lastTransitionTime
Required value
- stringstatus.conditions.message
Required value
- stringstatus.conditions.reason
Required value
- stringstatus.conditions.status
Required value
- stringstatus.conditions.type
Required value
- stringstatus.phase
The current phase of the migration on the node.
DeckhouseRelease
Scope: Cluster
Version: v1alpha1
Determines the state and parameters for applying a specific release (version) of the Deckhouse Kubernetes Platform (DKP) in the cluster.
DeckhouseRelease objects are automatically created by DKP upon the discovery of new DKP versions on the selected release channel. Modifying DeckhouseRelease enables the management of the process for applying the corresponding DKP version. More details about configuring DKP updates can be found in the documentation.
The current versions of DKP and modules by release channels can be found at releases.deckhouse.ru.
- booleanapproved
Allows or disables manual updates.
Used only if the
deckhousemodule is configured for manual update mode (update.mode parameter is set toManual). Ignored if the update mode is set toAutoorAutoPatch.For more information on confirming manual updates, refer to the documentation.
Default:
false - objectspec
Required value
- stringspec.applyAfter
Marks release as a part of canary-release. This release will be delayed until the specified time. If the release is waiting to be applied, check
.status.messagefor the reason. - objectspec.changelog
A structure containing a list of DKP changes (and modules included in the DKP) of the release.
For more information about DKP release changelogs, refer to Updating.
- stringspec.changelogLink
Link to site with full changelog for this release.
- array of stringsspec.disruptionsDeprecated
Disruptive changes in the release.
- objectspec.requirements
A structure containing a list of requirements for installing the release. It is used by the DKP core. If the requirements are not met, the release may be skipped or blocked from installation.
Reports on unmet requirements can be found in the field
.status.messageof the DeckhouseRelease object. - stringspec.version
Required value
DKP version.
Example:
version: v1.73.2
- objectstatus
- booleanstatus.approved
The status of the release’s readiness for deployment. It makes sense only for Manual updates (
update.mode: Manual). - stringstatus.message
Detailed status or error message.
- stringstatus.phase
Current status of the release.
Allowed values:
Pending,Deployed,Outdated,Suspended,Superseded,Skipped - stringstatus.transitionTime
Time of release status change.
InitConfiguration
Version: deckhouse.io/v1
Deckhouse configuration to start after installation.
Example:
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
- stringapiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1,deckhouse.io/v1alpha1 - objectdeckhouseDeprecated
Required value
Initial parameters required to install Deckhouse.
- stringdeckhouse.devBranchDeprecated
The parameter is used for development needs. Will be replaced with the CLI-tools.
- stringdeckhouse.imagesRepo
Address of a container registry with Deckhouse images.
Specify it if Deckhouse Enterprise Edition edition or third-party registry (e.g. proxy server in a closed environment) is used.
The address matches the edition of Deckhouse used. The public container registry address for Deckhouse Enterprise Edition is
registry.deckhouse.io/deckhouse/ee.Default:
registry.deckhouse.io/deckhouse/cePattern:
^[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?(\/[0-9a-zA-Z\.\-\_\/]+)?$ - stringdeckhouse.registryCA
Root CA certificate to validate the container registry’s HTTPS certificate (if self-signed certificates are used).
- stringdeckhouse.registryDockerCfg
A Base64-encoded string from the Docker client configuration file (in Linux it is usually
$HOME/.docker/config.json), for accessing a third-party container registry.For example, to access the container registry
registry.company.myunder the useruserwith the passwordP@ssw0rdit will beeyJhdXRocyI6eyJyZWdpc3RyeS5jb21wYW55Lm15Ijp7ImF1dGgiOiJkWE5sY2pwUVFITnpkekJ5WkFvPSJ9fX0K(string{"auths":{"registry.company.my":{"auth":"dXNlcjpQQHNzdzByZAo="}}}in Base64).Default:
Example:
registryDockerCfg: eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0= - stringdeckhouse.registryScheme
Registry access scheme (HTTP or HTTPS).
Default:
HTTPSAllowed values:
HTTP,HTTPS
- stringkind
Required value
Allowed values:
InitConfiguration
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
- objectproperties.accessibility
Module accessibility settings.
- objectproperties.accessibility.editions
Module operation settings in Deckhouse editions.
- objectproperties.accessibility.editions.<KEY_NAME>
<KEY_NAME>— item (key) name.- booleanproperties.accessibility.editions.<KEY_NAME>.available
- array of stringsproperties.accessibility.editions.<KEY_NAME>.enabledInBundles
- array of stringsproperties.availableSources
Available sources for downloading the module.
- booleanproperties.critical
Indicates whether the module critical or not.
- objectproperties.disableOptions
Parameters of module disable protection.
- booleanproperties.disableOptions.confirmation
- stringproperties.disableOptions.message
- stringproperties.exclusiveGroup
Indicates the group where only one module can be active at a time.
- 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).
- objectstatus
- array of objectsstatus.conditions
- stringstatus.conditions.lastProbeTime
- stringstatus.conditions.lastTransitionTime
- stringstatus.conditions.message
- stringstatus.conditions.reason
- stringstatus.conditions.status
- stringstatus.conditions.type
- stringstatus.hooksState
Hooks status report.
- stringstatus.phase
Module phase.
Allowed values:
Unavailable,Available,Downloading,DownloadingError,Reconciling,Installing,HooksDisabled,WaitSyncTasks,Downloaded,Conflict,Ready,Error
ModuleConfig
Short names: mc
Scope: Cluster
Version: v1alpha1
Defines the configuration of the Deckhouse Kubernetes Platform module (module parameters). 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.
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
- objectstatus
- stringstatus.message
Additional information
- stringstatus.version
Version of settings schema in use
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
- objectstatus
- array of objectsstatus.conditions
- stringstatus.conditions.address
- stringstatus.conditions.checksum
- stringstatus.conditions.lastTransitionTime
- stringstatus.conditions.message
- stringstatus.conditions.type
- stringstatus.conditions.version
- stringstatus.result
ModulePullOverride
Short names: mpo
Scope: Cluster
- v1alpha2
- v1alpha1
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.
- 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. Supported units:
h,m,s.Default:
15sPattern:
^(\d+h)?(\d+m)?(\d+s)?$
- objectstatus
- stringstatus.imageDigest
Digest of the module image.
- stringstatus.message
Details of the resource status.
- stringstatus.updatedAt
When the module was last updated.
- integerstatus.weight
Module weight.
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. Supported units:
h,m,s.Default:
15sPattern:
^(\d+h)?(\d+m)?(\d+s)?$ - stringspec.source
Required value
Reference to the ModuleSource with the module.
- objectstatus
- stringstatus.imageDigest
Digest of the module image.
- stringstatus.message
Details of the resource status.
- stringstatus.updatedAt
When the module was last updated.
- integerstatus.weight
Module weight.
ModuleRelease
Short names: mr
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.
- objectspec.update
Optional transition rules.
- array of objectsspec.update.versions
List of
from→totransition rules that allow skipping step-by-step updates. If the current installed module version (statusDeployed) is not lower thanfrom, and the cluster has a release whose version matchesto, the controller will skip intermediate releases and update the module to the version fromto. Thetovalue can specify a minor line (X.Y— the latest availableX.Y.Zwill be selected). The rule is specified in the constrained release — the one whose version matchesto.- stringspec.update.versions.from
Required value
The minimum version from which the transition is allowed (format
X.Y). - stringspec.update.versions.to
Required value
The end version of the range — a minor line (
X.Y).
- stringspec.version
Required value
Module version.
Example:
version: v1.0.0 - integerspec.weight
Module weight (priority).
- objectstatus
- booleanstatus.approved
Status indicating that the release is ready for deployment. For the Manual update mode only (
update.mode: Manual). - stringstatus.message
Detailed status or error message.
- stringstatus.phase
Current status of the release.
Allowed values:
Pending,Deployed,Superseded,Suspended,Skipped,Terminating - stringstatus.pullDuration
Module loading duration.
- integerstatus.size
Size of the module image.
- stringstatus.transitionTime
Time of release status change.
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.
- array of objectsspec.versions.conversions
List of conversion rules for this version.
A single conversion rule with expressions and descriptions.
- objectspec.versions.conversions.descriptions
Localized descriptions of the conversion.
- stringspec.versions.conversions.descriptions.en
English description of the conversion.
- stringspec.versions.conversions.descriptions.ru
Russian description of the conversion.
- array of stringsspec.versions.conversions.expr
Array of jq expressions to transform settings.
- stringspec.versions.name
Required value
Module settings version.
- objectspec.versions.schema
Settings schema for the given module version.
ModuleSource
Short names: ms
Scope: Cluster
Version: v1alpha1
Defines the configuration of a source of Deckhouse modules.
For more information about installing the module from the source, see the section “Running the module in the DKP cluster”.
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:
HTTPSAllowed values:
HTTP,HTTPS
- stringspec.releaseChannelDeprecated
Desirable default release channel for modules in the current source.
- stringspec.scanInterval
Interval for registry scan.
Defines the frequency of checking the container registry for new modules and their versions.
Default:
3mPattern:
^(\d+h)?(\d+m)?(\d+s)?$Examples:
scanInterval: 5mscanInterval: 1hscanInterval: 6h30m
- objectstatus
- stringstatus.message
- array of objectsstatus.modules
The list of modules available from the source and their update policies.
- stringstatus.modules.checksum
The module checksum.
- stringstatus.modules.error
The module processing error.
- stringstatus.modules.name
The module name.
- booleanstatus.modules.overridden
If ModulePullOverride for this module exists.
- stringstatus.modules.policy
The module policy name.
- stringstatus.modules.pullError
The module pull error.
- stringstatus.modules.version
The module version.
- integerstatus.modulesCount
The number of modules available.
- stringstatus.phase
The current phase.
Allowed values:
Active,Terminating - stringstatus.syncTime
When the repository was synchronized.
ModuleUpdatePolicy
Short names: mup
Scope: Cluster
- v1alpha2
- v1alpha1
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:
StableAllowed values:
Alpha,Beta,EarlyAccess,Stable,RockSolid,Lts - 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.15.*tov1.16.*), confirmation is required.A patch version update (for example, from
v1.16.1tov1.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.1tov1.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:
AutoAllowed 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:
StableAllowed 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.15.*tov1.16.*), confirmation is required.A patch version update (for example, from
v1.16.1tov1.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.1tov1.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:
AutoPatchAllowed 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'
PackageRepository
Scope: Cluster
Version: v1alpha1
PackageRepository is a source of packages for Deckhouse Kubernetes Platform.
- stringapiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info in the Kubernetes documentation.
- stringkind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info in the Kubernetes documentation.
- objectmetadata
- objectspec
Required value
Defines the package repository configuration.
- objectspec.registry
Required value
Configuration for accessing the container registry with packages.
- stringspec.registry.ca
Root CA certificate (PEM format) used to verify the container registry certificate over HTTPS (if the container registry uses self-signed SSL certificates).
- stringspec.registry.dockerCfg
Container registry access token in Base64 (
~/.docker/config.jsonformat). Leave this field empty if anonymous access to the container registry is used. - stringspec.registry.login
Username for authenticating to the container registry.
- stringspec.registry.password
Password for authenticating to the container registry.
- stringspec.registry.repo
Required value
Address of the package repository in the container registry.
- stringspec.registry.scheme
Protocol for accessing the repository (for example,
https).
- stringspec.scanInterval
Interval for container registry scan.
Defines the frequency of checking the container registry for new packages.
Default:
6hPattern:
^(\d+h)?(\d+m)?(\d+s)?$Examples:
scanInterval: 5mscanInterval: 1hscanInterval: 6h30m
- objectstatus
Package repository status.
- array of objectsstatus.conditions
Conditions reflecting the latest observations of the repository state.
Condition describing one aspect of the current repository state.
- stringstatus.conditions.lastTransitionTime
Required value
lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- stringstatus.conditions.message
Required value
message is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 - integerstatus.conditions.observedGeneration
observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X - stringstatus.conditions.reason
Required value
reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Length:
1..1024 - stringstatus.conditions.status
Required value
status of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown - stringstatus.conditions.type
Required value
type of condition in CamelCase or in foo.example.com/CamelCase.
Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Maximum length:
316
- stringstatus.lastChangeTime
Time of the most recent scan that found at least one new version. Scans that found nothing new do not advance this timestamp.
- integerstatus.lastNewVersions
Number of new versions found by the most recent scan. Set to zero when the last scan found nothing new.
- stringstatus.lastScanTime
Time of the most recent scan of any outcome.
- stringstatus.message
Human-readable message about the repository status.
- array of objectsstatus.packages
List of packages available in this repository.
- stringstatus.packages.name
Required value
Name of the package.
- stringstatus.packages.type
Required value
Type of the package.
- integerstatus.packagesCount
Total number of packages in this repository.
- boolean
Indicates whether the container registry supports pagination when listing tags.
- stringstatus.phase
Current phase of the repository.
PackageRepositoryOperation
Short names: pro
Scope: Cluster
Version: v1alpha1
PackageRepositoryOperation represents an operation to scan/update a package repository.
- stringapiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info in the Kubernetes documentation
- stringkind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info in the Kubernetes documentation
- objectmetadata
- objectspec
Required value
Defines parameters for the package repository operation.
- stringspec.packageRepositoryName
Required value
Name of the package repository to operate on.
- stringspec.type
Required value
Type of operation to perform.
Allowed values:
Update - objectspec.update
Configuration for update operations.
- booleanspec.update.fullScan
Whether to perform a full scan of the repository.
- stringspec.update.timeout
Timeout for the operation.
- objectstatus
Package repository operation status.
- stringstatus.completionTime
Time when the operation completed.
- array of objectsstatus.conditions
Conditions reflecting the latest observations of the operation state. The operation phase is determined by the
Completedcondition: while its status isFalse, the operation is in one of the intermediate phases (Discover,Processing); when the status isTrue, the operation has finished with reasonSucceededorFailed.Condition describing one aspect of the current operation state.
- stringstatus.conditions.lastTransitionTime
Required value
lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- stringstatus.conditions.message
Required value
message is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 - integerstatus.conditions.observedGeneration
observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X - stringstatus.conditions.reason
Required value
Programmatic identifier for the reason of the condition’s last transition. For the
Completedcondition, the values are:Discover,Processing,Succeeded,Failed.Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Length:
1..1024 - stringstatus.conditions.status
Required value
status of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown - stringstatus.conditions.type
Required value
Condition type. This resource uses the
Completedcondition, which reflects whether the operation has reached a terminal phase.Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Maximum length:
316
- objectstatus.packages
Information about packages processed during the operation.
- array of objectsstatus.packages.discovered
List of packages discovered during the operation.
- stringstatus.packages.discovered.name
Required value
Name of the discovered package.
- array of objectsstatus.packages.failed
List of packages that failed processing.
- array of objectsstatus.packages.failed.errors
Required value
List of errors encountered while processing this package.
- stringstatus.packages.failed.errors.message
Required value
Message of the error.
- stringstatus.packages.failed.errors.version
Required value
Version of the package that failed.
- stringstatus.packages.failed.name
Required value
Name of the package that failed.
- integerstatus.packages.newVersionsOverall
Total number of newly found versions across all packages in this operation.
A version is counted as new if its ApplicationPackageVersion or ModulePackageVersion did not exist in the cluster, or (ApplicationPackageVersion only) existed with the “not in registry” mark and its image was found in the registry during this operation.
- array of objectsstatus.packages.processed
List of packages successfully processed.
- integerstatus.packages.processed.foundVersions
Number of versions found during this operation.
- stringstatus.packages.processed.name
Required value
Name of the processed package.
- integerstatus.packages.processed.newVersions
Number of newly found versions during this operation.
A version is counted as new if its ApplicationPackageVersion or ModulePackageVersion did not exist in the cluster, or (ApplicationPackageVersion only) existed with the “not in registry” mark and its image was found in the registry during this operation.
- stringstatus.packages.processed.type
Type of the package.
- integerstatus.packages.processedOverall
Total number of packages processed.
- integerstatus.packages.total
Total number of packages found.
- stringstatus.startTime
Time when the operation started.
SSHConfig
Version: dhctl.deckhouse.io/v1
General dhctl SSH config.
Example:
apiVersion: dhctl.deckhouse.io/v1
kind: SSHConfig
sshUser: user
sshPort: 22
sshExtraArgs: "-vvv"
sshAgentPrivateKeys:
- key: "<ssh-private-key>"
- stringapiVersion
Version of the Deckhouse API.
Allowed values:
dhctl.deckhouse.io/v1 - stringkind
Allowed values:
SSHConfig - booleanlegacyMode
Switch to legacy SSH mode (clissh).
- booleanmodernMode
Switch to modern SSH mode (gossh).
- array of objectssshAgentPrivateKeys
- stringsshAgentPrivateKeys.key
Required value
Private SSH key.
- stringsshAgentPrivateKeys.passphrase
Password for SSH key.
- stringsshBastionHost
SSH bastion host.
- stringsshBastionPassword
A password for the bastion user.
- integersshBastionPort
Port of SSH bastion.
- stringsshBastionUser
Username for bastion.
- stringsshExtraArgs
Additional arguments for SSH connection.
- integersshPort
SSH port.
- stringsshUser
SSH username.
- stringsudoPassword
A sudo password for the user.
SSHHost
Version: dhctl.deckhouse.io/v1
General dhctl SSH host config.
Example:
apiVersion: dhctl.deckhouse.io/v1
kind: SSHHost
host: 172.16.0.0
- stringapiVersion
Required value
Version of the Deckhouse API.
Allowed values:
dhctl.deckhouse.io/v1 - stringhost
Required value
Host.
- stringkind
Required value
Allowed values:
SSHHost
StaticClusterConfiguration
Version: deckhouse.io/v1
Parameters of a static (bare metal) cluster.
To change the StaticClusterConfiguration resource in a running cluster, run the following command:
d8 system edit static-cluster-configuration
Example:
apiVersion: deckhouse.io/v1
kind: StaticClusterConfiguration
internalNetworkCIDRs:
- 10.244.0.0/16
- 10.50.0.0/16
- stringapiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1,deckhouse.io/v1alpha1 - array of stringsinternalNetworkCIDRs
List of internal cluster networks.
Internal cluster networks connect Kubernetes components (
kube-apiserver,kubelet, etc.).The parameter is mandatory in the following cases:
- Cluster nodes have more than one network interface
- The cluster is deployed inside a Deckhouse Virtualization Platform
When changing the value, subnets in the new list must include IP addresses of currently joined nodes.
Example:
internalNetworkCIDRs: - 192.168.42.0/24 - 172.16.16.0/24- stringElement of the array
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
- stringkind
Required value
Allowed values:
StaticClusterConfiguration