c5b20d9770
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> |
||
---|---|---|
helm-charts/upstream/cert-manager-helm | ||
python3-k8sapp-cert-manager | ||
stx-cert-manager-helm | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
README.rst | ||
bindep.txt | ||
debian_build_layer.cfg | ||
debian_iso_image.inc | ||
debian_pkg_dirs | ||
github_sync.trigger | ||
requirements.txt | ||
test-requirements.txt | ||
tox.ini |
README.rst
# StarlingX/Cert-Manager-Armada-App
## Introduction [Cert-Manager](https://cert-manager.io/) is Kubernetes native application that facilities certificate management. This repository deploys Cert-Manager as a platform-managed application using FluxCD Helm Charts for the StarlingX project.
## Build The build tools available as independent repositories under the StarlingX project are necessary to build this application.
See [StarlingX Build Guide](https://docs.starlingx.io/developer_resources/build_guide.html) for more details.
To build this app:
` ${MY_REPO_ROOT_DIR}/cgcs-root/build-tools/build-pkgs cert-manager-helm stx-cert-manager-helm
The generated RPM is located in
$MY_BUILD_DIR/std/rpmbuild/RPMS`.
To extract the tarball without installing on build system, use
command:
` rpm2cpio stx-cert-manager-helm-1.0-0.tis.noarch.rpm | cpio -idmv
`
## Usage Note that the Cert-Manager application is included on a StarlingX install system by default.
Following commands can be used to upload, apply, remove, delete, and view the application:
` system application-remove cert-manager system application-delete cert-manager system application-upload <.tgz file> system application-apply cert-manager system application-list
`
Cert-Manager Kubernetes resources can be found in the cert-manager namespace.
` kubectl get namespaces | grep cert-manager kubectl get crd | grep cert-manager kubectl get pods --namespace cert-manager
`