Commit Graph

238 Commits

Author SHA1 Message Date
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
Hidde Beydals 0cccc5ec3b
Merge pull request #60 from fluxcd/release-v0.0.5-bump-tag
Update image tag to v0.0.5
2020-08-26 11:14:21 +02:00
Hidde Beydals 4adb574784 Update image tag to v0.0.5 2020-08-26 10:41:03 +02:00
Hidde Beydals 224ba75462
Merge pull request #59 from fluxcd/release-v0.0.5
Release v0.0.5
2020-08-26 10:36:07 +02:00
Hidde Beydals fb7be5b93b Release v0.0.5 2020-08-26 10:17:06 +02:00
Hidde Beydals fa738a7b65
Merge pull request #47 from seaneagan/conditional-remediation
Implement conditional remediation
2020-08-25 17:54:42 +02:00
Sean Eagan a52ba65c4a End-to-end test conditional remediation 2020-08-25 17:36:15 +02: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 69a6f3c463
Merge pull request #58 from fluxcd/pointers 2020-08-24 15:27:18 +02:00
Hidde Beydals 2b0f27eb29 Change simple switches to if-statements 2020-08-24 15:16:11 +02:00
Hidde Beydals dc19726375 api: rename Unsortable to CircularDependencyError 2020-08-22 01:15:13 +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 3a7b447fd9
Merge pull request #57 from fluxcd/release-v0.0.4
Release v0.0.4
2020-08-20 14:23:16 +02:00
Hidde Beydals e2f4a95ed0 Release v0.0.4 2020-08-20 13:59:14 +02:00
Hidde Beydals 6e1ab992e1
Merge pull request #55 from fluxcd/values-from-targetpaths
Support targeting a path in ValuesReferences
2020-08-20 12:28:59 +02:00
Hidde Beydals f2f8b23a4f Support targeting a path in ValuesReferences 2020-08-20 10:41:07 +02:00
Hidde Beydals 27a8da8f33
Merge pull request #56 from fluxcd/controller-gen-fix
Make various make targets work after api pkg change
2020-08-20 09:54:17 +02:00
Hidde Beydals ea07f5e7a6 Make various targets work after api pkg change 2020-08-19 20:44:21 +02:00
Hidde Beydals ade8645632
Merge pull request #54 from fluxcd/allow-map-value-overwrites
Allow overwrites of map values with flat values
2020-08-19 14:44:21 +02:00
Hidde Beydals 86cc4f9908 Allow overwrites of map values with flat values
After taking a closer look at the Helm code, this is the behaviour
we are actually after, given we want to mimic the merging behaviour
of the -f flag available to Helm install and/or upgrade commands.
2020-08-19 14:01:19 +02:00
Hidde Beydals d08dd4bef1
Merge pull request #53 from fluxcd/release-v0.0.3
Release v0.0.3
2020-08-18 14:01:34 +02:00
Hidde Beydals 52a423b676 Release v0.0.3 2020-08-18 13:42:09 +02:00
Hidde Beydals cc1275bb8d
Merge pull request #52 from fluxcd/api-pkg
Make the api package a dedicated module
2020-08-18 13:34:54 +02:00
Hidde Beydals 62bfb8aa6a Make the api package a dedicated module 2020-08-18 13:19:03 +02:00
Hidde Beydals 2255a9f26d
Merge pull request #51 from fluxcd/dedicated-pkg 2020-08-18 12:54:57 +02:00
Hidde Beydals 41b1b684e3 Make use of dedicated fluxcd/pkg modules
This includes a dependency change from github/fluxcd/source-controller
to github.com/fluxcd/source-controller/api (v0.0.9) to decrease the
amount of indirect dependencies.
2020-08-17 19:58:43 +02:00
Stefan Prodan a69f3a2b57
Merge pull request #50 from fluxcd/release-v0.0.2
Release v0.0.2
2020-08-13 14:23:45 +03:00
stefanprodan 03d4d80fd0 Release v0.0.2 2020-08-13 14:08:43 +03:00
Stefan Prodan 442085e9a2
Merge pull request #49 from fluxcd/helm-v3.3.0
Update Helm package to v3.3.0
2020-08-12 18:26:16 +03:00
stefanprodan d398185df8 Update source-controller to v0.0.8 2020-08-12 17:46:23 +03:00
stefanprodan b637c0efdb Update Helm package to v3.3.0 2020-08-12 07:53:52 +03:00
Hidde Beydals b3d8ef301e
Merge pull request #48 from fluxcd/release-v0.0.1
Release v0.0.1
2020-07-31 09:48:12 +02:00
Hidde Beydals bdda4544b0 Release v0.0.1 2020-07-31 09:35:10 +02:00
Hidde Beydals 5ad42954e4
Merge pull request #46 from fluxcd/spec/domain-change 2020-07-31 09:15:16 +02:00
Hidde Beydals 3bbb5ea2a2 Update source-controller to v0.0.7 2020-07-31 08:59:14 +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 0eab933216
Merge pull request #44 from fluxcd/enhancement/values-from
Support values from ConfigMap and Secret resources
2020-07-30 08:17:11 +02:00
Hidde Beydals 6b1d28a736 Record SHA1 of values of last release attempt 2020-07-28 16:05:09 +02:00
Hidde Beydals 6dba659c3c Compose values from references 2020-07-28 15:36:38 +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 c3de7a14bb
Merge pull request #45 from fluxcd/use-central-ghactions
Remove local actions and use those from fluxcd/pkg
2020-07-24 15:17:09 +02:00
Michael Bridgen ac2c76a360 Remove local actions and use those from fluxcd/pkg 2020-07-24 12:23:31 +01:00
Hidde Beydals 7692529d75
Merge pull request #43 from fluxcd/enhancement/dep-observed-generation 2020-07-23 16:51:16 +02:00
Hidde Beydals 0a2532b325 Fix: 'Uninstall' -> 'Uninstalled' 2020-07-23 16:25:15 +02:00
Hidde Beydals 03e18ee14f Take observed generation of deps into account
To prevent operations from being performed while they are "Ready",
but the latest generation of the depenceny has not been reconciled
yet.
2020-07-23 16:21:25 +02:00
Hidde Beydals 39fdfdfe66
Merge pull request #40 from fluxcd/spec/update-conditions
Rename conditions to describe the current state
2020-07-23 12:40:21 +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