Releases: kluctl/kluctl
kluctl-v2.25.0-devel
kluctl-v2.24.1
Kluctl v2.24.1 is a patch release with fixes and minor improvements only.
If you use the kluctl-controller, you should update to v2.24.1 as otherwise the Helm integration might fail in some situations.
Do not forget to read through the v2.24.0 release notes before upgrading from v2.22.x.
Changelog
kluctl-v2.24.0
Kluctl v2.24.0 comes with new features, improvements and fixes.
New Features and Improvements
Conflict resolution management via deployment.yaml
You can now configure conflict resolution via the conflictResolution
field in deployments and sub-deployments. This allows you to fix all warnings that happen due to expected external changes, e.g. ValidatingWebhookConfiguration
's CA updates that happen after applying the webkooks or cert-manager CA injections that happen by the cert-manager ca-injector.
Ignoring all Kluctl metadata in diffs
kluctl diff
now support --ignore-kluctl-metadata
, which will omit all diffs in for fields that are automatically added by kluctl. This includes labels for tags and discriminators and annotations for the deployment item path. This is useful when you perform refactorings that lead to a lot of metadata changes, for example when you move a deployment to another directory, which can easily cause hundreds or thousands of tag and annotation updates.
Better jsonpath support
JSON Path support has been improved to properly support wildcards and script expressions. This applies to all places where a JSON Path is used to select/match one or more fields, e.g. in conflictResolution
and ignoreForDiff
.
Other new features
- You can now override the discriminator in all commands that work with it. To do so, pass the
--discriminator
flag to the command. This is for example useful when you need to prune or delete deployments for which the discriminator has changed. kluctl controller install
now accepts a--kubeconfig
flag.
Bugfixes and improvements
- Kluctl will not fail anymore when RBAC permissions are not sufficient for some not strictly necessary features. Instead, Kluctl will warn you about reduced functionality.
kluctl helm-pull
is now working for Kluctl library projects.- Validation warnings are now listed in the output of
kluctl validate
. - The pre-pulled Helm Charts directory (
.helm-charts
) is now searched in all directories that lead to the root of the project. This allows better support for Kluctl Library projects.
Changelog
For a detailed list of changes, see the release comparison: v2.23.0...v2.24.0
kluctl-v2.23.5
Kluctl v2.23.5 is a patch release with fixes and minor improvements only.
Do not forget to read through the v2.23.0 release notes before upgrading from v2.22.x.
Changelog
- 9c1680d fix: Also deep-clone aws config in buildTarget (#992)
- a251a4e fix: Also try LIST on namespaces when GET on kube-system fails
- 45ace5c fix: Do not execute rollback hooks
- 4e9281a fix: Don't fail when LIST permissions for namespaces are missing
- 8af2b3a fix: Fix crash in GetFirstObject that happens if a nil list is encountered (#982)
- ef3d5b4 fix: Ignore delete hooks on validation
- 4ea1e49 fix: Ignore rollback hooks when validating
- 5e7da01 fix: Make namespace optional in clusterObject vars source (#986)
- b6580b8 fix: Only warn when permissions are not sufficient for the result store
- 335d766 fix: Upgrade go-jinja2 to latest main branch to fix local vars with get_var/render
- a9326e2 fix: Warn about delete/rollback hooks not being supported
- 65103de fix: Warn when Kluctl is unable to determine the cluster ID
- 6d91f1f fix: always use the target context for validation
For a detailed list of changes, see the release comparison: v2.23.4...v2.23.5
kluctl-v2.23.4
Kluctl v2.23.4 is a patch release with fixes and minor improvements only.
Do not forget to read through the v2.23.0 release notes before upgrading from v2.22.x.
Changelog
- 71f5df5 chore(deps): Bump actions/cache from 3 to 4 (#965)
- 4d01301 chore(deps): Bump github.com/go-playground/validator/v10 (#959)
- 041633e chore(deps): Bump the aws-sdk group with 2 updates (#966)
- cc3db5d chore(deps): Bump the k8s-io group with 3 updates (#963)
- 6e0b863 feat: Unconditionally assume an object is managed by Kluctl if kluctl.io/force-managed=true
- 6fd8298 tests Add tests for pruning with kluctl.io/force-managed
kluctl-v2.23.3
kluctl-v2.23.2
kluctl-v2.23.1
kluctl-v2.23.0
Kluctl v2.23.0 comes with improvements, fixes and breaking changes.
Breaking changes
targetPath
in theclusterSecrets
andclusterConfigMap
vars sources has been deprecated and will be removed in a future release. Instead, use the new commontargetPath
field one level up.- Specifying a target is now mandatory when the
.kluctl.yaml
defines targets. See #470 for the reasoning behind this breaking change.
New Features and Improvements
Waiting for readiness
waitReadiness
has been improved to allow waiting for readiness on objects that get applied outside of the Kluctl deployment process.
Additionally, the new waitReadinessObjects
deployment item can now be used to wait for objects that are not part of the current deployment.
This allows to wait for things that are deployed by controllers/operators, for example CRDs.
New vars sources
The new clusterObject
vars source can now be used to load arbitrary Kubernetes objects into variables.
The new gitFiles
vars source can now be used to load arbitrary branches/tags and files as variables.
Other new features
--kubeconfig
can now be passed to most commands to override the kubeconfig.
Bugfixes and improvements
- CRD deployments, performed from your deployment or a controller, are now properly detected and handled. This should deployments much more reliable and predictable when proper barriers and waitReadiness/waitReadinessObjects are used.
- Warnings are now printed at the bottom of the pretty command result, avoiding missing existence of those when many changes are reported.
- Kluctl now respects the users cache dirs (e.g. ~/.cache on Linux) und uses those for all cache related things.
Changelog
For a detailed list of changes, see the release comparison: v2.22.0...v2.23.0