Commit Graph

67 Commits

Author SHA1 Message Date
Stefan Prodan 5329f56881
Add ExternalArtifact feature gate
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-05 23:45:26 +03:00
Stefan Prodan 049a805992
Implement ExternalArtifact reconciliation
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-05 00:02:43 +03:00
Stefan Prodan 3d6179cc99
Import ExternalArtifact CRD
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-04 21:31:21 +03:00
Stefan Prodan e722bbbf50
Implement reconciliation history tracking
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-01 10:35:39 +03:00
cappyzawa c5f0efdced
[RFC-0010] Add multi-tenancy lockdown for decryption and kubeconfig
Adds two new controller flags to enforce ServiceAccount usage in
multi-tenant clusters where administrators need to lock down workload
identity access:

- --default-decryption-service-account
- --default-kubeconfig-service-account

These flags complement the existing --default-service-account flag to
provide complete multi-tenancy lockdown coverage for all three classes
of ServiceAccount fields in the Kustomization API.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-08-17 17:11:50 +09:00
Stefan Prodan fd63b520d5
controller: Move manager to a dedicated file
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-07-22 20:43:14 +03:00
Stefan Prodan e0e6e22272
controller: Implement CEL evaluation for dependency checks
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-07-22 20:23:58 +03:00
Matheus Pimenta 2dcec193bb
Introduce label selector for watching ConfigMaps and Secrets
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-17 10:29:26 +01:00
Matheus Pimenta 2fb1482f71
[RFC-0010] Introduce workload identity auth for remote clusters
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-14 16:47:26 +01:00
Stefan Prodan 1476042b1e
Refactor reconciler to use `ssa.ApplyAllStaged`
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-07-08 19:42:12 +03:00
Matheus Pimenta 30275f2615
Introduce global decryption for SOPS age keys
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-06 19:24:22 +01:00
cappyzawa 8479377cd7
Add regression test for multiple patch delete in strategic merge patches
This test ensures that the controller properly handles multiple
$patch: delete directives in strategic merge patches, which was
causing panic errors in kustomize v5.6.0 but is now fixed in v5.7.0.

The test includes two scenarios:
- Multiple delete directives in a single patch (the main fix)
- Multiple delete directives in separate patches (previously a workaround)

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-06-29 15:38:51 +09:00
Stefan Prodan ff76a91987
Update controller to OCIRepository v1 (GA)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-28 13:24:44 +03:00
Stefan Prodan 55be958932
Merge pull request #1444 from fluxcd/gc-wait-for-termination
Implement `WaitForTermination` deletion policy
2025-05-23 12:29:21 +02:00
Matheus Pimenta 0d6ab9f762
[RFC-0010] Introduce feature gate
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-05-19 14:18:35 +01:00
Stefan Prodan 413118e9a7
Document The `WaitForTermination` policy
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-13 16:31:33 +03:00
Stefan Prodan 98adddbf2e
Implement waiting for termination at finalization
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-13 13:36:54 +03:00
Matheus Pimenta ac963f92f4
[RFC-0010] Introduce KMS provider decryption with service account
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-05-07 17:43:35 +01:00
Matheus Pimenta 361a28eed9
Fix performance regression due to using client without cache
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-04-29 13:48:31 +01:00
Stefan Prodan 60afb73327
Merge pull request #1396 from norman-zon/suspension-event-log
Skip emitting events for suspended Kustomizations
2025-04-15 10:26:35 +03:00
Norman Stetter 2d89eb6010
feat: prevent no-op reconciles
There are edge cases where a reonciliation can be triggered on a
suspended Kustomization, mainly through changes in a source.
In these cases a "no-op" reconciliation occurs, which can be confusing
for the user. This returns early if the Kustomization ist suspended.

Signed-off-by: Norman Stetter <85173861+norman-zon@users.noreply.github.com>
2025-04-15 08:47:28 +02:00
Matheus Pimenta 42b9036bf3
Update `fluxcd/pkg/runtime` to v0.58.0
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-03-27 11:35:53 +00:00
Stefan Prodan 12b3acbaaa
Add test for RESTMapper with CRD/CR
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-02-25 13:34:57 +02:00
Stefan Prodan 8b6f4bc6e9
Use lazy restmapper vendored from controller-runtime v0.19
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-02-25 09:30:03 +02:00
Daniel Brown 230b55fde5 chore: add GroupChangeLog feature gate to fix es indexing cardinality
Signed-off-by: Daniel Brown <daniel.brown2@sainsburys.co.uk>
2025-02-14 09:48:55 +00:00
Matheus Pimenta 6455cfec59
[RFC-0009] Add CEL custom healthchecks
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-01-31 14:27:31 +00:00
Matheus Pimenta eccdbad35a
Add OCI revision to events
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-01-22 08:03:14 +00:00
Erik Godding Boye c38ebabf1b
Allow control of finalization garbage collection
Signed-off-by: Erik Godding Boye <egboye@gmail.com>
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Co-authored-by: Amund Tenstad <github@amund.io>
2024-12-18 13:30:59 +01:00
hasithsen d36aa14d77 feat: Remove deprecated object metrics from controllers fluxcd/flux2#5083
Signed-off-by: hasithsen <sen.hasith@gmail.com>
2024-12-11 23:41:43 +05:30
Yuriy 49770ea4cc Added decryption of patches and components.
Cleaned SOPS tests.

Signed-off-by: Yuriy <yuriy@vlasov.pro>
2024-12-04 10:06:19 +02:00
Yuriy 681573b3e6 Added sops encryped .env in component test data
Signed-off-by: Yuriy <yuriy@vlasov.pro>
2024-11-10 20:51:54 +02:00
Sunny 3d87349536 Update Bucket API to v1
Signed-off-by: Sunny <github@darkowlzz.space>
2024-09-27 13:29:44 +00:00
Stefan Prodan 2b44187c23
Allow cross-shard dependency check
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-09-25 11:45:10 +03:00
Stefan Prodan 5d30ea57d1
Update dependencies to Kubernetes v1.31.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-08-15 09:47:16 +03:00
Florian Forster ad38b1cb84
Fix incorrect use of format strings with the `conditions` package.
The `Mark…` functions in the `conditions` package accept a format string and
(optional) arguments, just like `fmt.Printf` and friends.

In many places, the code passed an error message as the format string, causing
it to be interpreted as a format string by the `fmt` package. This leads to
issues when the message contains percent signs, e.g. URL-encoded values.

This PR adds a format string and shortens `err.Error()` to `err`, which yields
the same output.

This change is identical in principle to
https://github.com/fluxcd/source-controller/pull/1529.

Signed-off-by: Florian Forster <fforster@gitlab.com>
2024-07-08 08:27:13 +02:00
gdasson 3fded0b0e4 Refer condition type constants from pkg
Signed-off-by: gdasson <gaurav.dasson@gmail.com>
2024-04-23 09:56:16 -05:00
Stefan Prodan 73b1b4b032
Implement name prefix/suffix transformers
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-09 15:01:35 +03:00
Stefan Prodan b810013ab5
Add envsubst test for `$${var}`
Ref: https://github.com/fluxcd/kustomize-controller/issues/1082

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-09 10:11:54 +03:00
Stefan Prodan 76cc820d31
Add envsubst test for unknown escape character fix
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-09 10:02:46 +03:00
Stefan Prodan 4f471c7dab
Add `StrictPostBuildSubstitutions` feature flag
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-08 19:08:33 +03:00
Stefan Prodan 45c50c7894
Add test for int and bool post build substitution
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-06 13:49:08 +03:00
Stefan Prodan 5e0be4019b
Merge pull request #1090 from matheuscscp/fix-warning
Fix requeue warning introduced by controller-runtime
2024-03-08 09:21:22 +02:00
Matheus Pimenta ee0c3bcec2 Remove effectless statement
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2024-02-21 16:02:59 +00:00
Matheus Pimenta 4c209ef126 Fix requeue warning introduced by controller-runtime
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2024-02-21 15:57:37 +00:00
Stefan Prodan 9ac8b7fe80
Update `api` package to Kubernetes 1.28.6
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-01-29 13:23:23 +02:00
Hidde Beydals 8deb2343e0
Log HTTP errors to provide faster feedback
This configures a logger on the archive fetcher, to make HTTP errors
surface faster when it fails to retrieve the artifact of a source.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-13 11:47:30 +01:00
Stefan Prodan edd1f875cf
Update source-controller APIs to v1.2.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-12-11 10:48:21 +02:00
Stefan Prodan 819eeb900b
Add test for Namespace custom resource
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-11-30 10:41:51 +02:00
Luke Mallon (Nalum) 96a772293a
Setup field for manager overrides on KustomizationReconciler struct and build up the disallow list to include these
Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Setup new flag to allow overriding additional managers and pass this data to the KustomizationReconciler instance

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Update field name to be more specific

Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: Luke Mallon <luke@mallon.ie>

Update the remaining fieldManagers vars to match the new definition

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Change AdditionalFieldManagers to DisallowedFieldManagers

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Add unit test to cover the new disallowed field manager change

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Use correct variable in the final Run

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Undo the timeout multiplication

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Update internal/controller/kustomization_disallowed_managers_test.go

Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: Luke Mallon <luke@mallon.ie>

Check for we're not getting errors on the Patch calls and remove the eventually as not needed here

Signed-off-by: Luke Mallon (Nalum) <luke@mallon.ie>

Update main.go

Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: Luke Mallon <luke@mallon.ie>
2023-11-28 08:22:26 +00:00
Stefan Prodan 23ee5a66ec
Update controller to Kustomize v5.2.1
- Update ``sigs.k8s.io/kustomize` to v5.2.1
- Update `k8s.io` packages to v0.28.4
- Update `sigs.k8s.io/controller-runtime` to v0.16.3 and adapt to breaking changes
- Switch from `sigs.k8s.io/cli-utils` to `github.com/fluxcd/cli-utils`

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-11-20 14:35:20 +02:00