Commit Graph

115 Commits

Author SHA1 Message Date
Hidde Beydals 38ea587370
Change to `helm.toolkit.fluxcd.io/driftDetection`
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-01 13:04:13 +01:00
Hidde Beydals ff07f52dee
docs: enrich drift detection docs
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-01 13:04:12 +01:00
Hidde Beydals 8c4b2885b2
docs: document experimental drift detection
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-03-01 09:36:43 +01:00
Fred Rolland 060d5262a2 Minor typo in doc
Signed-off-by: Fred Rolland <frolland@nvidia.com>
2022-12-15 11:59:17 +00:00
sbernheim e651feb583
Updating API group name to helm.toolkit.fluxcd.io in docs
Signed-off-by: sbernheim <1707604+sbernheim@users.noreply.github.com>
2022-05-12 13:32:13 -04:00
Hidde Beydals f102ec6722 spec: take note of KubeConfig.SecretRef.Key field
Signed-off-by: Hidde Beydals <hello@hidde.co>
2022-05-03 15:01:32 +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
Till Hoffmann e13f2e4dbd Update links to kubectl documentation
Signed-off-by: Till Hoffmann <till.hoffmann@thetillhoff.de>
2022-03-08 23:26:48 +01:00
Hidde Beydals ba35b00461 docs/spec: document Helm uninstall wait behavior
Signed-off-by: Hidde Beydals <hello@hidde.co>
2022-02-16 12:14:01 +01:00
Stefan Prodan 1f46db8609
Fix Flux mention in API docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-02-11 17:11:18 +02:00
Stefan Prodan 0173eaa0df
Allow setting a default service account for impersonation
Introduce the flag `--default-service-account` for allowing cluster admins to enforce impersonation for resources reconciliation.

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-01-31 12:09:39 +02:00
Somtochi Onyekwere acf164c46e Add flag to disable cross namespace references
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-01-29 13:51:06 +01:00
Sunny e2e0bb6df9
docs/spec: Fix reconcile annotation key in example
Signed-off-by: Sunny <darkowlzz@protonmail.com>
2021-12-03 18:59:36 +05:30
Kingdon Barrett 3f49b817cf
Fix indentation in PostRenderer
The indentation of this example is slightly off

Signed-off-by: Kingdon Barrett <kingdon@weave.works>
2021-10-21 08:40:03 -04:00
Nuriel Shem-Tov 99dcd967f4 Fix indentation for PostRenderers example
Signed-off-by: Nuriel Shem-Tov <nurielst@hotmail.com>
2021-08-23 17:09:11 +02:00
Stefan Prodan e9d31e9f1f
Make the kubeconfig secrets compatible with SOPS
Add `values.yaml` to the supported kubeconfig secret key names in order for SOPS to correctly detect the storage format based on the file extension.

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-04 16:22:09 +03:00
Santosh Kewat f48b8ab953 Added support for helm waitForJobs
Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Added support for helm waitForJobs

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Minor fixes

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Changed WaitForJobs to DisableWaitForJobs

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Minor fixes

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Changed WaitForJobs to DisableWaitForJobs

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>

Removed unnecessary update to v2alpha1

Signed-off-by: Santosh Kewat <santoshkewat.bitmesra@gmail.com>
2021-06-01 18:47:54 +05:30
Filinto Duran 261fc6bda1
Fix HelmChartTemplateSpec missing valuesFiles info
Signed-off-by: Filinto Duran <duranto@gmail.com>
2021-05-22 08:36:45 -05:00
Dan Slinky 362177dc9b minor createNamespace docs fix
Signed-off-by: Dan Slinky <dan-slinky@cookpad.jp>
2021-04-21 18:05:25 +02:00
Stefan Prodan 02ceb3aae6
Add release labels to docs
Followup https://github.com/fluxcd/helm-controller/pull/238

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-21 14:39:42 +03:00
Alexander Berger 4b6085518a Fix typos
Signed-off-by: Alexander Berger <alex-berger@gmx.ch>
2021-04-20 14:21:36 +02:00
Alexander Berger fe766fb5c9 Add deprecation notice to SkipCRDs attribute.
Signed-off-by: Alexander Berger <alex-berger@gmx.ch>
2021-04-20 14:21:36 +02:00
Alexander Berger defee3d26a Integrate feedback from hiddeco
Signed-off-by: Alexander Berger <alex-berger@gmx.ch>
2021-04-20 14:21:36 +02:00
Alexander Berger a6cc150aa6 Initial support for HelmRelease for upgrading CRDs
Signed-off-by: Alexander Berger <alex-berger@gmx.ch>
2021-04-20 14:21:36 +02:00
Hidde Beydals 71a2963f99 Release v0.9.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-03-26 15:53:19 +01:00
Hidde Beydals 8e943d8ac6 Release v0.7.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-12 12:46:57 +01: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 c2b1ce8688 Document StorageNamespace field
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-25 18:16:31 +01:00
raffis c141e74643
Update helmreleases.md
Signed-off-by: Raffael Sahli <public@raffaelsahli.com>
2021-01-08 13:50:05 +01:00
Hidde Beydals 5e4bd8fe80 Support Helm's NS creation for TargetNamespace
This adds support for creating the target release namespace if it is not
present which can be be useful in certain scenarios.

Note that when the release is uninstalled, the namespace is not removed
and remains on the cluster, and managing your namespace _outside_ of
the HelmRelease is advised.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-27 17:54:19 +01:00
Stefan Prodan 68d6ba10db
Add the impersonation feature to API spec
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-24 13:27:58 +02:00
Hidde Beydals b801b23911 Properly detect chart version divergences
This is a regression bug fix due to the introduction of the default
values in the source-controller CRDs.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-18 10:06:40 +01:00
Hidde Beydals 76071b33fb Release v0.2.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-29 13:26:26 +01:00
Hidde Beydals 66fc16ea86 Update API spec to include and explain KubeConfig 2020-10-20 21:30:56 +02:00
Shumatsu Mokuyobi 005c809da6 Update helmreleases.md
Fixing typo
2020-10-20 16:11:14 +02:00
Stefan Prodan 6a51152c7f
Add namespace to API docs examples
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-13 17:41:49 +03:00
Hidde Beydals 580d9acadd Set default branch to main 2020-10-05 14:55:51 +02:00
Hidde Beydals accd4762fe Promote API to v2beta1 2020-09-30 19:37:23 +02:00
Sean Eagan f391ea1935 Remove leftover `lastObservedTime` references
See #94
2020-09-30 08:52:42 -05:00
Hidde Beydals f50dca208b Explicitly document `targetNamespace` behaviour 2020-09-30 15:03:49 +02:00
Sean Eagan 763329d190 Document HelmRelease desired state transitions
This documents what is considered a desired state transition, and
the resulting upgrade and status condition semantics.
2020-09-30 14:24:51 +02:00
Sean Eagan d8c0c38203 Address review comments 2020-09-30 14:24:51 +02:00
Sean Eagan 60e1d06c1a Rework status condition documentation 2020-09-30 14:24:51 +02:00
Sean Eagan 84897cb86d Documentation improvements
- Add note about `dependsOn` and update ordering
- Replace references to "operator" with "controller" for consistency
- Add values override docs
2020-09-30 14:24:47 +02:00
Hidde Beydals 8129c49b9c Implement `fluxcd/pkg/apis/meta` in APIs 2020-09-30 12:14:51 +02:00
Hidde Beydals 2e4dbecd1e Support Helm charts from Bucket sources 2020-09-23 09:28:44 +02:00
Hidde Beydals 60b54be67f spec: add validation rules for (namespace)names 2020-09-18 12:55:47 +02:00
Sean Eagan 0fd937eaee Refactor status API
This removes:

- Installed, Upgraded, RolledBack, and Uninstalled status conditions
  since they did not represent current state, but rather actions
  taken, which are already recorded by events.
- status.observedStateReconciled since it solved the problem of
  remembering past release (install/upgrade/test) success, but not
  past release failures, after other subsequent failures such as
  dependency failures, k8s API failures, etc.

This adds:

- Remediated status condition which records whether the release is
  currently in a remediated state. It is used to prevent release retries
  after remediation failures. We were previously not doing this for
  rollback failures.
- Released status condition which records whether the current state
  has been successfully released (install/upgrade/test). This is used to
  remember the last release attempt status, regardless of any subsequent
  other failures such as dependency failures, k8s API failures, etc.

This renames:

- Tested > TestsSuccess status condition, for forward compatibility
  with interval based helm tests.
2020-09-14 08:12:23 -05:00
Hidde Beydals a962f47856 spec: update design due to added features 2020-09-03 18:55:33 +02:00
Hidde Beydals 2b149d055c spec: update source reference documentation 2020-09-03 18:46:22 +02:00
Hidde Beydals a7e6727d8e Support charts from GitRepository sources 2020-09-01 18:32:17 +02:00
Sean Eagan 55f603806d Record last observed time in status
This adds a .status.lastObservedTime field which records when the
HelmRelease was last observed by the controller. This allows the user
to observe whether the spec.interval and reconcileAt annotations are
triggering reconciliation attempts as desired.
2020-08-31 13:33:49 -05:00
Sean Eagan fd7d23256a Rename knownStateApplied to observedStateReconciled
This is more consistent with the existing terminology used.
2020-08-31 12:12:48 -05:00
Sean Eagan be9e22f5f5 More graceful failure recovery
- Ensure upgrade actually occurs if known state was not reached
  for any reason (other than install failure).
- After transient failures not tied to new state application, ensure
  spurious upgrades do not occur and ready state is again reached,
  by remembering that the known state was already successfully applied.
- Reset failure counts after success so they're not stale.
- Only lookup post-deployment release revision on remediation,
  since otherwise we already have it.
- Push status update after finding new state so user can observe.
2020-08-31 08:47:18 -05:00
Sean Eagan b8853ad7a5 Implement conditional remediation
This commit adds support for conditional remediation, enabling the user
to:

* configure if test failures should be ignored
* configure what action should taken when a Helm install or upgrade
  action fails (e.g. rollback, uninstall)
* configure if a failed Helm action should be retried
* configure if a failed release should be kept for debugging purposes

The previous behaviour where failed Helm tests did not mark the
`HelmRelease` as not `Ready` has changed, it now marks them as failed
by default.

Co-authored-by: Hidde Beydals <hello@hidde.co>
2020-08-25 17:35:20 +02:00
Hidde Beydals 37b5b2e952 api: several docblock fixes 2020-08-22 01:09:40 +02:00
Hidde Beydals e91b9d303e api: make optional structs pointers 2020-08-22 01:09:20 +02:00
Hidde Beydals f2f8b23a4f Support targeting a path in ValuesReferences 2020-08-20 10:41:07 +02:00
Hidde Beydals 17597d1e19 Change CRD domain to 'helm.toolkit.fluxcd.io'
To allow the Helm Operator and helm-controller HelmReleases to
co-exist in the cluster, while being handled by separate controllers
during e.g. the migration period.

This is not possible without using another domain due to how Custom
Resource Definitions work, as newer API versions are seen as a
replacement of older versions, and are expected to be handled by a
single controller.
2020-07-30 22:38:11 +02:00
Hidde Beydals 50ab012a28 Spec: define ValuesReference and ValesFrom
Without the proposed TargetPath, to be added later.
2020-07-27 14:42:32 +02:00
Hidde Beydals 354590249e Rename conditions to describe the current state
As "condition type names should describe the current observed state of
the resource, rather than describing the current state transitions".

Described by the draft convention for update conditions in
kubernetes/community#4521.
2020-07-23 12:23:52 +02:00
Hidde Beydals fd8d83de80 Support KeepHistory flag for Helm uninstall action
This is the companion to 'Install.Replace'.
2020-07-17 17:00:40 +02:00
Hidde Beydals 6de0fb50a9 HelmRelease v2alpha1 spec draft 2020-07-13 16:05:07 +02:00