Understanding Dry Run mode#
The ClusterDeployment process includes a "dry run" mode, which enables you to validate your configuration without actually provisioning resources. By default, .spec.dryRun is set to false, but enabling it can help identify potential issues early.
Note that if no configuration (.spec.config) is provided, default values from the selected template will populate the object, and .spec.dryRun will automatically be enabled.
Example: Dry Run with default configuration:
apiVersion: k0rdent.mirantis.com/v1beta1
kind: ClusterDeployment
metadata:
name: my-cluster-deployment
namespace: kcm-system
spec:
template: aws-standalone-cp-0-0-3
credential: aws-credential
dryRun: true
After validation (this is, you see TemplateReady as a condition in .status.conditions), remove or disable .spec.dryRun to proceed with deployment.
Note
In Dry Run mode, when you update .spec.template, k0rdent also checks
whether the underlying Helm chart name has changed. If it has, k0rdent sets
a non-blocking HelmChartNameChanged condition and emits a warning
(including webhook warnings during update validation), because Flux will
uninstall and reinstall the release under the new chart name.
Example: Validated ClusterDeployment object:
apiVersion: k0rdent.mirantis.com/v1beta1
kind: ClusterDeployment
metadata:
name: my-cluster-deployment
namespace: kcm-system
spec:
template: aws-standalone-cp-0-0-3
credential: aws-credential
config:
clusterLabels: {}
region: us-east-2
publicIP: true
controlPlaneNumber: 1
workersNumber: 1
controlPlane:
instanceType: t3.small
worker:
instanceType: t3.small
status:
conditions:
- type: TemplateReady
status: "True"
reason: Succeeded
message: Template is valid
- type: Ready
status: "True"
reason: Succeeded
message: ClusterDeployment is ready