Skip to content

Releases: kluctl/kluctl

kluctl-v2.25.0-devel

19 Apr 15:40
e777ee1
Compare
Choose a tag to compare
kluctl-v2.25.0-devel Pre-release
Pre-release

Development build

This is a development build of the main branch and not meant for production use.
Docker images are also available via: ghcr.io/kluctl/kluctl:v2.25.0-devel

Changelog

  • e777ee1 fix: Upgrade go-jinja2 and generate files.json for embedded manifests (#1068)

kluctl-v2.24.1

10 Apr 15:13
Compare
Choose a tag to compare

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

  • f8d8557 fix: Don't try to find pre-pulled chart when skipPrePull is true
  • 3ddc589 fix: Error out when no .helm-charts dir was found/provided
  • ec035c3 fix: Fix error message in helm-pull/helm-update (#1060)

kluctl-v2.24.0

10 Apr 08:50
Compare
Choose a tag to compare

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

04 Mar 13:58
Compare
Choose a tag to compare

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

06 Feb 14:04
Compare
Choose a tag to compare

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

15 Jan 14:38
Compare
Choose a tag to compare

Kluctl v2.23.3 is a patch release with fixes only.

Do not forget to read through the v2.23.0 release notes before upgrading from v2.22.x.

Changelog

  • 3ca8f62 fix: Skip hooks when determining objects to wait for readiness

kluctl-v2.23.2

12 Jan 09:28
Compare
Choose a tag to compare

Kluctl v2.23.2 is a patch release with fixes only.

Do not forget to read through the v2.23.0 release notes before upgrading from v2.22.x.

Changelog

  • 8c11c4d fix: Remove ensureDir and instead just use os.MkdirAll

kluctl-v2.23.1

11 Jan 12:49
Compare
Choose a tag to compare

Kluctl v2.23.1 is a patch release with fixes only.

Do not forget to read through the v2.23.0 release nodes before upgrading from v2.22.x.

Changelog

kluctl-v2.23.0

11 Jan 08:27
Compare
Choose a tag to compare

Kluctl v2.23.0 comes with improvements, fixes and breaking changes.

Breaking changes

  • targetPath in the clusterSecrets and clusterConfigMap vars sources has been deprecated and will be removed in a future release. Instead, use the new common targetPath 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

kluctl-v2.22.1

02 Nov 14:06
Compare
Choose a tag to compare

Kluctl v2.22.1 is a patch release with fixes only.

Do not forget to read through the v2.22.0 release nodes before upgrading from v2.21.x.

Changelog

  • d190a8d Merge pull request #883 from kluctl/fix-subdir
  • a72d830 fix: Use correct sub-path when using spec.source.git or spec.source.oci