Enable auto-versioning of helm charts to ensure the FluxCD helm
controller recognizes chart changes.
To guarantee the helm chart version is incremented when a helm chart
change is submitted, the following is implemented:
- Provide a top level hierarchy for helm charts to differentiate
between upstream and custom charts: helm-charts/{custom,upstream}
- Arrange exiting helm chart in appropriate helm-charts location.
Custom for helm. Charts built and maintained in this repository.
Upstream for directly used and/or directly used plus patched.
- stx-APP-helm now contains only manifests and final application
packaging rules. No custom helm charts should be delivered here.
- Use StarlingX debian git revcount packaging mechanisms to derive the
semver BUILD version for upstream helm charts which maintains the
upstream chart version and adds a versioned BUILD extension.
<version core> ::= <major> "." <minor> "." <patch>
<valid semver> ::= <version core> "+" <build>
Chart version (MAJOR.MINOR.PATCH+STX.REV) is passed to 'helm package'
command to force the version, where REV == 'git revcount'
- Establish a new package(s) for the custom or upstream helm chart(s).
- Enforce a baseline version for all helm charts; eg 'APP-helm'.
Maintain current rev counts for all new packages, where applicable.
- Update 'stx-APP-helm' to:
- Update the build dependencies to include the new helm chart package
and remove dependency on helm
- Update the rules to remove building the dependency APP helm
chart(s) and automatically update the chart versions in the
FluxCD helmrelease.yaml files.
Test Plan:
PASS - Build all packages generating an application tarball verifying
all versions on the charts and application make sense.
PASS - Introduce temporary chart changes and ensure that the versions
increment as expected.
PASS - Validate basic application lifecycle operations:
upload/apply/remove/delete.
Story: 2010929
Task: 49602
Change-Id: Idd2cc177c8f4217583470ebff24f7ce5e7bb01ff
Signed-off-by: Joshua Reed <joshua.reed@windriver.com>