Releases: kluctl/kluctl
kluctl-v2.27.0-devel
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.27.0-devel
Changelog
- d659f6a Merge pull request #1253 from kluctl/fix-jinja2-extract
- 6e01d67 Merge pull request #1287 from kluctl/dependabot/go_modules/lib/all-353eb149ab
- 97e9527 Merge pull request #1300 from kluctl/chore-update-go
- 93aa9c7 Merge pull request #1311 from kluctl/tests-fix-flakiness
- 7ae135b Merge pull request #1316 from kluctl/chore-update-deps
- 0812685 chore(deps): Bump filippo.io/age from 1.2.0 to 1.2.1 (#1256)
- 854de09 chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/ecr (#1325)
- 062ec2d chore(deps): Bump github.com/distribution/distribution/v3 (#1293)
- 5350408 chore(deps): Bump github.com/docker/cli (#1297)
- e617ff5 chore(deps): Bump github.com/ohler55/ojg from 1.26.3 to 1.26.4 (#1323)
- d1cff30 chore(deps): Bump sigs.k8s.io/kustomize/api from 0.18.0 to 0.19.0 (#1305)
- c8424c0 chore(deps): Bump the all group across 1 directory with 11 updates
- f82049f chore(deps): Bump the aws-sdk group with 6 updates (#1301)
- 09d4fff chore(deps): Bump the azure-sdk group with 3 updates (#1302)
- 4dc8f58 chore(deps): Bump the golang-x group across 1 directory with 4 updates (#1291)
- 61e924f chore(deps): Bump the k8s-io group across 1 directory with 4 updates (#1279)
- d764e41 feat(metrics): add last deploy start time metric (#1296)
- b24fc2e fix: Fix errors about non-constant format strings
- 7e363ba fix: Fix non-constant format strings
- f56ba0f fix: Immediately patch lastPrepareError instead of doing it at the end of the reconciliation (#1315)
- 72805eb fix: Return error instead of nil when command result can't be found (#1309)
- bfa8376 fix: Store deployment name/namespace for results in annotations instead of labels (#1310)
- 1d10c64 fix: Use ReadBytes instead of ReadLine
kluctl-v2.26.0
Kluctl v2.26.0 comes with new features, improvements and fixes.
New Features and Improvements
Helm Charts via Git
You can now use Helm Charts located in Git, without any need to release them in any form. This is done by directly providing the Git url und branch/tag information. See this documentation for more details: https://kluctl.io/docs/kluctl/deployments/helm/#git
List target names
The command kluctl list-targets
not supports --only-names
to list only the names of existing targets.
Passing Git credentials
You can now pass Git credentials via CLI and environment variables.
Bugfixes and improvements
- Kluctl should be able to handle situations better in which you have limited permissions, e.g. only permissions to a single namespace.
- Kluctl will now prevent
.
and..
as default tags when such pathes are used as deployment items. - The GitOps controller will now clean up temporary gpg-agents when SOPS+GPG is used, preventing resource exhaustion.
Contributors
Thanks you to all the contributors who participated in this release:
Changelog
For a detailed list of changes, see the release comparison: v2.25.0...v2.26.0
kluctl-v2.25.1
Kluctl v2.25.1 is a minor release comes with improvements and fixes.
Bugfixes and improvements
- Kluctl will not warn about deprecated regexes anymore when it starts up
- Using Custom Resources for a CRD that is deployed in the same deployment will be more reliable from now on
Changelog
For a detailed list of changes, see the release comparison: v2.25.0...v2.25.1
kluctl-v2.25.0
Kluctl v2.25.0 comes with new features, improvements and fixes.
Breaking changes
Removal of the sealed-secrets integration
v2.25.0 finally removes the deprecated (and hidden) sealed-secrets integration. If you still use it, please switch to either SOPS or external-secrets.
New Features and Improvements
System Python support
Kluctl can now optionally use the system provided Python distribution instead of the embedded distribution. This can be enabled via the --use-system-python
or via the KLUCTL_USE_SYSTEM_PYTHON=1
environment variable. This is mostly useful for maintainers of distributed packages, e.g. NixOS.
load_base64 function
You can now use load_base64 to load binary files and auto-convert these into their base64 representation.
Path prefix for the webui
The Webui can now be run under a non-root prefix, e.g. https://example.com/kluctl-webui/ instead of only https://example.com/. Use --path-prefix
in the kluctl webui run
command to set the path prefix. Also read the installation instructions for the Kluctl Webui.
Other new features
kluctl helm-update
will now also show the old version along updated versions.
Bugfixes and improvements
- The docker image now contains the
gpg
andgpg-agent
packages so that SOPS with GPG is working properly. - A few unnecessary warnings that happened while gathering orphan objects are now hidden.
- The
batch.kubernetes.io/controller-uid
labels inside Jobs are now ignored in diffs. - Kluctl will not fail anymore when the local Git repo has no commits
Changelog
For a detailed list of changes, see the release comparison: v2.24.0...v2.25.0
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