helm-controller/internal
Sunny e0629b7967 PostRenderersDigest observation improvements
Move the post renderers digest set/update code from summarize() to
atomic release reconciler in order to update the observation only at the
end of a successful reconciliation. summarize() is for summarizing the
status conditions and is also called by all the other action
sub-reconcilers, which can update the post renderers digest observation
too early.
Updating the observed post renderers digest at the very end of a
reconciliation introduces an issue where a digest mismatch in
DetermineReleaseState() could result in the release to get stuck in a
loop as even after running an upgrade due to post renderers value, the
new observation isn't reflected immediately in the middle of atomic
reconciliation. This can be solved by checking post renderers digest
value only for new configurations where the object generation and the
ready status condition observed generations don't match, in other words
when the generation of a configuration has not be processed. This
assumes that an upgrade due to any other reason also takes into account
the post renderers value and need not be checked separately for the same
config generation.

Signed-off-by: Sunny <github@darkowlzz.space>
(cherry picked from commit 63f7a76319)
2024-05-09 12:21:35 +00:00
..
acl Promote `HelmRelease` API to v2 (GA) 2024-05-03 16:25:14 +03:00
action Update API version in comments and docs 2024-05-06 11:46:16 +03:00
chartutil Promote `HelmRelease` API to v2 (GA) 2024-05-03 16:25:14 +03:00
cmp misc: remove redundant returns 2023-10-10 09:59:26 +02:00
controller Add test cases for Summarize() and DetermineReleaseState() 2024-05-07 23:13:47 +02:00
diff Correct cluster drift using patches 2023-11-29 20:34:45 +01:00
digest Allow configuration of digest algorithm 2023-11-24 18:19:53 +01:00
errors controller: unready dep should not bump obs gen 2023-12-01 14:14:40 +01:00
features Update API version in comments and docs 2024-05-06 11:46:16 +03:00
kube Update controller to Helm v3.14.2 and Kubernetes v1.29.0 2024-04-02 13:38:08 +03:00
loader loader: log HTTP errors to provide faster feedback 2023-12-13 11:30:37 +01:00
oomwatch oomwatch: auto detect well known cgroup paths 2023-03-10 15:08:17 +01:00
postrender Add test cases for Summarize() and DetermineReleaseState() 2024-05-07 23:13:47 +02:00
predicates predicates: notice source changing to `Ready=True` 2023-11-23 00:17:16 +01:00
reconcile PostRenderersDigest observation improvements 2024-05-09 12:21:35 +00:00
release Prevent snapshot drift when upgrading to API v2 2024-05-09 08:23:30 +00:00
storage Add reconcile logic for individual Helm actions 2023-11-20 12:06:01 +01:00
strings reconcile: add `HelmChartTemplate` sub-reconciler 2023-11-20 12:06:38 +01:00
testutil Add the chart app version to events metadata 2024-05-07 00:14:55 +03:00
yaml yaml: adopt for `sigs.k8s.io/yaml` `v1.4.0` 2023-11-24 12:46:34 +01:00