Commit Graph

227 Commits

Author SHA1 Message Date
Martin Hoffmann 0887009d50
Move 'Deprecated' comments to own paragraph
As described at https://go.dev/wiki/Deprecated, the `Deprecated` comments shall start a new paragraph. This way, the deprecation is also visible to other tools like staticcheck and vscode.

Signed-off-by: Martin Hoffmann <hoffimar@gmail.com>
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-06-29 15:26:43 +01:00
Matheus Pimenta d89a6d12a3
Use reconcile.fluxcd.io/forceAt annotation from fluxcd/pkg/apis/meta
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-06-21 09:02:15 +01:00
abhijith-darshan b62d7a8ad7
(chore): kustomize post-renderer with common-metadata
(chore): adds commonAnnotations and commonLabels to kustomize

if applied, this commit will pass the common labels and annotations specified in postRenderers kustomization and which gets propagated to all resources

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): generates updated api-docs

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds common metadata to spec

HelmRelease postRenderer uses `CommonMetadata` struct from kustomize controller to have a common CRD specification usage across flux API types

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): update helm release post renderer

HelmRelease kustomize post renderer uses the CommonMetadata type from kustomize controller to propagate common labels and annotations across all resources. Labels are not propagated to `selector.matchLabels`

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): generates updated CRD and api docs

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds common metadata types

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): removes common metadata

removes the insertion of common metadata info in `Kustomize.Run()`

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds common-metadata types

this commit adds CommonMetadata to HelmRelease spec as an optional field and when used will run a helm postRenderer to add specified labels and annotations resources contained in helm template. The digest of common metadata is stored as ObservedCommonMetadataDigest in the resource status

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): common post-renderer

this commit combines common metadata rendering and origin labels rendering into common_renderer.go with re-usable methods for label transformer and annotation transformer. Precedence is given to origin labels rendering over common metadata rendering.

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): trigger upgrade on commonMetadata value changes

this commit ensures that when commonMetadata value has changed after install triggers an upgrade action to re-render the new commonMetadata values to the helm release. The digest of commonMetadata values are stored in .status.ObservedCommonMetadataDigest for release state out-of-sync detection.

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(fix): adheres to import ordering

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(fix): revert go mod updates

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): updates copyright headers

Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: Abhijith Ravindra <137736216+abhijith-darshan@users.noreply.github.com>

(chore): adds copyright headers

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): updates copyright headers

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): keep go mod in sync with upstream/main

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds common metadata documentation

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): fix precedence of label application

This commit will ensure that OriginLabels run last so that it has a higher precedence over CommonMetadata.Labels

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>
2025-06-12 12:45:33 +02:00
Matheus Pimenta ff69170036
Update dependencies
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-05-28 10:46:46 +01:00
Matheus Pimenta 95e69b5d4c
Upgrade fluxcd/pkg packages
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-05-17 20:11:16 +01:00
Stefan Prodan 709b76a022
Update to Kubernetes 1.33.0 and Go 1.24.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-04-29 15:51:11 +03:00
Stefan Prodan 9134ee5788
Update dependencies to Helm v3.17.3
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-04-11 11:09:39 +03:00
Stefan Prodan 751d48a2e0
Update dependencies to Helm v3.17.0 and Kustomize v5.6.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-01-31 15:22:00 +02:00
Kumar Mallikarjuna 53578dd43f Update API docs and descriptions
Signed-off-by: Kumar Mallikarjuna <kumarmallikarjuna.work@gmail.com>
2025-01-10 16:21:57 +05:30
Kumar Mallikarjuna 98622cd087 Add `disableTakeOwnership` to Helm install/upgrade actions
This change adds a new field called `disableTakeOwnership` to `.spec.install` and `.spec.upgrade`. The flag allows users to disable ignoring helm annotations and labels before taking ownership of existing resources during install and upgrade.

Signed-off-by: Kumar Mallikarjuna <kumarmallikarjuna.work@gmail.com>
2025-01-08 23:26:05 +05:30
Stefan Prodan e1f1022e2e
Update dependencies to Kubernetes 1.32.0 and Go 1.23.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-12 19:13:31 +02:00
Stefan Prodan af516b84b0
Make `ValuesReference` an alias for backwards compat
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-12 16:27:54 +02:00
Stefan Prodan 9c58e02b62
Refactor values composition to use `pkg/chartutil`
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-10 12:04:54 +02:00
Stefan Prodan 1c9a8b14f2
Update Kustomize packages to v5.5.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-06 17:34:58 +02:00
Sunny 701ea28bc9 Update flux deps and k8s deps to 1.31.1
Signed-off-by: Sunny <github@darkowlzz.space>
2024-09-25 21:18:33 +00:00
Stefan Prodan 54f0b42b34
Add `disableSchemaValidation` to Helm install/upgrade actions
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-09-20 22:28:51 +03:00
Stefan Prodan e53d5c036b
Update dependencies to Kubernetes v1.31.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-08-15 11:15:19 +03:00
Stefan Prodan d909c31b5e
Fix: Allow upgrading from v2beta1 to v2 (GA)
Add `.spec.chartRef` placeholder to v2beta1 to allow upgrading to v2 GA.

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-10 16:27:15 +03:00
Soule BA 16b61c6f8a
Make chartTemplate a pointer in .spec.chart
If implemented, this will omit empty `.spec.chart` in rendered yamls.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-05-10 12:45:33 +02:00
Soule BA 4b6febf48c
Add test cases for Summarize() and DetermineReleaseState()
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-05-07 23:13:47 +02:00
Soule BA 4069ad47e9
A better implementation for observing Postrenderers
This implementation update `.status.ObervedPostRenderersDigest` after a
successful reconciliation if `spec.postRenderers` is not nil.

Changes to `spec.postRenderers` are detected for `deployed` releases.
`Failed` and `Uninstalled` releases are detected earlier in the
reconciliation process.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-05-07 14:17:17 +02:00
Soule BA aa70ac2b31
fix: detect changes in spec.postRenderers
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-05-07 11:57:52 +02:00
Stefan Prodan 863d3115f3
Add app version to CRD manifests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-07 12:18:20 +03:00
Stefan Prodan 7f78cdc368
Add the chart app version to events metadata
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-07 00:14:55 +03:00
Stefan Prodan 42fe4a39c1
Remove deprecated `patchesStrategicMerge` and `patchesJson6902` from v2 API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-04 12:41:24 +03:00
Stefan Prodan dfee7b086d
Set group version for GA API to v2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-04 12:24:33 +03:00
Stefan Prodan 64d1236c17
Remove deprecated `.status.lastAppliedRevision` from v2 API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-04 12:24:33 +03:00
Stefan Prodan 2cbd2bd944
Remove deprecated `.spec.valuesFile` from v2 API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-04 12:24:32 +03:00
Stefan Prodan 23f2ebe86d
Update copyright year (GA API)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-03 17:35:01 +03:00
Stefan Prodan 00785fbfa3
Promote `HelmRelease` API to v2 (GA)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-03 16:25:14 +03:00
Robin Breathe bca7983d77
feat(HelmChartTemplateSpec): optionally ignore missing valuesFiles
Signed-off-by: Robin Breathe <robin@isometry.net>
2024-05-03 14:01:20 +02:00
Stefan Prodan d0900635cf
Update `HelmChart` API to v1 (GA)
Bump source-controller to v1.3.0

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-03 13:43:51 +03:00
Stefan Prodan ab237a97aa
Update dependencies to Kubernetes 1.30
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-26 12:24:28 +03:00
Soule BA 3bb715ad97
Enable HelmChart ChartRef
If implemented, user will be able to share an existing HelmChart custom
resource between HelmReleases.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 17:03:31 +02:00
Soule BA edec322a3d
Take into account the oci-digest
This commit add the oci artifact digest into the release observed
snapshot. This is used to later to add that value as an annotation.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:07:41 +02:00
Soule BA aeac55dba9
Adding 12 first character of digest to chart version
This is needed for an OCIRepository source in order to detect change for
mutable tags.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:07:41 +02:00
Soule BA 686fe58f6e
address review comments
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:07:40 +02:00
souleb 350accfba9
Update api/v2beta2/helmrelease_types.go
Co-authored-by: Hidde Beydals <hiddeco@users.noreply.github.com>
Signed-off-by: souleb <bah.soule@gmail.com>
2024-04-18 13:07:08 +02:00
Soule BA 20e14fe304
This commit enable reusing an existing OCIRepo as chartRef.
It takes into account switching from a chart
template to a referenced source (garbage collection).

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:05:04 +02:00
Stefan Prodan 6bbdf4707e
Add notation verification provider to API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-02 21:03:27 +03:00
Stefan Prodan 40ff025ff2
Update `fluxcd/pkg` dependencies
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-04-02 13:49:47 +03:00
Soule BA 9e881d5210
updating controller-gen to v0.14.0
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-03-12 12:23:45 +01:00
Georg Molau ae301aa0ab Remove `genclient:Namespaced` tag
This tag isn't used by controller-tools, only `nonNamespaced` is.

Context: https://cloud-native.slack.com/archives/CLAJ40HV3/p1708794732147909
Signed-off-by: Georg Molau <georg.molau@gmail.com>
2024-02-27 22:23:27 +01:00
Stefan Prodan 951accaba0
Update API to Kubernetes v1.28.6
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-01-29 17:30:39 +02:00
Hidde Beydals 09366330f4
api: ensure backwards compatibility v2beta1
As we are (still) not making use of conversion webhooks, new fields can
only be introduced by including them in all served API versions. As
otherwise conversion will fail.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-15 08:45:51 +01:00
Hidde Beydals 9322e73f93
api: update (indirect) dependencies
- github.com/go-logr/logr to v1.3.0
- golang.org/x/net to v0.19.0
- golang.org/x/text to v0.14.0
- k8s.io/klog/v2 to v2.110.1
- k8s.io/utils to v0.0.0-20231127182322-b307cd553661
- sigs.k8s.io/structured-merge-diff/v4 to v4.4.1

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-11 09:57:25 +01:00
Hidde Beydals 35e914d159
api: deprecate stragic merge and JSON 6902 patches
They have been deprecated for a long time, and should be scheduled for
removal to ensure they can be removed in the final `v2` release.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-07 17:37:00 +01:00
Hidde Beydals bc7fb25d27
api: limit maximum number of snapshots in history
This ensures that on repetitive failures, the number of snapshots does
not grow indefinitely due to there not being any in a superseded or
deployed state.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-01 11:38:56 +01:00
Hidde Beydals 7a15000b4c
api: introduce `forceAt` and `resetAt` annotations
This introduces two new annotations:

- `reconcile.fluxcd.io/resetAt`: to reset the failure counts for a
  `HelmRelease` object.
- `reconcile.fluxcd.io/forceAt`: to allow a one-off Helm install or
  upgrade when the controller would otherwise do nothing (e.g. due to
  being out of retries, in-sync, in a failed state, etc.)

Both annotations require the `reconcile.fluxcd.io/requestedAt`
annotation to be set at the same time, with the same token value.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-11-30 10:22:48 +01:00
Stefan Prodan 92a535f6cd
Add deprecation warning to v2beta1 API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-11-27 16:41:50 +02:00