Commit Graph

186 Commits

Author SHA1 Message Date
Stefan Prodan acc61348b4
Record the last Helm release action duration in status
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-08-13 13:36:05 +03:00
Stefan Prodan 40d128a05d
docs: Add dependency ready expression to API docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-07-23 09:00:17 +03:00
Stefan Prodan 4ffe621c6b
api: Add the `readyExpr` field to `dependsOn`
Extend the readiness evaluation of dependencies with CEL expressions

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-07-22 21:09:30 +03:00
Matheus Pimenta 7c18470676
Introduce label selector for watching ConfigMaps and Secrets
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-17 10:28:09 +01:00
Matheus Pimenta 12ad940135
[RFC-0010] Introduce workload identity auth for remote clusters
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-14 16:56:11 +01:00
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
Stefan Prodan 034ea18c4b
Update controller to OCIRepository v1 (GA)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-28 14:37:02 +03:00
Stefan Prodan da305300b3
Add DisableChartDigestTracking feature gate
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-08 01:03:17 +03: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 2ffd183ac1 Update `disableTakeOwnership` docs
Signed-off-by: Kumar Mallikarjuna <kumarmallikarjuna.work@gmail.com>
2025-01-10 16:12:19 +05:30
Kumar Mallikarjuna 1607808aea Fix `disableTakeOwnership` docs
Signed-off-by: Kumar Mallikarjuna <kumarmallikarjuna.work@gmail.com>
2025-01-10 16:09:35 +05:30
Kumar Mallikarjuna aad273dfb7 Change install->upgrade in docs
Signed-off-by: Kumar Mallikarjuna <kumarmallikarjuna.work@gmail.com>
2025-01-09 15:11:14 +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 ebf412639e
docs: Rendering the final Values locally
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-11 14:13:34 +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 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
Sunny 7fee60ed7f Add docs for handling failed uninstall
Signed-off-by: Sunny <github@darkowlzz.space>
2024-09-18 23:16:29 +00:00
Florian Ströger c07f10866b Allow overwriting inline values with targetPath
When using Helm with both a values file and --set, the set will always
have precedence over the values.yaml. This allows specifying the normal
config inside a yaml file and specifying a secret outside that yaml via
--set.

When using flux, this normally works too (using inline values to specify
most of the config and a reference with targetPath to get a secret), but
if you want to overwrite a secret key inside an array the inline values
will always overwrite the whole array and the referenced secret key will
not appear at all.

By making sure that when you specify a targetPath it has precedence over
inline values it will be merged properly.

Signed-off-by: Ströger Florian <florian@florianstroeger.com>
2024-09-08 16:12:51 +02:00
Stéphane Este-Gracias f8c9766f89
doc: fix helmrelease default value for .spec.upgrade.crds
Signed-off-by: Stéphane Este-Gracias <sestegra@gmail.com>
2024-05-10 19:21:50 +02: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 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 e58a102de9
document lastAttemptedPostRenderersDigest behavior
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-05-07 11:59:23 +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 17633702fa
Add event example to API docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-07 08:23:22 +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 92ec780c98
Update API version in comments and docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-06 11:46:16 +03:00
Stefan Prodan f04e393645
docs: Add `layerSelector` to OCIRepository example
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-04 19:38:14 +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 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 f76d6fe026
Update samples to GA APIs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-03 17:12:22 +03:00
Stefan Prodan c9c0beb261
Add API docs for `HelmRelease` v2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-05-03 16:30:58 +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
souleb 8b95f3509c
Update docs/spec/v2beta2/helmreleases.md
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: souleb <bah.soule@gmail.com>
2024-04-22 12:19:35 +02:00
Soule BA 1b5a62f5c9
document helmchart chart reference
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-22 11:26:57 +02:00
Soule BA 65a02c8c6c
Add a test when switching from chart template to chartRef
The test case successfully upgrade with the same chart because version
is not computed the same way (12 digits of digest appended for
OCIRepository source).

Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:07:41 +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 49b47d4c44
adding a section for chartRef in the doc
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 d1d2d0002e
adding an upgrade from ocirepo test
Signed-off-by: Soule BA <bah.soule@gmail.com>
2024-04-18 13:07:40 +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
Hidde Beydals 504b268be8
docs/spec: address typo
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-13 08:52:04 +01:00
Hidde Beydals bb5a03bbfb
docs: various doc nits
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-11 18:51:58 +01:00
Hidde Beydals d8966cd8de
docs/spec: refer to v2beta2 doc for design details
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-12-11 18:28:57 +01:00