Commit Graph

26 Commits

Author SHA1 Message Date
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
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
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 eab8a50071
api: prepare `v2beta1` status for `v2beta2`
This allows users to delay updating their `apiVersion` declarations,
as the fields will be known in the previous version.

If we would not do this, the fields would get wiped when the `v2beta1`
resource is applied, potentially causing spurious upgrades.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-11-22 23:14:15 +01:00
Jiri Tyr 88a21fecbf
Moving stuff from runner; removing changes in v2beta1
Signed-off-by: Jiri Tyr <jiri.tyr@gmail.com>
2023-11-20 12:06:03 +01:00
Jiri Tyr 6db62ed507
Adding test filters
Signed-off-by: Jiri Tyr <jiri.tyr@gmail.com>
2023-11-20 12:06:02 +01:00
Hidde Beydals 14e08f791f
api: introduce v2beta2 API
This is an initial introduction, and still subject to changes. The
storage version is still configured to v2beta1. This allows low
level packages to already work with the new object data, but keeps
it away from the reconciler for now.

The changes mainly focus around removing the helper methods from the
API, and to enrich the status object with more data about the current
and previous revision. With the goal to deprecate all `LastAttempted*`
and `LastApplied*` fields, as this data is now available in `Current`
and `Previous`.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2023-11-20 12:02:42 +01:00
Martin Hoffmann 79e4b9a099 Set deletion propagation for helm uninstall
Signed-off-by: Martin Hoffmann <martin.hoffmann01@sap.com>
Signed-off-by: Martin Hoffmann <hoffimar@gmail.com>
2023-06-30 19:30:57 +02:00
Stefan Prodan 18ed296944
Fix chart metadata by making it truly optional
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-04-03 17:22:50 +03:00
Hidde Beydals 3f65b45e4a
api: add `PersistentClient` flag to allow control
This adds a `PersistentClient` flag which should be consumed by the
controller while initializing the Kubernetes client used by Helm
actions.

This to allow the controller to work with certain charts which do
require a client which does not persist, as they create Custom Resource
Definitions on demand during e.g. install, which then later aren't
observed by Helm as it does not reset the REST mapper between successive
action steps.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-30 16:14:15 +02:00
Hidde Beydals a72a2fc6ca
misc: tidy HelmChart annotation and labels feat
- Assing `ObjectMeta` field in Helm chart template.
- Ensure things are at least lightly mentioned in spec documentation.
- Add two simple test cases.
- Fix broken links to Kubernetes documentation.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-29 14:32:13 +02:00
Raffael Sahli 2cc2fee410 feat: manage label and annotations for a helmchart
Signed-off-by: Raffael Sahli <raffael.sahli@doodle.com>
2023-03-29 14:18:40 +02:00
Hidde Beydals a12fd2aa93
api: update dependencies
- github.com/fluxcd/pkg/apis/kustomize to v1.0.0
- github.com/fluxcd/pkg/apis/meta to v1.0.0
- k8s.io/apiextensions-apiserver to v0.26.3
- k8s.io/apimachinery to v0.26.3

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-27 18:36:30 +02:00
Hidde Beydals 16ce900b20
api: switch to `meta.KubeConfigReference`
This is backwards compatible, as it only changes the type without the
further requirements around the YAML declaration.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-01 09:36:43 +01:00
Soule BA 2b0e35559c
Add cosign verification to the chart Template
If implemented users can reconcile charts with cosign verification
enabled.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2022-10-21 16:18:02 +02:00
Sunny 6bd29a729d Use new standardized runtime and meta package
This includes an update of the source-controller to v0.22.0, to pull in
the v1beta2 API which makes use of the same packages.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-03-18 13:10:32 +01:00
Tomek Rękawek 5b1b1ce642 Support targeted Patches in the PostRenderer specification.
Signed-off-by: Tomek Rękawek <rekawek@adobe.com>
2022-03-11 14:34:28 +01:00
Aurel Canciu 57d4c29db1
Update Go to v1.17
Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2022-01-07 17:52:29 +01:00
Dylan Arbour da3186716f Add `ValuesFiles` to HelmChart spec
Signed-off-by: Dylan Arbour <arbourd@users.noreply.github.com>
2021-04-19 10:50:17 -04:00
Hidde Beydals 622a87a663 Depend on the Kustomize API from `fluxcd/pkg`
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-03 20:02:19 +01:00
Alexander Berger 7db84ac307 Add support for Kustomize based PostRenderer as built-in post renderer.
Signed-off-by: Alexander Berger <alex-berger@gmx.ch>
2021-02-03 15:29:51 +01:00
Hidde Beydals c0156f193c Refactor to adopt k8s standardized Condition type
Changes the condition type to the one introduced in k8s 1.19, including
the newly introduced helpers in place of the old pkg/apis/meta types.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-19 19:00:55 +01:00
Hidde Beydals 7ac2a41e1a Change copyright to Flux authors
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-27 17:55:18 +01:00
Michael Bridgen 0928cc1e4d Use reconcile annotation helpers
Per https://github.com/fluxcd/pkg/issues/39
2020-10-22 12:26:48 +01:00
Hidde Beydals 15914beca1 Support cross-cluster Helm releases
This is an initial implementation for cross-cluster Helm release
support that relies on a KubeConfig secret, and a reference to it in
the HelmRelease resource.

If set, all actions taken by the Helm runner are executed using the
KubeConfig from the secret. The Helm storage is stored on the remote
cluster in a namespace that equals to the namespace of the HelmRelease
in the managing cluster, the release itself is made in either this
namespace, or the configured TargetNamespace. In any case, both are
expected to exist and/or created beforehand.

Other references to Kubernetes resources in the HelmRelease, like
ValuesReference resources, are expected to exist on the managing
cluster.
2020-10-20 21:30:56 +02:00
Hidde Beydals accd4762fe Promote API to v2beta1 2020-09-30 19:37:23 +02:00