Skip to content

Commit 7583fe4

Browse files
authored
Merge pull request #1676 from fluxcd/release/v1.9.x
Release/v1.9.x
2 parents 9dfc5b3 + 5469138 commit 7583fe4

3 files changed

Lines changed: 82 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,86 @@
22

33
All notable changes to this project are documented in this file.
44

5+
## 1.9.0
6+
7+
**Release date:** 2026-06-17
8+
9+
This minor release comes with new features for post-build variable substitution,
10+
drift detection, SOPS decryption and Kustomize build metadata, along with various
11+
bug fixes and dependency updates.
12+
13+
### Kustomization
14+
15+
Post-build substitutions are now stricter by default: the controller fails the
16+
reconciliation when a variable without a default value is referenced in the
17+
manifests but is missing from the input vars. This behavior is controlled by the
18+
`StrictPostBuildSubstitutions` feature gate, which is now enabled by default and
19+
can be opted out of. In addition, a new `.spec.postBuild.substituteStrategy: Always`
20+
option was introduced to always perform substitutions even when no variables are
21+
defined, which is useful when the substitution expressions all carry defaults
22+
(e.g. `${var:=default}`).
23+
24+
Drift detection can now be fine-tuned with ignore rules. The new `.spec.ignore`
25+
field accepts a list of rules selecting JSON pointer paths (optionally scoped to
26+
specific targets) to exclude from both drift detection and the apply process.
27+
28+
A new `.spec.buildMetadata` field allows enabling Kustomize build metadata
29+
annotations per Kustomization, supporting the `originAnnotations` and
30+
`transformerAnnotations` options.
31+
32+
The controller now keeps resources that failed to be pruned in the
33+
`.status.inventory`, ensuring they remain tracked and can be retried on the next
34+
reconciliation instead of becoming untracked orphans.
35+
36+
#### SOPS decryption
37+
38+
SOPS decryption now supports generic Kubernetes workload identity for the
39+
OpenBao/Vault transit engine, allowing the controller to authenticate to OpenBao
40+
by exchanging a Kubernetes ServiceAccount token for a short-lived OpenBao token
41+
through a JWT-backed auth method, instead of using a static token. This is purely
42+
additive and non-breaking: the existing `sops.vault-token` Secret and `VAULT_TOKEN`
43+
environment variable paths are unchanged and take precedence.
44+
45+
Age and SOPS have also been updated to support Age hybrid post-quantum encryption.
46+
47+
### General updates
48+
49+
In addition, the Kubernetes dependencies have been updated to v1.36, the controller
50+
is now built with Go 1.26 and the source-controller API has been upgraded to v1.9.0.
51+
The shared `DependencyReference` type was migrated to the `apis/meta` package,
52+
preserving backward compatibility through a type alias.
53+
54+
Fixes:
55+
- Keep failed-to-prune resources in `.status.inventory`
56+
[#1665](https://github.com/fluxcd/kustomize-controller/pull/1665)
57+
58+
Improvements:
59+
- Enable `StrictPostBuildSubstitutions` by default
60+
[#1671](https://github.com/fluxcd/kustomize-controller/pull/1671)
61+
- Introduce `substituteStrategy: Always`
62+
[#1672](https://github.com/fluxcd/kustomize-controller/pull/1672)
63+
- Add support for drift detection ignore rules
64+
[#1627](https://github.com/fluxcd/kustomize-controller/pull/1627)
65+
- Add `.spec.buildMetadata` optional field to Kustomization API
66+
[#1632](https://github.com/fluxcd/kustomize-controller/pull/1632)
67+
- Introduce generic Kubernetes workload identity for SOPS OpenBao/Vault
68+
[#1659](https://github.com/fluxcd/kustomize-controller/pull/1659)
69+
- Update Age and SOPS for Age post-quantum cypher
70+
[#1601](https://github.com/fluxcd/kustomize-controller/pull/1601)
71+
- Migrate `DependencyReference` to shared `apis/meta` type
72+
[#1656](https://github.com/fluxcd/kustomize-controller/pull/1656)
73+
- Update to Kubernetes 1.36 and Go 1.26
74+
[#1660](https://github.com/fluxcd/kustomize-controller/pull/1660)
75+
- Upgrade source-controller API to v1.9.0
76+
[#1674](https://github.com/fluxcd/kustomize-controller/pull/1674)
77+
- Various dependency updates
78+
[#1661](https://github.com/fluxcd/kustomize-controller/pull/1661)
79+
[#1662](https://github.com/fluxcd/kustomize-controller/pull/1662)
80+
[#1666](https://github.com/fluxcd/kustomize-controller/pull/1666)
81+
[#1667](https://github.com/fluxcd/kustomize-controller/pull/1667)
82+
[#1668](https://github.com/fluxcd/kustomize-controller/pull/1668)
83+
[#1669](https://github.com/fluxcd/kustomize-controller/pull/1669)
84+
585
## 1.8.5
686

787
**Release date:** 2026-05-12

config/manager/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ resources:
55
images:
66
- name: fluxcd/kustomize-controller
77
newName: fluxcd/kustomize-controller
8-
newTag: v1.8.0
8+
newTag: v1.9.0

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ require (
1919
github.com/cyphar/filepath-securejoin v0.6.1
2020
github.com/dimchansky/utfbom v1.1.1
2121
github.com/fluxcd/cli-utils v1.2.1
22-
github.com/fluxcd/kustomize-controller/api v1.8.0
22+
github.com/fluxcd/kustomize-controller/api v1.9.0
2323
github.com/fluxcd/pkg/apis/acl v0.10.0
2424
github.com/fluxcd/pkg/apis/event v0.27.0
2525
github.com/fluxcd/pkg/apis/kustomize v1.19.0

0 commit comments

Comments
 (0)