Go modules · #2808 by repository stars
github.com/fluxcd/kustomize-controller
v1.9.4fluxcd/kustomize-controller ↗Last release 27 days ago
01 Aug 2026
Ships on a steady schedule
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
1344 releases · first in 2020
Release timeline
1344 releases since 2020Releases
- v1.3.1-0.20240906082802-1e9d28b251106 Sept 2024pre-release
Nothing published for this version
- v1.3.1-0.20240904061523-7895c43d048d4 Sept 2024pre-release
Nothing published for this version
- v1.3.1-0.20240708075343-a1a33f2adda78 Jul 2024pre-release
Nothing published for this version
- v1.3.1-0.20240611064844-e70e5b36a3ed11 Jun 2024pre-release
Nothing published for this version
- v1.3.1-0.20240521074851-0007a71e6c3621 May 2024pre-release
Nothing published for this version
- v1.3.1-0.20240508140719-a490f79296db8 May 2024pre-release
Nothing published for this version
- v1.3.1-0.20240506092853-55e08776a3786 May 2024pre-release
Nothing published for this version
- v1.3.06 May 2024
Release notes3 sources agree
Open source →Release date: 2024-05-06
This minor release comes with new features, improvements and bug fixes.
The controller has been updated to Kustomize v5.4, please see the
kubernetes-sigs/kustomizechangelog for more details.The Flux
KustomizationAPI gains two optional fields.spec.namePrefixand.spec.nameSuffixthat can be used to specify a prefix and suffix to be added to the names of all managed resources.The controller now supports the
--feature-gates=StrictPostBuildSubstitutions=trueflag, when enabled the post-build substitutions will fail if a variable without a default value is declared in files but is missing from the input vars.When using variable substitution with values that are numbers or booleans, it is now possible to covert the values to strings, for more details see the post-build documentation.
In addition, the controller dependencies have been updated to Kubernetes v1.30 and controller-runtime v0.18. Various other dependencies have also been updated to their latest version to patch upstream CVEs.
Lastly, the controller is now built with Go 1.22.
Improvements:
- Implement name prefix/suffix transformers #1134
- Add
StrictPostBuildSubstitutionsfeature flag #1130 - Document how to use numbers and booleans in post build substitutions #1129
- Remove deprecated aad pod identity from API docs #1152
- api: Refer condition type constants from
fluxcd/pkg/apis#1144 - Update dependencies to Kustomize v5.4.0 #1128
- Various dependency updates #1155 #1121 #1139 #1122
Fixes:
- v1.2.22 Feb 2024
Release notes3 sources agree
Open source →Release date: 2024-02-01
This patch release comes with various bug fixes and improvements.
Reconciling empty directories and directories without Kubernetes manifests no longer results in an error. This regressing bug was introduced with the controller upgrade to Kustomize v5.3 and has been fixed in this patch release.
The regression due to which the namespaced objects without a namespace specified resulted in
not founderror instead ofnamespace not specifiedhas also been fixed. And the regression due to which Roles and ClusterRoles were reconciled over and over due to the normalization of Roles and ClusterRoles has also been fixed.In addition, the Kubernetes dependencies have been updated to v1.28.6. Various other dependencies have also been updated to their latest version to patch upstream CVEs.
Lastly, the controller is now built with Go 1.21.
Improvements:
- v1.2.114 Dec 2023
Release notes3 sources agree
Open source →Release date: 2023-12-14
This patch release comes with improvements in logging to provide faster feedback on any HTTP errors encountered while fetching source artifacts.
In addition, the status condition messages are now trimmed to respect the size limit defined by the API.
Improvements:
- v1.2.1-0.20240506073111-882f6a7963996 May 2024pre-release
Nothing published for this version
- v1.2.1-0.20240316092148-d74d31b3638716 Mar 2024pre-release
Nothing published for this version
- v1.2.1-0.20240312175329-11f5cafe960512 Mar 2024pre-release
Nothing published for this version
- v1.2.1-0.20240308072122-5e0be4019b958 Mar 2024pre-release
Nothing published for this version
- v1.2.1-0.20240229135117-877febcd40f029 Feb 2024pre-release
Nothing published for this version
- v1.2.1-0.20240202125159-4de0503b635f2 Feb 2024pre-release
Nothing published for this version
- v1.2.1-0.20240201153912-b51dd326cadb1 Feb 2024pre-release
Nothing published for this version
- v1.2.1-0.20240124112329-a2258023fc6924 Jan 2024pre-release
Nothing published for this version
- v1.2.1-0.20240115074028-402cc53f38d815 Jan 2024pre-release
Nothing published for this version
- v1.2.1-0.20231214144146-e487f84d30bc14 Dec 2023pre-release
Nothing published for this version
- v1.2.1-0.20231213132409-b3345ff5187913 Dec 2023pre-release
Nothing published for this version
- v1.2.1-0.20231211164725-738101481eab11 Dec 2023pre-release
Nothing published for this version
- v1.2.011 Dec 2023
Release notes3 sources agree
Open source →Release date: 2023-12-11
This minor release comes with performance improvements, bug fixes and several new features.
The controller has been updated from Kustomize v5.0 to v5.3, please the see
kubernetes-sigs/kustomizechangelog for a more details.Starting with this version, the controller will automatically perform a cleanup of the Pods belonging to stale Kubernetes Jobs after a force apply.
A new controller flag
--override-managerhas been added to extend the Field Managers disallow list. Using this flag, cluster administrators can configure the controller to undo changes made with Lens and other UI tools that directly modify Kubernetes objects on clusters.In addition, the controller dependencies have been updated, including an update to Kubernetes v1.28. The container base image has been updated to Alpine 3.19.
Improvements:
- Update source-controller to v1.2.2 #1024
- build: update Alpine to 3.19 #1023
- Update Kustomize to v5.3.0 #1021
- Support additional Field Managers in the disallow list #1017
- Add test for Namespace custom resource #1016
- Update controller to Kubernetes v1.28.4 #1014
- Disable status poller cache by default #1012
- Tweak permissions on various created files #1005
- Cleanup pods when recreating Kubernetes Jobs #997
- Update SOPS to v3.8.1 #995
- v1.1.111 Oct 2023
Release notes3 sources agree
Open source →Release date: 2023-10-11
This patch release contains an improvement to retry the reconciliation of a
Kustomizationas soon as the source artifact is available in storage. Which is particularly useful when the source-controller has just been upgraded.In addition, the controller can now detect immutable field errors returned by the Google Cloud k8s-config-connector admission controller and recreate the GCP custom resources annotated with
kustomize.toolkit.fluxcd.io/force: Enabled.Improvements:
- Update
fluxcd/pkgdependencies #983 - Bump
github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4 #962
Fixes:
- Update
- v1.1.1-0.20231211150539-04cd9398fd3a11 Dec 2023pre-release
Nothing published for this version
- v1.1.1-0.20231122084105-250f620fbe4d22 Nov 2023pre-release
Nothing published for this version
- v1.1.1-0.20231012105552-4a00021b897a12 Oct 2023pre-release
Nothing published for this version
- v1.1.1-0.20231011143511-a23791da6c6311 Oct 2023pre-release
Nothing published for this version
- v1.1.1-0.20231009065148-21e75ffb13689 Oct 2023pre-release
Nothing published for this version
- v1.1.1-0.20230825134427-6dcf08b21e6225 Aug 2023pre-release
Nothing published for this version
- v1.1.1-0.20230823133626-ef8de4ddf48923 Aug 2023pre-release
Nothing published for this version
- v1.1.023 Aug 2023
Release notes3 sources agree
Open source →Release date: 2023-08-23
This minor release comes with performance improvements, bug fixes and several new features.
The apply behaviour has been extended with two policies
IfNotPresentandIgnore. To change the apply behaviour for specific Kubernetes resources, you can annotate them with:Annotation Default Values Role kustomize.toolkit.fluxcd.io/ssaOverride- Override<br/>-Merge<br/>-IfNotPresent<br/>-IgnoreApply policy kustomize.toolkit.fluxcd.io/forceDisabled- Enabled<br/>-DisabledRecreate policy kustomize.toolkit.fluxcd.io/pruneEnabled- Enabled<br/>-DisabledDelete policy The
IfNotPresentpolicy instructs the controller to only apply the Kubernetes resources if they are not present on the cluster. This policy can be used for KubernetesSecretsandValidatingWebhookConfigurationsmanaged by cert-manager, where Flux creates the resources with fields that are later on mutated by other controllers.This version improves the health checking with fail-fast behaviour by detecting stalled Kubernetes rollouts.
In addition, the controller now stops exporting an object's metrics as soon as the object has been deleted.
Lastly, this release introduces two controller flags:
- The
--concurrent-ssaflag sets the number of concurrent server-side apply operations performed by the controller. Defaults to 4 concurrent operations per reconciliation. - The
--interval-jitter-percentageflag makes the controller distribute the load more evenly when multiple objects are set up with the same interval. The default of this flag is set to5, which means that the interval will be jittered by a +/- 5% random value (e.g. if the interval is 10 minutes, the actual reconciliation interval will be between 9.5 and 10.5 minutes).
Improvements:
- Add
--concurrent-ssaflag #948 - Add
IfNotPresentandIgnoreSSA policies #943 - controller: jitter requeue interval #940
- Enable fail-fast behavior for health checks #933
- Bump
fluxcd/pkg/ssato improve immutable error detection #932 - Update dependencies #939
- Update Source API to v1.1.0 #952
Fixes:
- The
- v1.0.110 Jul 2023
Release notes3 sources agree
Open source →Release date: 2023-07-10
This is a patch release that fixes spurious events emitted for skipped resources.
Fixes:
- Exclude skipped resources from apply events #920
- v1.0.1-0.20230710120224-bca3b717aaa410 Jul 2023pre-release
Nothing published for this version
- v1.0.1-0.20230706084432-eb77efd798ca6 Jul 2023pre-release
Nothing published for this version
- v1.0.1-0.20230704105604-0fe37838c8104 Jul 2023pre-release
Nothing published for this version
- v1.0.04 Jul 2023
Release notes3 sources agree
Open source →Release date: 2023-07-04
This is the first stable release of the controller. From now on, this controller follows the Flux 2 release cadence and support pledge.
Starting with this version, the build, release and provenance portions of the Flux project supply chain provisionally meet SLSA Build Level 3.
This release includes several bug fixes. In addition, dependencies have been updated to their latest version, including an update of Kubernetes to v1.27.3.
For a comprehensive list of changes since
v0.35.x, please refer to the changelog for v1.0.0-rc.1, v1.0.0-rc.2, v1.0.0-rc.3 and `v1.0.0-rc.4.Improvements:
Fixes:
- v1.0.0-rc.4.0.20230704043558-e77ddbc0d68b4 Jul 2023pre-release
Nothing published for this version
- v1.0.0-rc.429 May 2023pre-release
Release notes3 sources agree
Open source →Release date: 2023-05-29
This release candidate comes with support for Kustomize v5.0.3.
⚠️ Note that Kustomize v5 contains breaking changes, please consult their changelog for more details.
In addition, the controller dependencies have been updated to Kubernetes v1.27.2 and controller-runtime v0.15.0.
Improvements:
- v1.0.0-rc.312 May 2023pre-release
Release notes3 sources agree
Open source →Release date: 2023-05-12
This release candidate comes with improved error reporting for when the controller fails to fetch an artifact due to a checksum mismatch.
In addition, the controller dependencies have been updated to patch CVE-2023-1732 and the base image has been updated to Alpine 3.18.
Improvements:
- v1.0.0-rc.29 May 2023pre-release
Release notes3 sources agree
Open source →Release date: 2023-05-09
This release candidate fixes secrets decryption when using Azure Key Vault.
In addition, the controller dependencies have been updated to their latest versions.
Improvements:
- v1.0.0-rc.1.0.20230417100536-6ecf4254cf0917 Apr 2023pre-release
Nothing published for this version
- v1.0.0-rc.13 Apr 2023pre-release
Release notes3 sources agree
Open source →Release date: 2023-04-03
This release candidate promotes the
KustomizationAPI fromv1beta2tov1. The controller now supports horizontal scaling using sharding based on a label selector.In addition, the controller now supports Workload Identity when decrypting secrets with SOPS and Azure Vault.
Highlights
This release candidate requires the
GitRepositoryAPI versionv1, first shipped with source-controller v1.0.0-rc.1.API changes
The
Kustomizationkind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.A new optional field called
CommonMetadatawas added to the API for setting labels and/or annotations to all resources part of a Kustomization. The main difference to the Kustomize commonLabels and commonAnnotations, is that the controller sets the labels and annotations only to the top levelmetadatafield, without patching the Kubernetes Deploymentspec.templateor the Servicespec.selector.The
kustomizations.kustomize.toolkit.fluxcd.ioCRD contains the following versions:- v1 (storage version)
- v1beta2 (deprecated)
- v1beta1 (deprecated)
Upgrade procedure
The
Kustomizationv1 API is backwards compatible with v1beta2, except for the following:- the deprecated field
.spec.validationwas removed - the deprecated field
.spec.patchesStrategicMergewas removed (replaced by.spec.patches) - the deprecated field
.spec.patchesJson6902was removed (replaced by.spec.patches)
To upgrade from v1beta2, after deploying the new CRD and controller, set
apiVersion: kustomize.toolkit.fluxcd.io/v1in the YAML files that containKustomizationdefinitions and remove the deprecated fields if any. Bumping the API version in manifests can be done gradually. It is advised to not delay this procedure as the beta versions will be removed after 6 months.Sharding
Starting with this release, the controller can be configured with
--watch-label-selector, after which only objects with this label will be reconciled by the controller.This allows for horizontal scaling, where kustomize-controller can be deployed multiple times with a unique label selector which is used as the sharding key.
Full changelog
Improvements:
- GA: Promote Kustomization API to
kustomize.toolkit.fluxcd.io/v1#822 - Add common labels and annotations patching capabilities #817
- Add reconciler sharding capability based on label selector #821
- Support Workload Identity for Azure Vault #813
- Verify Digest of Artifact #818
- Move
controllerstointernal/controllers#820 - build(deps): bump github.com/opencontainers/runc from 1.1.2 to 1.1.5 #824
- v0.35.120 Mar 2023
Release notes3 sources agree
Open source →Release date: 2023-03-20
This prerelease comes with a fix to error reporting. The controller will now reveal validation errors when force applying resources with immutable field changes.
In addition, the controller dependencies have been updated to their latest versions.
Improvements:
- Update dependencies #814
- v0.35.08 Mar 2023
Release notes3 sources agree
Open source →Release date: 2023-03-08
This prerelease adds support for disabling the cache of the
kstatusstatus poller, which is used to determine the health of the resources applied by the controller. To disable the cache, configure the Deployment of the controller with--feature-gates=DisableStatusPollerCache=true.This may have a positive impact on memory usage on large clusters with many objects, at the cost of an increased number of API calls.
In addition,
kloghas been configured to log using the same logger as the rest of the controller (providing a consistent log format).Lastly, the controller is now built using Go
1.20, and the dependencies have been updated to their latest versions.Improvements:
- v0.34.1-0.20230217132721-11f5fbb664b617 Feb 2023pre-release
Nothing published for this version
- v0.34.1-0.20230217122458-5056fbf6ac5c17 Feb 2023pre-release
Nothing published for this version
- v0.34.017 Feb 2023
Release notes3 sources agree
Open source →Release date: 2023-02-17
This prerelease adds support for parsing the RFC-0005 revision format produced by source-controller
>=v0.35.0.In addition, the controller dependencies have been updated to their latest versions.
Improvements:
- v0.33.01 Feb 2023
Release notes3 sources agree
Open source →Release date: 2023-02-01
This prerelease comes with support for recreating immutable resources (e.g. Kubernetes Jobs) by annotating or labeling them with
kustomize.toolkit.fluxcd.io/force: enabled.The caching of Secret and ConfigMap resources has been disabled to improve memory usage. To opt-out from this behavior, start the controller with:
--feature-gates=CacheSecretsAndConfigMaps=true.In addition, the controller dependencies have been updated to Kubernetes v1.26.1 and controller-runtime v0.14.2. The controller base image has been updated to Alpine 3.17 (which contains CVE fixes for OS packages).
Improvements:
- Allow force apply to be configured in metadata #787
- Disable caching of Secrets and ConfigMaps #789
- build: Enable SBOM and SLSA Provenance #787
- build: Update Alpine to 3.17 #786
- build: pdate source-controller/api to v0.34.0 #790
- build: Download CRD deps only when necessary #783
- test: Enable kstatus checks #784
- v0.32.020 Dec 2022
Release notes3 sources agree
Open source →Release date: 2022-12-20
This prerelease comes with experimental support for Kustomize components.
In addition, the AWS and Google Cloud KMS dependencies have been updated to match the latest stable release from upstream.
Improvements:
- Add support for Kustomize components #754
- Update dependencies #780
- Document the behaviour of atomic fields with server-side apply #774
- fuzz: Use build script from upstream and fix fuzzers #777
- build: Fix cifuzz tests and improve fuzz tests' reliability #771
- build: update dockertest to Go Mod compatible v3 #776
- v0.31.018 Nov 2022
Release notes3 sources agree
Open source →Release date: 2022-11-18
This prerelease comes with improvements to the manifests generation component. The Kustomize overlay build logic has been factored out into
github.com/fluxcd/pkg/kustomizeso that both the controller and the Flux CLI (flux buid kustomization) share the same code base.In addition, the controller dependencies have been updated to Kubernetes v1.25.4 and controller-runtime v0.13.1. The Azure Vault SDK used for secrets decryption has been updated to match the latest stable release from upstream.
Improvements:
- Refactor: Generate manifests with
flux/pkg/kustomize#763 - Update
keyvault/azkeysAzure SDK to v0.9.0 #759 - Update Source API to v0.32.1 #768
- Update dependencies #767
- Use Flux Event API v1beta1 #758
- build: Bump gpg to alpine's edge #760
- build: Remove nsswitch.conf creation #765
Fixes:
- Don't override the reconcile error on status patching #761
- Refactor: Generate manifests with
- v0.30.021 Oct 2022
Release notes3 sources agree
Open source →Release date: 2022-10-21
This prerelease comes with new status condition named
Reconcilingwhich improves the observability for the actions performed by the controller during a reconciliation run. TheKustomization.status.conditionshave been aligned with Kubernetes standard conditions and kstatus.In addition, the controller memory usage was reduced by 90% when performing artifact operations and can now better handle the reconciliation of large sources in-parallel.
Improvements:
- Optimise the memory usage of artifact operations #747
- Refactor: Adopt Flux runtime conditions and status standards #745
- Refactor: Remove docs which overlap with Flux website #746
- Refactor: Move inventory helpers to internal package #744
- Refactor: Acquire artifacts with
fluxcd/pkg/http/fetch#743 - Refactor: Use impersonation from
fluxcd/pkg/runtime/client#742 - Refactor: Extract generator to internal package #740
- Refactor: Extract decrytor to internal package #739
- Support alternative kustomization file names #738
- API: allow configuration of
hunit for timeouts #749 - Update dependencies #750
- v0.29.029 Sept 2022
Release notes3 sources agree
Open source →Release date: 2022-09-29
This prerelease comes with strict validation rules for API fields which define a (time) duration. Effectively, this means values without a time unit (e.g.
ms,s,m,h) will now be rejected by the API server. To stimulate sane configurations, the unitsns,usandµscan no longer be configured, nor canhbe set for fields defining a timeout value.In addition, the controller dependencies have been updated to Kubernetes controller-runtime v0.13.
:warning: Breaking changes:
.spec.intervalnew validation pattern is"^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$".spec.retryIntervalnew validation pattern is"^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$".spec.timeoutnew validation pattern is"^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
Improvements:
- api: add custom validation for v1.Duration types #731
- Build with Go 1.19 #733
- Update dependencies #735
Fixes:
- Fix health checking for global objects #730
- v0.28.1-0.20220920085609-21d02283ecc120 Sept 2022pre-release
Nothing published for this version
- v0.28.012 Sept 2022
Release notes3 sources agree
Open source →Release date: 2022-09-12
This prerelease comes with improvements to reconciling Kubernetes class type objects, SOPS decryption and fuzzing. In addition, the controller dependencies have been updated to Kubernetes controller-runtime v0.12.
:warning: Breaking change: The controller logs have been aligned with the Kubernetes structured logging. For more details on the new logging structure please see: fluxcd/flux2#3051.
Improvements:
- Align controller logs to Kubernetes structured logging #718
- Reconcile Kubernetes class type objects in a dedicated stage #720
- Sort SOPS masterkeys so offline decrypt methods are tried first #726
- SOPS: Update the AWS SDK for KMS #721
- Refactor Fuzzers based on Go native fuzzing #723
- Fuzz optimisations #722
- Update dependencies #724
- v0.27.2-0.20220903060925-9716996f27aa3 Sept 2022pre-release
Nothing published for this version
- v0.27.2-0.20220903025529-ce3d201413363 Sept 2022pre-release
Nothing published for this version
- v0.27.2-0.20220903025501-b7f9239f9ac93 Sept 2022pre-release
Nothing published for this version
- v0.27.2-0.20220902162516-17102e3b91a02 Sept 2022pre-release
Nothing published for this version
- v0.27.2-0.20220902095839-f9559ec6ded02 Sept 2022pre-release
Nothing published for this version