PackageTrack

Go modules · #2808 by repository stars

github.com/fluxcd/kustomize-controller

v1.9.4fluxcd/kustomize-controller

Release timeline

1344 releases since 2020
20202026

Releases

  1. v1.3.1-0.20240906082802-1e9d28b251106 Sept 2024pre-release

    Nothing published for this version

  2. v1.3.1-0.20240904061523-7895c43d048d4 Sept 2024pre-release

    Nothing published for this version

  3. v1.3.1-0.20240708075343-a1a33f2adda78 Jul 2024pre-release

    Nothing published for this version

  4. v1.3.1-0.20240611064844-e70e5b36a3ed11 Jun 2024pre-release

    Nothing published for this version

  5. v1.3.1-0.20240521074851-0007a71e6c3621 May 2024pre-release

    Nothing published for this version

  6. v1.3.1-0.20240508140719-a490f79296db8 May 2024pre-release

    Nothing published for this version

  7. v1.3.1-0.20240506092853-55e08776a3786 May 2024pre-release

    Nothing published for this version

  8. v1.3.06 May 2024
    Release notes3 sources agree

    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/kustomize changelog for more details.

    The Flux Kustomization API gains two optional fields .spec.namePrefix and .spec.nameSuffix that 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=true flag, 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 StrictPostBuildSubstitutions feature 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:

    • Fix requeue warning introduced by controller-runtime #1090
    • Remove effectless statement #1091
    • Remove genclient:Namespaced tag #1092
    Open source →
  9. v1.2.22 Feb 2024
    Release notes3 sources agree

    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 found error instead of namespace not specified has 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:

    Open source →
  10. v1.2.114 Dec 2023
    Release notes3 sources agree

    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:

    • Update runtime to v0.43.3 #1031
    • Log HTTP errors to provide faster feedback #1028
    Open source →
  11. v1.2.1-0.20240506073111-882f6a7963996 May 2024pre-release

    Nothing published for this version

  12. v1.2.1-0.20240316092148-d74d31b3638716 Mar 2024pre-release

    Nothing published for this version

  13. v1.2.1-0.20240312175329-11f5cafe960512 Mar 2024pre-release

    Nothing published for this version

  14. v1.2.1-0.20240308072122-5e0be4019b958 Mar 2024pre-release

    Nothing published for this version

  15. v1.2.1-0.20240229135117-877febcd40f029 Feb 2024pre-release

    Nothing published for this version

  16. v1.2.1-0.20240202125159-4de0503b635f2 Feb 2024pre-release

    Nothing published for this version

  17. v1.2.1-0.20240201153912-b51dd326cadb1 Feb 2024pre-release

    Nothing published for this version

  18. v1.2.1-0.20240124112329-a2258023fc6924 Jan 2024pre-release

    Nothing published for this version

  19. v1.2.1-0.20240115074028-402cc53f38d815 Jan 2024pre-release

    Nothing published for this version

  20. v1.2.1-0.20231214144146-e487f84d30bc14 Dec 2023pre-release

    Nothing published for this version

  21. v1.2.1-0.20231213132409-b3345ff5187913 Dec 2023pre-release

    Nothing published for this version

  22. v1.2.1-0.20231211164725-738101481eab11 Dec 2023pre-release

    Nothing published for this version

  23. v1.2.011 Dec 2023
    Release notes3 sources agree

    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/kustomize changelog 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-manager has 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
    Open source →
  24. v1.1.111 Oct 2023
    Release notes3 sources agree

    Release date: 2023-10-11

    This patch release contains an improvement to retry the reconciliation of a Kustomization as 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/pkg dependencies #983
    • Bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4 #962

    Fixes:

    • fix: Retry when artifacts are available in storage #980
    • fix: Consistent artifact fetching retry timing #978
    Open source →
  25. v1.1.1-0.20231211150539-04cd9398fd3a11 Dec 2023pre-release

    Nothing published for this version

  26. v1.1.1-0.20231122084105-250f620fbe4d22 Nov 2023pre-release

    Nothing published for this version

  27. v1.1.1-0.20231012105552-4a00021b897a12 Oct 2023pre-release

    Nothing published for this version

  28. v1.1.1-0.20231011143511-a23791da6c6311 Oct 2023pre-release

    Nothing published for this version

  29. v1.1.1-0.20231009065148-21e75ffb13689 Oct 2023pre-release

    Nothing published for this version

  30. v1.1.1-0.20230825134427-6dcf08b21e6225 Aug 2023pre-release

    Nothing published for this version

  31. v1.1.1-0.20230823133626-ef8de4ddf48923 Aug 2023pre-release

    Nothing published for this version

  32. v1.1.023 Aug 2023
    Release notes3 sources agree

    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 IfNotPresent and Ignore. To change the apply behaviour for specific Kubernetes resources, you can annotate them with:

    Annotation Default Values Role
    kustomize.toolkit.fluxcd.io/ssa Override - Override<br/>- Merge<br/>- IfNotPresent<br/>- Ignore Apply policy
    kustomize.toolkit.fluxcd.io/force Disabled - Enabled<br/>- Disabled Recreate policy
    kustomize.toolkit.fluxcd.io/prune Enabled - Enabled<br/>- Disabled Delete policy

    The IfNotPresent policy instructs the controller to only apply the Kubernetes resources if they are not present on the cluster. This policy can be used for Kubernetes Secrets and ValidatingWebhookConfigurations managed 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-ssa flag sets the number of concurrent server-side apply operations performed by the controller. Defaults to 4 concurrent operations per reconciliation.
    • The --interval-jitter-percentage flag 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 to 5, 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-ssa flag #948
    • Add IfNotPresent and Ignore SSA policies #943
    • controller: jitter requeue interval #940
    • Enable fail-fast behavior for health checks #933
    • Bump fluxcd/pkg/ssa to improve immutable error detection #932
    • Update dependencies #939
    • Update Source API to v1.1.0 #952

    Fixes:

    • Handle delete before adding finalizer #930
    • Delete stale metrics on object delete #944
    Open source →
  33. v1.0.110 Jul 2023
    Release notes3 sources agree

    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
    Open source →
  34. v1.0.1-0.20230710120224-bca3b717aaa410 Jul 2023pre-release

    Nothing published for this version

  35. v1.0.1-0.20230706084432-eb77efd798ca6 Jul 2023pre-release

    Nothing published for this version

  36. v1.0.1-0.20230704105604-0fe37838c8104 Jul 2023pre-release

    Nothing published for this version

  37. v1.0.04 Jul 2023
    Release notes3 sources agree

    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:

    • Update dependencies #908
    • Align go.mod version with Kubernetes (Go 1.20) #900

    Fixes:

    • Use kustomization namespace for empty dependency source namespace #897
    • docs: Clarify that targetNamespace namespace can be part of resources #896
    Open source →
  38. v1.0.0-rc.4.0.20230704043558-e77ddbc0d68b4 Jul 2023pre-release

    Nothing published for this version

  39. v1.0.0-rc.429 May 2023pre-release
    Release notes3 sources agree

    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:

    • Update Kubernetes to v1.27 and Kustomize to v5 #850
    • Update controller-runtime to v0.15.0 #869
    • Update CA certificates #872
    • Update source-controller to v1.0.0-rc.4 #873
    Open source →
  40. v1.0.0-rc.312 May 2023pre-release
    Release notes3 sources agree

    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:

    • Update Alpine to 3.18 #855
    • Update dependencies #862
    • build(deps): bump github.com/cloudflare/circl from 1.1.0 to 1.3.3 #860
    • docs: Clarify the Kustomize components relative paths requirement #861
    Open source →
  41. v1.0.0-rc.29 May 2023pre-release
    Release notes3 sources agree

    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:

    • Fix SOPS azkv envCred #838
    • Update dependencies #853
    Open source →
  42. v1.0.0-rc.1.0.20230417100536-6ecf4254cf0917 Apr 2023pre-release

    Nothing published for this version

  43. v1.0.0-rc.13 Apr 2023pre-release
    Release notes3 sources agree

    Release date: 2023-04-03

    This release candidate promotes the Kustomization API from v1beta2 to v1. 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 GitRepository API version v1, first shipped with source-controller v1.0.0-rc.1.

    API changes

    The Kustomization kind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.

    A new optional field called CommonMetadata was 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 level metadata field, without patching the Kubernetes Deployment spec.template or the Service spec.selector.

    The kustomizations.kustomize.toolkit.fluxcd.io CRD contains the following versions:

    • v1 (storage version)
    • v1beta2 (deprecated)
    • v1beta1 (deprecated)

    Upgrade procedure

    The Kustomization v1 API is backwards compatible with v1beta2, except for the following:

    • the deprecated field .spec.validation was removed
    • the deprecated field .spec.patchesStrategicMerge was removed (replaced by .spec.patches)
    • the deprecated field .spec.patchesJson6902 was removed (replaced by .spec.patches)

    To upgrade from v1beta2, after deploying the new CRD and controller, set apiVersion: kustomize.toolkit.fluxcd.io/v1 in the YAML files that contain Kustomization definitions 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 controllers to internal/controllers #820
    • build(deps): bump github.com/opencontainers/runc from 1.1.2 to 1.1.5 #824
    Open source →
  44. v0.35.120 Mar 2023
    Release notes3 sources agree

    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
    Open source →
  45. v0.35.08 Mar 2023
    Release notes3 sources agree

    Release date: 2023-03-08

    This prerelease adds support for disabling the cache of the kstatus status 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, klog has 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:

    • api: update description LastAppliedRevision #798
    • Update Go to 1.20 #806
    • Update dependencies #807 #811
    • Use logger.SetLogger to also configure klog #809
    Open source →
  46. v0.34.1-0.20230217132721-11f5fbb664b617 Feb 2023pre-release

    Nothing published for this version

  47. v0.34.1-0.20230217122458-5056fbf6ac5c17 Feb 2023pre-release

    Nothing published for this version

  48. v0.34.017 Feb 2023
    Release notes3 sources agree

    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:

    • Support RFC-0005 revision format #793
    • Update dependencies #796
    Open source →
  49. v0.33.01 Feb 2023
    Release notes3 sources agree

    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
    Open source →
  50. v0.32.020 Dec 2022
    Release notes3 sources agree

    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
    Open source →
  51. v0.31.018 Nov 2022
    Release notes3 sources agree

    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/kustomize so 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/azkeys Azure 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
    Open source →
  52. v0.30.021 Oct 2022
    Release notes3 sources agree

    Release date: 2022-10-21

    This prerelease comes with new status condition named Reconciling which improves the observability for the actions performed by the controller during a reconciliation run. The Kustomization.status.conditions have 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 h unit for timeouts #749
    • Update dependencies #750
    Open source →
  53. v0.29.029 Sept 2022
    Release notes3 sources agree

    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 units ns, us and µs can no longer be configured, nor can h be 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.interval new validation pattern is "^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
    • .spec.retryInterval new validation pattern is "^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
    • .spec.timeout new 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
    Open source →
  54. v0.28.1-0.20220920085609-21d02283ecc120 Sept 2022pre-release

    Nothing published for this version

  55. v0.28.012 Sept 2022
    Release notes3 sources agree

    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
    Open source →
  56. v0.27.2-0.20220903060925-9716996f27aa3 Sept 2022pre-release

    Nothing published for this version

  57. v0.27.2-0.20220903025529-ce3d201413363 Sept 2022pre-release

    Nothing published for this version

  58. v0.27.2-0.20220903025501-b7f9239f9ac93 Sept 2022pre-release

    Nothing published for this version

  59. v0.27.2-0.20220902162516-17102e3b91a02 Sept 2022pre-release

    Nothing published for this version

  60. v0.27.2-0.20220902095839-f9559ec6ded02 Sept 2022pre-release

    Nothing published for this version