use post_renderer when checking 'changed' status for a helm release (#588)

use post_renderer when checking 'changed' status for a helm release

SUMMARY

helmdiff_check needs to use --post-renderer if configured in order to detect changes correctly
idempotency still seems to work
ISSUE TYPE


Bugfix Pull Request (50%)
Feature Pull Request (50%)

COMPONENT NAME

kubernetes.core.helm
ADDITIONAL INFORMATION



- /snap/bin/helm diff upgrade myrelease some/chart --version=1.2.3 --reset-values -f=/tmp/tmpnn0rr50h.yml
+ /snap/bin/helm diff upgrade myrelease some/chart --version=1.2.3 --reset-values --post-renderer=/tmp/somescript.sh -f=/tmp/tmpnn0rr50h.yml

Reviewed-by: Mike Graves <mgraves@redhat.com>
This commit is contained in:
Paul Voss
2023-04-05 15:50:36 +02:00
committed by GitHub
parent 71599e2fde
commit 2d1ec22405
2 changed files with 7 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- helm - use post_renderer when checking 'changed' status for a helm release (https://github.com/ansible-collections/kubernetes.core/pull/588).

View File

@@ -637,6 +637,7 @@ def helmdiff_check(
chart_version=None,
replace=False,
chart_repo_url=None,
post_renderer=False,
):
"""
Use helm diff to determine if a release would change by upgrading a chart.
@@ -651,6 +652,8 @@ def helmdiff_check(
cmd += " " + "--version=" + chart_version
if not replace:
cmd += " " + "--reset-values"
if post_renderer:
cmd += " --post-renderer=" + post_renderer
if release_values != {}:
fd, path = tempfile.mkstemp(suffix=".yml")
@@ -892,6 +895,7 @@ def main():
chart_version,
replace,
chart_repo_url,
post_renderer,
)
if would_change and module._diff:
opt_result["diff"] = {"prepared": prepared}