From 196e4609ef117abc0f6c088748a2f56c20485442 Mon Sep 17 00:00:00 2001 From: Adam Pickering Date: Tue, 8 Oct 2024 13:00:34 -0600 Subject: [PATCH] Remove btp/sextant --- assets/btp/sextant-2.2.21.tgz | Bin 25804 -> 0 bytes assets/btp/sextant-2.3.0.tgz | Bin 25804 -> 0 bytes assets/icons/sextant.svg | 1 - assets/sextant/sextant-2.2.1700.tgz | Bin 24299 -> 0 bytes charts/btp/sextant/2.2.21/.helmignore | 21 -- charts/btp/sextant/2.2.21/Chart.lock | 6 - charts/btp/sextant/2.2.21/Chart.yaml | 25 -- charts/btp/sextant/2.2.21/README.md | 74 ---- charts/btp/sextant/2.2.21/app-readme.md | 26 -- .../2.2.21/charts/standard-defs/Chart.lock | 6 - .../2.2.21/charts/standard-defs/Chart.yaml | 10 - .../2.2.21/charts/standard-defs/README.md | 0 .../standard-defs/charts/common/.helmignore | 22 -- .../standard-defs/charts/common/Chart.yaml | 23 -- .../standard-defs/charts/common/README.md | 327 ------------------ .../charts/common/templates/_affinities.tpl | 102 ------ .../charts/common/templates/_capabilities.tpl | 117 ------- .../charts/common/templates/_errors.tpl | 23 -- .../charts/common/templates/_images.tpl | 75 ---- .../charts/common/templates/_ingress.tpl | 55 --- .../charts/common/templates/_labels.tpl | 18 - .../charts/common/templates/_names.tpl | 32 -- .../charts/common/templates/_secrets.tpl | 129 ------- .../charts/common/templates/_storage.tpl | 23 -- .../charts/common/templates/_tplvalues.tpl | 13 - .../charts/common/templates/_utils.tpl | 62 ---- .../charts/common/templates/_warnings.tpl | 14 - .../templates/validations/_cassandra.tpl | 72 ---- .../common/templates/validations/_mariadb.tpl | 103 ------ .../common/templates/validations/_mongodb.tpl | 108 ------ .../templates/validations/_postgresql.tpl | 131 ------- .../common/templates/validations/_redis.tpl | 76 ---- .../templates/validations/_validations.tpl | 46 --- .../standard-defs/charts/common/values.yaml | 5 - .../standard-defs/templates/_ingress.tpl | 101 ------ .../charts/standard-defs/templates/_lib.tpl | 51 --- .../standard-defs/templates/_lib_image.tpl | 46 --- .../standard-defs/templates/_lib_volumes.tpl | 34 -- .../2.2.21/charts/standard-defs/values.yaml | 1 - charts/btp/sextant/2.2.21/questions.yaml | 143 -------- .../2.2.21/rancher-marketplace-questions.yaml | 146 -------- .../2.2.21/rancher-marketplace-values.yaml | 235 ------------- .../btp/sextant/2.2.21/sextant/details.yaml | 27 -- charts/btp/sextant/2.2.21/sextant/form.js | 205 ----------- charts/btp/sextant/2.2.21/sextant/options.js | 33 -- charts/btp/sextant/2.2.21/sextant/summary.js | 17 - .../btp/sextant/2.2.21/sextant/validators.js | 11 - charts/btp/sextant/2.2.21/templates/NOTES.txt | 27 -- .../btp/sextant/2.2.21/templates/_helpers.tpl | 100 ------ .../btp/sextant/2.2.21/templates/ingress.yaml | 5 - .../sextant/2.2.21/templates/regsecret.yaml | 11 - .../btp/sextant/2.2.21/templates/service.yaml | 13 - .../2.2.21/templates/serviceaccount.yaml | 17 - .../sextant/2.2.21/templates/statefulset.yaml | 141 -------- .../tests/__snapshot__/ingress_test.yaml.snap | 11 - .../__snapshot__/stable-names_test.yaml.snap | 10 - .../2.2.21/tests/imageEditions_test.yaml | 76 ---- .../sextant/2.2.21/tests/ingress_test.yaml | 25 -- .../2.2.21/tests/stable-names_test.yaml | 22 -- .../2.2.21/tests/storageClass_test.yaml | 36 -- charts/btp/sextant/2.2.21/values.yaml | 226 ------------ charts/btp/sextant/2.3.0/.helmignore | 21 -- charts/btp/sextant/2.3.0/Chart.lock | 6 - charts/btp/sextant/2.3.0/Chart.yaml | 25 -- charts/btp/sextant/2.3.0/README.md | 74 ---- charts/btp/sextant/2.3.0/app-readme.md | 26 -- .../2.3.0/charts/standard-defs/Chart.lock | 6 - .../2.3.0/charts/standard-defs/Chart.yaml | 10 - .../2.3.0/charts/standard-defs/README.md | 0 .../standard-defs/charts/common/.helmignore | 22 -- .../standard-defs/charts/common/Chart.yaml | 23 -- .../standard-defs/charts/common/README.md | 327 ------------------ .../charts/common/templates/_affinities.tpl | 102 ------ .../charts/common/templates/_capabilities.tpl | 117 ------- .../charts/common/templates/_errors.tpl | 23 -- .../charts/common/templates/_images.tpl | 75 ---- .../charts/common/templates/_ingress.tpl | 55 --- .../charts/common/templates/_labels.tpl | 18 - .../charts/common/templates/_names.tpl | 32 -- .../charts/common/templates/_secrets.tpl | 129 ------- .../charts/common/templates/_storage.tpl | 23 -- .../charts/common/templates/_tplvalues.tpl | 13 - .../charts/common/templates/_utils.tpl | 62 ---- .../charts/common/templates/_warnings.tpl | 14 - .../templates/validations/_cassandra.tpl | 72 ---- .../common/templates/validations/_mariadb.tpl | 103 ------ .../common/templates/validations/_mongodb.tpl | 108 ------ .../templates/validations/_postgresql.tpl | 131 ------- .../common/templates/validations/_redis.tpl | 76 ---- .../templates/validations/_validations.tpl | 46 --- .../standard-defs/charts/common/values.yaml | 5 - .../standard-defs/templates/_ingress.tpl | 101 ------ .../charts/standard-defs/templates/_lib.tpl | 51 --- .../standard-defs/templates/_lib_image.tpl | 46 --- .../standard-defs/templates/_lib_volumes.tpl | 34 -- .../2.3.0/charts/standard-defs/values.yaml | 1 - charts/btp/sextant/2.3.0/questions.yaml | 143 -------- .../2.3.0/rancher-marketplace-questions.yaml | 146 -------- .../2.3.0/rancher-marketplace-values.yaml | 235 ------------- charts/btp/sextant/2.3.0/sextant/details.yaml | 27 -- charts/btp/sextant/2.3.0/sextant/form.js | 205 ----------- charts/btp/sextant/2.3.0/sextant/options.js | 33 -- charts/btp/sextant/2.3.0/sextant/summary.js | 17 - .../btp/sextant/2.3.0/sextant/validators.js | 11 - charts/btp/sextant/2.3.0/templates/NOTES.txt | 27 -- .../btp/sextant/2.3.0/templates/_helpers.tpl | 100 ------ .../btp/sextant/2.3.0/templates/ingress.yaml | 5 - .../sextant/2.3.0/templates/regsecret.yaml | 11 - .../btp/sextant/2.3.0/templates/service.yaml | 13 - .../2.3.0/templates/serviceaccount.yaml | 17 - .../sextant/2.3.0/templates/statefulset.yaml | 141 -------- .../tests/__snapshot__/ingress_test.yaml.snap | 11 - .../__snapshot__/stable-names_test.yaml.snap | 10 - .../2.3.0/tests/imageEditions_test.yaml | 76 ---- .../btp/sextant/2.3.0/tests/ingress_test.yaml | 25 -- .../2.3.0/tests/stable-names_test.yaml | 22 -- .../2.3.0/tests/storageClass_test.yaml | 36 -- charts/btp/sextant/2.3.0/values.yaml | 226 ------------ index.yaml | 83 ----- packages/btp/sextant/overlay/questions.yaml | 143 -------- packages/btp/sextant/overlay/values.yaml | 226 ------------ packages/btp/sextant/upstream.yaml | 4 - 122 files changed, 7485 deletions(-) delete mode 100644 assets/btp/sextant-2.2.21.tgz delete mode 100644 assets/btp/sextant-2.3.0.tgz delete mode 100644 assets/icons/sextant.svg delete mode 100644 assets/sextant/sextant-2.2.1700.tgz delete mode 100644 charts/btp/sextant/2.2.21/.helmignore delete mode 100644 charts/btp/sextant/2.2.21/Chart.lock delete mode 100644 charts/btp/sextant/2.2.21/Chart.yaml delete mode 100644 charts/btp/sextant/2.2.21/README.md delete mode 100644 charts/btp/sextant/2.2.21/app-readme.md delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/Chart.lock delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/Chart.yaml delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/README.md delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/.helmignore delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/Chart.yaml delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/README.md delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_affinities.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_capabilities.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_errors.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_images.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_ingress.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_labels.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_names.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_secrets.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_storage.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_tplvalues.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_utils.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_warnings.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_redis.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_validations.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/values.yaml delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/templates/_ingress.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_image.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_volumes.tpl delete mode 100644 charts/btp/sextant/2.2.21/charts/standard-defs/values.yaml delete mode 100644 charts/btp/sextant/2.2.21/questions.yaml delete mode 100644 charts/btp/sextant/2.2.21/rancher-marketplace-questions.yaml delete mode 100644 charts/btp/sextant/2.2.21/rancher-marketplace-values.yaml delete mode 100644 charts/btp/sextant/2.2.21/sextant/details.yaml delete mode 100644 charts/btp/sextant/2.2.21/sextant/form.js delete mode 100644 charts/btp/sextant/2.2.21/sextant/options.js delete mode 100644 charts/btp/sextant/2.2.21/sextant/summary.js delete mode 100644 charts/btp/sextant/2.2.21/sextant/validators.js delete mode 100644 charts/btp/sextant/2.2.21/templates/NOTES.txt delete mode 100644 charts/btp/sextant/2.2.21/templates/_helpers.tpl delete mode 100644 charts/btp/sextant/2.2.21/templates/ingress.yaml delete mode 100644 charts/btp/sextant/2.2.21/templates/regsecret.yaml delete mode 100644 charts/btp/sextant/2.2.21/templates/service.yaml delete mode 100644 charts/btp/sextant/2.2.21/templates/serviceaccount.yaml delete mode 100644 charts/btp/sextant/2.2.21/templates/statefulset.yaml delete mode 100644 charts/btp/sextant/2.2.21/tests/__snapshot__/ingress_test.yaml.snap delete mode 100644 charts/btp/sextant/2.2.21/tests/__snapshot__/stable-names_test.yaml.snap delete mode 100644 charts/btp/sextant/2.2.21/tests/imageEditions_test.yaml delete mode 100644 charts/btp/sextant/2.2.21/tests/ingress_test.yaml delete mode 100644 charts/btp/sextant/2.2.21/tests/stable-names_test.yaml delete mode 100644 charts/btp/sextant/2.2.21/tests/storageClass_test.yaml delete mode 100644 charts/btp/sextant/2.2.21/values.yaml delete mode 100644 charts/btp/sextant/2.3.0/.helmignore delete mode 100644 charts/btp/sextant/2.3.0/Chart.lock delete mode 100644 charts/btp/sextant/2.3.0/Chart.yaml delete mode 100644 charts/btp/sextant/2.3.0/README.md delete mode 100644 charts/btp/sextant/2.3.0/app-readme.md delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/Chart.lock delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/Chart.yaml delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/README.md delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/.helmignore delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/Chart.yaml delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/README.md delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_affinities.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_capabilities.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_errors.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_images.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_ingress.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_labels.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_names.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_secrets.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_storage.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_tplvalues.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_utils.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_warnings.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_redis.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_validations.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/values.yaml delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/templates/_ingress.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_image.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_volumes.tpl delete mode 100644 charts/btp/sextant/2.3.0/charts/standard-defs/values.yaml delete mode 100644 charts/btp/sextant/2.3.0/questions.yaml delete mode 100644 charts/btp/sextant/2.3.0/rancher-marketplace-questions.yaml delete mode 100644 charts/btp/sextant/2.3.0/rancher-marketplace-values.yaml delete mode 100644 charts/btp/sextant/2.3.0/sextant/details.yaml delete mode 100644 charts/btp/sextant/2.3.0/sextant/form.js delete mode 100644 charts/btp/sextant/2.3.0/sextant/options.js delete mode 100644 charts/btp/sextant/2.3.0/sextant/summary.js delete mode 100644 charts/btp/sextant/2.3.0/sextant/validators.js delete mode 100644 charts/btp/sextant/2.3.0/templates/NOTES.txt delete mode 100644 charts/btp/sextant/2.3.0/templates/_helpers.tpl delete mode 100644 charts/btp/sextant/2.3.0/templates/ingress.yaml delete mode 100644 charts/btp/sextant/2.3.0/templates/regsecret.yaml delete mode 100644 charts/btp/sextant/2.3.0/templates/service.yaml delete mode 100644 charts/btp/sextant/2.3.0/templates/serviceaccount.yaml delete mode 100644 charts/btp/sextant/2.3.0/templates/statefulset.yaml delete mode 100644 charts/btp/sextant/2.3.0/tests/__snapshot__/ingress_test.yaml.snap delete mode 100644 charts/btp/sextant/2.3.0/tests/__snapshot__/stable-names_test.yaml.snap delete mode 100644 charts/btp/sextant/2.3.0/tests/imageEditions_test.yaml delete mode 100644 charts/btp/sextant/2.3.0/tests/ingress_test.yaml delete mode 100644 charts/btp/sextant/2.3.0/tests/stable-names_test.yaml delete mode 100644 charts/btp/sextant/2.3.0/tests/storageClass_test.yaml delete mode 100644 charts/btp/sextant/2.3.0/values.yaml delete mode 100644 packages/btp/sextant/overlay/questions.yaml delete mode 100644 packages/btp/sextant/overlay/values.yaml delete mode 100644 packages/btp/sextant/upstream.yaml diff --git a/assets/btp/sextant-2.2.21.tgz b/assets/btp/sextant-2.2.21.tgz deleted file mode 100644 index 26ddb1531e0dd1da114f15cc06c0e9dd87386234..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25804 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 BTfzVU diff --git a/assets/btp/sextant-2.3.0.tgz b/assets/btp/sextant-2.3.0.tgz deleted file mode 100644 index 11e09cb501989b119cc668346f4f928e7505b05f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25804 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 copy 2 \ No newline at end of file diff --git a/assets/sextant/sextant-2.2.1700.tgz b/assets/sextant/sextant-2.2.1700.tgz deleted file mode 100644 index 649f5a9529f0e66d33b23c5b0f9a2f7499f7bac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24299 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 diff --git a/charts/btp/sextant/2.2.21/.helmignore b/charts/btp/sextant/2.2.21/.helmignore deleted file mode 100644 index f0c1319444..0000000000 --- a/charts/btp/sextant/2.2.21/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/charts/btp/sextant/2.2.21/Chart.lock b/charts/btp/sextant/2.2.21/Chart.lock deleted file mode 100644 index bbc31083dd..0000000000 --- a/charts/btp/sextant/2.2.21/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: standard-defs - repository: https://btp-charts-stable.s3.amazonaws.com/charts/ - version: 0.1.2 -digest: sha256:b072a3f7726bb97088f486103c12d3c8c01d81b31e72bd972b93fbd61f4adb85 -generated: "2021-10-09T05:31:25.295386816Z" diff --git a/charts/btp/sextant/2.2.21/Chart.yaml b/charts/btp/sextant/2.2.21/Chart.yaml deleted file mode 100644 index 0b0373cb45..0000000000 --- a/charts/btp/sextant/2.2.21/Chart.yaml +++ /dev/null @@ -1,25 +0,0 @@ -annotations: - catalog.cattle.io/certified: partner - catalog.cattle.io/display-name: Sextant - catalog.cattle.io/kube-version: '>=1.19-0' - catalog.cattle.io/release-name: sextant -apiVersion: v2 -appVersion: 2.1.8 -dependencies: -- name: standard-defs - repository: file://./charts/standard-defs - version: ~0.1.0 -description: 'Sextant automates the deployment and management of enterprise blockchain - infrastructure. It also delivers Chronicle - an open-source, blockchain-backed, - domain-agnostic provenance product - and facilitates its integration with enterprise - systems. ' -home: https://btp.works/sextant -icon: https://sextant-resources.s3.amazonaws.com/icons/large-logo-blue.svg -keywords: -- provenance -- blockchain -- smart contracts -kubeVersion: '>=1.19-0' -name: sextant -type: application -version: 2.2.21 diff --git a/charts/btp/sextant/2.2.21/README.md b/charts/btp/sextant/2.2.21/README.md deleted file mode 100644 index acbd959033..0000000000 --- a/charts/btp/sextant/2.2.21/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# Sextant - -This chart is the base chart to install BTP Sextant. By default it -installs the development version of Sextant. It's intended use is as -a dependency of other charts which install particular editions of the -software. - -## Configuration - -| field | description | type | default | -|-|-|-|-| -| `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | -| `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | -| `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | -| `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | -| `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | -| `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | -| `replicaCount` | number of Sextant replicas to run | int | 1 | -| `logging` | default logging level | string | "1" | -| `ui.env` | environment variables to set in the UI container | map | nil | -| `ui.image` | UI image settings | map | N/A | -| `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | -| `ui.image.tag` | UI image tag | string | "latest" | -| `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | -| `ui.resources` | UI resources | map | nil | -| `api.env` | API environment settings | map | N/A | -| `api.image` | API image settings | map | N/A | -| `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | -| `api.image.tag` | API image tag | string | "latest" | -| `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | -| `api.resources` | UI resources | map | nil | -| `noxy.env` | Noxy environment variables | map | N/A | -| `noxy.image` | noxy image settings | map | N/A | -| `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | -| `noxy.image.tag` | noxy image tag | string | "latest" | -| `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | -| `noxy.resources` | UI resources | map | nil | -| `serviceAccount.create` | if true create the service account | boolean | true | -| `serviceAccount.name` | name of the service account for sextant | string | nil | -| `postgres.enabled` | if true create an internal postgres instance | boolean | true | -| `postgres.env` | postgres environment variables | map | N/A | -| `postgres.image.repository` | postgres image repository | string | "postgres" | -| `postgres.image.tag` | postgres image tag | string | "11" | -| `postgres.user` | user for the postgres database | string | "postgres" | -| `postgres.host` | host for the postgres database | string | "localhost" | -| `postgres.database` | database for the postgres database | string | "postgres" | -| `postgres.port` | port for the postgres database | int | 5432 | -| `postgres.password` | password for the postgres database | string | "postgres" | -| `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | -| `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | -| `postgres.tls` | postgres TLS configuration | string | nil | -| `postgres.persistence` | postgres persistence settings | map | N/A | -| `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | -| `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | -| `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | -| `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | -| `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | -| `postgres.resources` | UI resources | map | nil | -| `service.type` | Sextant service type | string | ClusterIP | -| `service.port` | Sextant service port | int | 8000 | -| `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | -| `ingress.enabled` | true to enable the ingress to the main service rest-api | false | -| `ingress.certManager` | true to enable the acme certmanager for this ingress | false | -| `ingress.hostname` | primary hostname for the ingress | false | -| `ingress.path` | path for the ingress's primary hostname | / | -| `ingress.pathType` | pathType for the ingress's primary hostname | nil | -| `ingress.annotations` | annotations for the ingress | {} | -| `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | -| `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | -| `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | -| `ingress.extraTls` | list of extra tls entries | [] | -| `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | -| `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -| `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | diff --git a/charts/btp/sextant/2.2.21/app-readme.md b/charts/btp/sextant/2.2.21/app-readme.md deleted file mode 100644 index 20a0f99837..0000000000 --- a/charts/btp/sextant/2.2.21/app-readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Product Overview - -Sextant automates the deployment and management of enterprise blockchain -infrastructure, and currently supports the open-source Hyperledger Besu, -Fabric, and Sawtooth distributed ledgers. - -It delivers Chronicle, an open-source, blockchain-backed, domain-agnostic -provenance product, and facilitates its integration with enterprise systems. - -It also provides a runtime environment for executing smart contracts. - -## License - -Use of Sextant is governed by our [Marketplace EULA](https://sextant-resources.s3.amazonaws.com/agreements/Blockchain+Technology+Partners+Limited+(Marketplace)+End+User+License+Agreement.pdf) -with the exception of Daml support which is subject to our [Evaluation EULA](https://sextant-resources.s3.amazonaws.com/agreements/Blockchain+Technology+Partners+Limited+(Evaluation)+End+User+License+Agreement.pdf) - -Find out more at [btp.works/sextant](https://btp.works/sextant) - -For documentation visit [docs.btp.works](https://docs.btp.works) - -### *Important* - -*To install Sextant you will need credentials supplied by BTP.* - -*Please complete [this form](https://btp.works/sextant/suse-rancher) and we will -provide you with the credentials required to launch Sextant.* diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.lock b/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.lock deleted file mode 100644 index 3c1618aee4..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://charts.bitnami.com/bitnami - version: 1.8.0 -digest: sha256:4b6f60ea1981a1b98332e0149289002fe0f9ebf401de1ec19c8baaaf6b0d4b88 -generated: "2021-09-02T01:05:15.012803203Z" diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.yaml b/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.yaml deleted file mode 100644 index 38a35afb09..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/Chart.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: v2 -appVersion: 0.1.0 -dependencies: -- name: common - repository: https://charts.bitnami.com/bitnami - version: ~1.8.0 -description: BTP Standard Template definitions and dependencies -name: standard-defs -type: library -version: 0.1.2 diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/README.md b/charts/btp/sextant/2.2.21/charts/standard-defs/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/.helmignore b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/.helmignore deleted file mode 100644 index 50af031725..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/.helmignore +++ /dev/null @@ -1,22 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/Chart.yaml b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/Chart.yaml deleted file mode 100644 index 344c403847..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/Chart.yaml +++ /dev/null @@ -1,23 +0,0 @@ -annotations: - category: Infrastructure -apiVersion: v2 -appVersion: 1.8.0 -description: A Library Helm Chart for grouping common logic between bitnami charts. - This chart is not deployable by itself. -home: https://github.com/bitnami/charts/tree/master/bitnami/common -icon: https://bitnami.com/downloads/logos/bitnami-mark.png -keywords: -- common -- helper -- template -- function -- bitnami -maintainers: -- email: containers@bitnami.com - name: Bitnami -name: common -sources: -- https://github.com/bitnami/charts -- http://www.bitnami.com/ -type: library -version: 1.8.0 diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/README.md b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/README.md deleted file mode 100644 index 054e51f965..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/README.md +++ /dev/null @@ -1,327 +0,0 @@ -# Bitnami Common Library Chart - -A [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm) for grouping common logic between bitnami charts. - -## TL;DR - -```yaml -dependencies: - - name: common - version: 0.x.x - repository: https://charts.bitnami.com/bitnami -``` - -```bash -$ helm dependency update -``` - -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.names.fullname" . }} -data: - myvalue: "Hello World" -``` - -## Introduction - -This chart provides a common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager. - -Bitnami charts can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. This Helm chart has been tested on top of [Bitnami Kubernetes Production Runtime](https://kubeprod.io/) (BKPR). Deploy BKPR to get automated TLS certificates, logging and monitoring for your applications. - -## Prerequisites - -- Kubernetes 1.12+ -- Helm 3.1.0 - -## Parameters - -The following table lists the helpers available in the library which are scoped in different sections. - -### Affinities - -| Helper identifier | Description | Expected Input | -|-------------------------------|------------------------------------------------------|------------------------------------------------| -| `common.affinities.node.soft` | Return a soft nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` | -| `common.affinities.node.hard` | Return a hard nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` | -| `common.affinities.pod.soft` | Return a soft podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` | -| `common.affinities.pod.hard` | Return a hard podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` | - -### Capabilities - -| Helper identifier | Description | Expected Input | -|----------------------------------------------|------------------------------------------------------------------------------------------------|-------------------| -| `common.capabilities.kubeVersion` | Return the target Kubernetes version (using client default if .Values.kubeVersion is not set). | `.` Chart context | -| `common.capabilities.cronjob.apiVersion` | Return the appropriate apiVersion for cronjob. | `.` Chart context | -| `common.capabilities.deployment.apiVersion` | Return the appropriate apiVersion for deployment. | `.` Chart context | -| `common.capabilities.statefulset.apiVersion` | Return the appropriate apiVersion for statefulset. | `.` Chart context | -| `common.capabilities.ingress.apiVersion` | Return the appropriate apiVersion for ingress. | `.` Chart context | -| `common.capabilities.rbac.apiVersion` | Return the appropriate apiVersion for RBAC resources. | `.` Chart context | -| `common.capabilities.crd.apiVersion` | Return the appropriate apiVersion for CRDs. | `.` Chart context | -| `common.capabilities.policy.apiVersion` | Return the appropriate apiVersion for policy | `.` Chart context | -| `common.capabilities.supportsHelmVersion` | Returns true if the used Helm version is 3.3+ | `.` Chart context | - -### Errors - -| Helper identifier | Description | Expected Input | -|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| `common.errors.upgrade.passwords.empty` | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01) "context" $` | - -### Images - -| Helper identifier | Description | Expected Input | -|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------| -| `common.images.image` | Return the proper and full image name | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure. | -| `common.images.pullSecrets` | Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global` | -| `common.images.renderPullSecrets` | Return the proper Docker Image Registry Secret Names (evaluates values as templates) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $` | - -### Ingress - -| Helper identifier | Description | Expected Input | -|-------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.ingress.backend` | Generate a proper Ingress backend entry depending on the API version | `dict "serviceName" "foo" "servicePort" "bar"`, see the [Ingress deprecation notice](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for the syntax differences | -| `common.ingress.supportsPathType` | Prints "true" if the pathType field is supported | `.` Chart context | -| `common.ingress.supportsIngressClassname` | Prints "true" if the ingressClassname field is supported | `.` Chart context | - -### Labels - -| Helper identifier | Description | Expected Input | -|-----------------------------|------------------------------------------------------|-------------------| -| `common.labels.standard` | Return Kubernetes standard labels | `.` Chart context | -| `common.labels.matchLabels` | Return the proper Docker Image Registry Secret Names | `.` Chart context | - -### Names - -| Helper identifier | Description | Expected Inpput | -|-------------------------|------------------------------------------------------------|-------------------| -| `common.names.name` | Expand the name of the chart or use `.Values.nameOverride` | `.` Chart context | -| `common.names.fullname` | Create a default fully qualified app name. | `.` Chart context | -| `common.names.chart` | Chart name plus version | `.` Chart context | - -### Secrets - -| Helper identifier | Description | Expected Input | -|---------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.secrets.name` | Generate the name of the secret. | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. | -| `common.secrets.key` | Generate secret key. | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure. | -| `common.passwords.manage` | Generate secret password or retrieve one if already created. | `dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $`, length, strong and chartNAme fields are optional. | -| `common.secrets.exists` | Returns whether a previous generated secret already exists. | `dict "secret" "secret-name" "context" $` | - -### Storage - -| Helper identifier | Description | Expected Input | -|-------------------------------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------| -| `common.affinities.node.soft` | Return a soft nodeAffinity definition | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. | - -### TplValues - -| Helper identifier | Description | Expected Input | -|---------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.tplvalues.render` | Renders a value that contains template | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frequently is the chart context `$` or `.` | - -### Utils - -| Helper identifier | Description | Expected Input | -|--------------------------------|------------------------------------------------------------------------------------------|------------------------------------------------------------------------| -| `common.utils.fieldToEnvVar` | Build environment variable name given a field. | `dict "field" "my-password"` | -| `common.utils.secret.getvalue` | Print instructions to get a secret value. | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` | -| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path | `dict "key" "path.to.key" "context" $` | -| `common.utils.getKeyFromList` | Returns first `.Values` key with a defined value or first of the list if all non-defined | `dict "keys" (list "path.to.key1" "path.to.key2") "context" $` | - -### Validations - -| Helper identifier | Description | Expected Input | -|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.validations.values.single.empty` | Validate a value must not be empty. | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $` secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) | -| `common.validations.values.multiple.empty` | Validate a multiple values must not be empty. It returns a shared error for all the values. | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue) | -| `common.validations.values.mariadb.passwords` | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values. | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper. | -| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values. | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper. | -| `common.validations.values.redis.passwords` | This helper will ensure required password for Redis™ are not empty. It returns a shared error for all the values. | `dict "secret" "redis-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use redis chart and the helper. | -| `common.validations.values.cassandra.passwords` | This helper will ensure required password for Cassandra are not empty. It returns a shared error for all the values. | `dict "secret" "cassandra-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use cassandra chart and the helper. | -| `common.validations.values.mongodb.passwords` | This helper will ensure required password for MongoDB® are not empty. It returns a shared error for all the values. | `dict "secret" "mongodb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mongodb chart and the helper. | - -### Warnings - -| Helper identifier | Description | Expected Input | -|------------------------------|----------------------------------|------------------------------------------------------------| -| `common.warnings.rollingTag` | Warning about using rolling tag. | `ImageRoot` see [ImageRoot](#imageroot) for the structure. | - -## Special input schemas - -### ImageRoot - -```yaml -registry: - type: string - description: Docker registry where the image is located - example: docker.io - -repository: - type: string - description: Repository and image name - example: bitnami/nginx - -tag: - type: string - description: image tag - example: 1.16.1-debian-10-r63 - -pullPolicy: - type: string - description: Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' - -pullSecrets: - type: array - items: - type: string - description: Optionally specify an array of imagePullSecrets (evaluated as templates). - -debug: - type: boolean - description: Set to true if you would like to see extra information on logs - example: false - -## An instance would be: -# registry: docker.io -# repository: bitnami/nginx -# tag: 1.16.1-debian-10-r63 -# pullPolicy: IfNotPresent -# debug: false -``` - -### Persistence - -```yaml -enabled: - type: boolean - description: Whether enable persistence. - example: true - -storageClass: - type: string - description: Ghost data Persistent Volume Storage Class, If set to "-", storageClassName: "" which disables dynamic provisioning. - example: "-" - -accessMode: - type: string - description: Access mode for the Persistent Volume Storage. - example: ReadWriteOnce - -size: - type: string - description: Size the Persistent Volume Storage. - example: 8Gi - -path: - type: string - description: Path to be persisted. - example: /bitnami - -## An instance would be: -# enabled: true -# storageClass: "-" -# accessMode: ReadWriteOnce -# size: 8Gi -# path: /bitnami -``` - -### ExistingSecret - -```yaml -name: - type: string - description: Name of the existing secret. - example: mySecret -keyMapping: - description: Mapping between the expected key name and the name of the key in the existing secret. - type: object - -## An instance would be: -# name: mySecret -# keyMapping: -# password: myPasswordKey -``` - -#### Example of use - -When we store sensitive data for a deployment in a secret, some times we want to give to users the possibility of using theirs existing secrets. - -```yaml -# templates/secret.yaml ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" . }} - labels: - app: {{ include "common.names.fullname" . }} -type: Opaque -data: - password: {{ .Values.password | b64enc | quote }} - -# templates/dpl.yaml ---- -... - env: - - name: PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "common.secrets.name" (dict "existingSecret" .Values.existingSecret "context" $) }} - key: {{ include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "password") }} -... - -# values.yaml ---- -name: mySecret -keyMapping: - password: myPasswordKey -``` - -### ValidateValue - -#### NOTES.txt - -```console -{{- $validateValueConf00 := (dict "valueKey" "path.to.value00" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value01" "secret" "secretName" "field" "password-01") -}} - -{{ include "common.validations.values.multiple.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} -``` - -If we force those values to be empty we will see some alerts - -```console -$ helm install test mychart --set path.to.value00="",path.to.value01="" - 'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value: - - export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 --decode) - - 'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value: - - export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 --decode) -``` - -## Upgrading - -### To 1.0.0 - -[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL. - -**What changes were introduced in this major version?** - -- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field. -- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information. -- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts - -**Considerations when upgrading to this version** - -- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues -- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore -- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3 - -**Useful links** - -- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/ -- https://helm.sh/docs/topics/v2_v3_migration/ -- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/ diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_affinities.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_affinities.tpl deleted file mode 100644 index 189ea403d5..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_affinities.tpl +++ /dev/null @@ -1,102 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Return a soft nodeAffinity definition -{{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.soft" -}} -preferredDuringSchedulingIgnoredDuringExecution: - - preference: - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} - weight: 1 -{{- end -}} - -{{/* -Return a hard nodeAffinity definition -{{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.hard" -}} -requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} -{{- end -}} - -{{/* -Return a nodeAffinity definition -{{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.nodes.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.nodes.hard" . -}} - {{- end -}} -{{- end -}} - -{{/* -Return a soft podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.soft" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}} -*/}} -{{- define "common.affinities.pods.soft" -}} -{{- $component := default "" .component -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 10 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - namespaces: - - {{ .context.Release.Namespace | quote }} - topologyKey: kubernetes.io/hostname - weight: 1 -{{- end -}} - -{{/* -Return a hard podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.hard" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}} -*/}} -{{- define "common.affinities.pods.hard" -}} -{{- $component := default "" .component -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 8 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - namespaces: - - {{ .context.Release.Namespace | quote }} - topologyKey: kubernetes.io/hostname -{{- end -}} - -{{/* -Return a podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.pods" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.pods.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.pods.hard" . -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_capabilities.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_capabilities.tpl deleted file mode 100644 index ae45d5e35f..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_capabilities.tpl +++ /dev/null @@ -1,117 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Return the target Kubernetes version -*/}} -{{- define "common.capabilities.kubeVersion" -}} -{{- if .Values.global }} - {{- if .Values.global.kubeVersion }} - {{- .Values.global.kubeVersion -}} - {{- else }} - {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} - {{- end -}} -{{- else }} -{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for policy. -*/}} -{{- define "common.capabilities.policy.apiVersion" -}} -{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "policy/v1beta1" -}} -{{- else -}} -{{- print "policy/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for cronjob. -*/}} -{{- define "common.capabilities.cronjob.apiVersion" -}} -{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "batch/v1beta1" -}} -{{- else -}} -{{- print "batch/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for deployment. -*/}} -{{- define "common.capabilities.deployment.apiVersion" -}} -{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for statefulset. -*/}} -{{- define "common.capabilities.statefulset.apiVersion" -}} -{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "apps/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for ingress. -*/}} -{{- define "common.capabilities.ingress.apiVersion" -}} -{{- if .Values.ingress -}} -{{- if .Values.ingress.apiVersion -}} -{{- .Values.ingress.apiVersion -}} -{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end }} -{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for RBAC resources. -*/}} -{{- define "common.capabilities.rbac.apiVersion" -}} -{{- if semverCompare "<1.17-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "rbac.authorization.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "rbac.authorization.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for CRDs. -*/}} -{{- define "common.capabilities.crd.apiVersion" -}} -{{- if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "apiextensions.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "apiextensions.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the used Helm version is 3.3+. -A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure. -This check is introduced as a regexMatch instead of {{ if .Capabilities.HelmVersion }} because checking for the key HelmVersion in <3.3 results in a "interface not found" error. -**To be removed when the catalog's minimun Helm version is 3.3** -*/}} -{{- define "common.capabilities.supportsHelmVersion" -}} -{{- if regexMatch "{(v[0-9])*[^}]*}}$" (.Capabilities | toString ) }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_errors.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_errors.tpl deleted file mode 100644 index a79cc2e322..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_errors.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Through error when upgrading using empty passwords values that must not be empty. - -Usage: -{{- $validationError00 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password00" "secret" "secretName" "field" "password-00") -}} -{{- $validationError01 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password01" "secret" "secretName" "field" "password-01") -}} -{{ include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $validationError00 $validationError01) "context" $) }} - -Required password params: - - validationErrors - String - Required. List of validation strings to be return, if it is empty it won't throw error. - - context - Context - Required. Parent context. -*/}} -{{- define "common.errors.upgrade.passwords.empty" -}} - {{- $validationErrors := join "" .validationErrors -}} - {{- if and $validationErrors .context.Release.IsUpgrade -}} - {{- $errorString := "\nPASSWORDS ERROR: You must provide your current passwords when upgrading the release." -}} - {{- $errorString = print $errorString "\n Note that even after reinstallation, old credentials may be needed as they may be kept in persistent volume claims." -}} - {{- $errorString = print $errorString "\n Further information can be obtained at https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues/#credential-errors-while-upgrading-chart-releases" -}} - {{- $errorString = print $errorString "\n%s" -}} - {{- printf $errorString $validationErrors | fail -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_images.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_images.tpl deleted file mode 100644 index 42ffbc7227..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_images.tpl +++ /dev/null @@ -1,75 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper image name -{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" $) }} -*/}} -{{- define "common.images.image" -}} -{{- $registryName := .imageRoot.registry -}} -{{- $repositoryName := .imageRoot.repository -}} -{{- $tag := .imageRoot.tag | toString -}} -{{- if .global }} - {{- if .global.imageRegistry }} - {{- $registryName = .global.imageRegistry -}} - {{- end -}} -{{- end -}} -{{- if $registryName }} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- else -}} -{{- printf "%s:%s" $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) -{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }} -*/}} -{{- define "common.images.pullSecrets" -}} - {{- $pullSecrets := list }} - - {{- if .global }} - {{- range .global.imagePullSecrets -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end -}} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) }} -imagePullSecrets: - {{- range $pullSecrets }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names evaluating values as templates -{{ include "common.images.renderPullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $) }} -*/}} -{{- define "common.images.renderPullSecrets" -}} - {{- $pullSecrets := list }} - {{- $context := .context }} - - {{- if $context.Values.global }} - {{- range $context.Values.global.imagePullSecrets -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) }} -imagePullSecrets: - {{- range $pullSecrets }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_ingress.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_ingress.tpl deleted file mode 100644 index f905f20059..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_ingress.tpl +++ /dev/null @@ -1,55 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Generate backend entry that is compatible with all Kubernetes API versions. - -Usage: -{{ include "common.ingress.backend" (dict "serviceName" "backendName" "servicePort" "backendPort" "context" $) }} - -Params: - - serviceName - String. Name of an existing service backend - - servicePort - String/Int. Port name (or number) of the service. It will be translated to different yaml depending if it is a string or an integer. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.ingress.backend" -}} -{{- $apiVersion := (include "common.capabilities.ingress.apiVersion" .context) -}} -{{- if or (eq $apiVersion "extensions/v1beta1") (eq $apiVersion "networking.k8s.io/v1beta1") -}} -serviceName: {{ .serviceName }} -servicePort: {{ .servicePort }} -{{- else -}} -service: - name: {{ .serviceName }} - port: - {{- if typeIs "string" .servicePort }} - name: {{ .servicePort }} - {{- else if or (typeIs "int" .servicePort) (typeIs "float64" .servicePort) }} - number: {{ .servicePort | int }} - {{- end }} -{{- end -}} -{{- end -}} - -{{/* -Print "true" if the API pathType field is supported -Usage: -{{ include "common.ingress.supportsPathType" . }} -*/}} -{{- define "common.ingress.supportsPathType" -}} -{{- if (semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .)) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the ingressClassname field is supported -Usage: -{{ include "common.ingress.supportsIngressClassname" . }} -*/}} -{{- define "common.ingress.supportsIngressClassname" -}} -{{- if semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_labels.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_labels.tpl deleted file mode 100644 index 252066c7e2..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_labels.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Kubernetes standard labels -*/}} -{{- define "common.labels.standard" -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -helm.sh/chart: {{ include "common.names.chart" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector -*/}} -{{- define "common.labels.matchLabels" -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_names.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_names.tpl deleted file mode 100644 index adf2a74f48..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_names.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "common.names.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "common.names.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "common.names.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_secrets.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_secrets.tpl deleted file mode 100644 index 60b84a7019..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_secrets.tpl +++ /dev/null @@ -1,129 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Generate secret name. - -Usage: -{{ include "common.secrets.name" (dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $) }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret - - defaultNameSuffix - String - Optional. It is used only if we have several secrets in the same deployment. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.secrets.name" -}} -{{- $name := (include "common.names.fullname" .context) -}} - -{{- if .defaultNameSuffix -}} -{{- $name = printf "%s-%s" $name .defaultNameSuffix | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{- with .existingSecret -}} -{{- if not (typeIs "string" .) -}} -{{- with .name -}} -{{- $name = . -}} -{{- end -}} -{{- else -}} -{{- $name = . -}} -{{- end -}} -{{- end -}} - -{{- printf "%s" $name -}} -{{- end -}} - -{{/* -Generate secret key. - -Usage: -{{ include "common.secrets.key" (dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName") }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret - - key - String - Required. Name of the key in the secret. -*/}} -{{- define "common.secrets.key" -}} -{{- $key := .key -}} - -{{- if .existingSecret -}} - {{- if not (typeIs "string" .existingSecret) -}} - {{- if .existingSecret.keyMapping -}} - {{- $key = index .existingSecret.keyMapping $.key -}} - {{- end -}} - {{- end }} -{{- end -}} - -{{- printf "%s" $key -}} -{{- end -}} - -{{/* -Generate secret password or retrieve one if already created. - -Usage: -{{ include "common.secrets.passwords.manage" (dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - key - String - Required - Name of the key in the secret. - - providedValues - List - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. - - length - int - Optional - Length of the generated random password. - - strong - Boolean - Optional - Whether to add symbols to the generated random password. - - chartName - String - Optional - Name of the chart used when said chart is deployed as a subchart. - - context - Context - Required - Parent context. -*/}} -{{- define "common.secrets.passwords.manage" -}} - -{{- $password := "" }} -{{- $subchart := "" }} -{{- $chartName := default "" .chartName }} -{{- $passwordLength := default 10 .length }} -{{- $providedPasswordKey := include "common.utils.getKeyFromList" (dict "keys" .providedValues "context" $.context) }} -{{- $providedPasswordValue := include "common.utils.getValueFromKey" (dict "key" $providedPasswordKey "context" $.context) }} -{{- $secret := (lookup "v1" "Secret" $.context.Release.Namespace .secret) }} -{{- if $secret }} - {{- if index $secret.data .key }} - {{- $password = index $secret.data .key }} - {{- end -}} -{{- else if $providedPasswordValue }} - {{- $password = $providedPasswordValue | toString | b64enc | quote }} -{{- else }} - - {{- if .context.Values.enabled }} - {{- $subchart = $chartName }} - {{- end -}} - - {{- $requiredPassword := dict "valueKey" $providedPasswordKey "secret" .secret "field" .key "subchart" $subchart "context" $.context -}} - {{- $requiredPasswordError := include "common.validations.values.single.empty" $requiredPassword -}} - {{- $passwordValidationErrors := list $requiredPasswordError -}} - {{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordValidationErrors "context" $.context) -}} - - {{- if .strong }} - {{- $subStr := list (lower (randAlpha 1)) (randNumeric 1) (upper (randAlpha 1)) | join "_" }} - {{- $password = randAscii $passwordLength }} - {{- $password = regexReplaceAllLiteral "\\W" $password "@" | substr 5 $passwordLength }} - {{- $password = printf "%s%s" $subStr $password | toString | shuffle | b64enc | quote }} - {{- else }} - {{- $password = randAlphaNum $passwordLength | b64enc | quote }} - {{- end }} -{{- end -}} -{{- printf "%s" $password -}} -{{- end -}} - -{{/* -Returns whether a previous generated secret already exists - -Usage: -{{ include "common.secrets.exists" (dict "secret" "secret-name" "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - context - Context - Required - Parent context. -*/}} -{{- define "common.secrets.exists" -}} -{{- $secret := (lookup "v1" "Secret" $.context.Release.Namespace .secret) }} -{{- if $secret }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_storage.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_storage.tpl deleted file mode 100644 index 60e2a844f6..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_storage.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper Storage Class -{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }} -*/}} -{{- define "common.storage.class" -}} - -{{- $storageClass := .persistence.storageClass -}} -{{- if .global -}} - {{- if .global.storageClass -}} - {{- $storageClass = .global.storageClass -}} - {{- end -}} -{{- end -}} - -{{- if $storageClass -}} - {{- if (eq "-" $storageClass) -}} - {{- printf "storageClassName: \"\"" -}} - {{- else }} - {{- printf "storageClassName: %s" $storageClass -}} - {{- end -}} -{{- end -}} - -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_tplvalues.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_tplvalues.tpl deleted file mode 100644 index 2db166851b..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_tplvalues.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Renders a value that contains template. -Usage: -{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $) }} -*/}} -{{- define "common.tplvalues.render" -}} - {{- if typeIs "string" .value }} - {{- tpl .value .context }} - {{- else }} - {{- tpl (.value | toYaml) .context }} - {{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_utils.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_utils.tpl deleted file mode 100644 index ea083a249f..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_utils.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Print instructions to get a secret value. -Usage: -{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }} -*/}} -{{- define "common.utils.secret.getvalue" -}} -{{- $varname := include "common.utils.fieldToEnvVar" . -}} -export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 --decode) -{{- end -}} - -{{/* -Build env var name given a field -Usage: -{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }} -*/}} -{{- define "common.utils.fieldToEnvVar" -}} - {{- $fieldNameSplit := splitList "-" .field -}} - {{- $upperCaseFieldNameSplit := list -}} - - {{- range $fieldNameSplit -}} - {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}} - {{- end -}} - - {{ join "_" $upperCaseFieldNameSplit }} -{{- end -}} - -{{/* -Gets a value from .Values given -Usage: -{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }} -*/}} -{{- define "common.utils.getValueFromKey" -}} -{{- $splitKey := splitList "." .key -}} -{{- $value := "" -}} -{{- $latestObj := $.context.Values -}} -{{- range $splitKey -}} - {{- if not $latestObj -}} - {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}} - {{- end -}} - {{- $value = ( index $latestObj . ) -}} - {{- $latestObj = $value -}} -{{- end -}} -{{- printf "%v" (default "" $value) -}} -{{- end -}} - -{{/* -Returns first .Values key with a defined value or first of the list if all non-defined -Usage: -{{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }} -*/}} -{{- define "common.utils.getKeyFromList" -}} -{{- $key := first .keys -}} -{{- $reverseKeys := reverse .keys }} -{{- range $reverseKeys }} - {{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }} - {{- if $value -}} - {{- $key = . }} - {{- end -}} -{{- end -}} -{{- printf "%s" $key -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_warnings.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_warnings.tpl deleted file mode 100644 index ae10fa41ee..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/_warnings.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Warning about using rolling tag. -Usage: -{{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} -*/}} -{{- define "common.warnings.rollingTag" -}} - -{{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} -WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. -+info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ -{{- end }} - -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl deleted file mode 100644 index 8679ddffb1..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl +++ /dev/null @@ -1,72 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate Cassandra required passwords are not empty. - -Usage: -{{ include "common.validations.values.cassandra.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where Cassandra values are stored, e.g: "cassandra-passwords-secret" - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.cassandra.passwords" -}} - {{- $existingSecret := include "common.cassandra.values.existingSecret" . -}} - {{- $enabled := include "common.cassandra.values.enabled" . -}} - {{- $dbUserPrefix := include "common.cassandra.values.key.dbUser" . -}} - {{- $valueKeyPassword := printf "%s.password" $dbUserPrefix -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "cassandra-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.cassandra.values.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.cassandra.dbUser.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.dbUser.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled cassandra. - -Usage: -{{ include "common.cassandra.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.cassandra.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.cassandra.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key dbUser - -Usage: -{{ include "common.cassandra.values.key.dbUser" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.key.dbUser" -}} - {{- if .subchart -}} - cassandra.dbUser - {{- else -}} - dbUser - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl deleted file mode 100644 index bb5ed7253d..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl +++ /dev/null @@ -1,103 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate MariaDB required passwords are not empty. - -Usage: -{{ include "common.validations.values.mariadb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where MariaDB values are stored, e.g: "mysql-passwords-secret" - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.mariadb.passwords" -}} - {{- $existingSecret := include "common.mariadb.values.auth.existingSecret" . -}} - {{- $enabled := include "common.mariadb.values.enabled" . -}} - {{- $architecture := include "common.mariadb.values.architecture" . -}} - {{- $authPrefix := include "common.mariadb.values.key.auth" . -}} - {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} - {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} - {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} - {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mariadb-root-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} - - {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} - {{- if not (empty $valueUsername) -}} - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mariadb-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - {{- end -}} - - {{- if (eq $architecture "replication") -}} - {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mariadb-replication-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mariadb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mariadb. - -Usage: -{{ include "common.mariadb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mariadb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mariadb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mariadb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mariadb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.key.auth" -}} - {{- if .subchart -}} - mariadb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl deleted file mode 100644 index 1e5bba981d..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl +++ /dev/null @@ -1,108 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate MongoDB® required passwords are not empty. - -Usage: -{{ include "common.validations.values.mongodb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where MongoDB® values are stored, e.g: "mongodb-passwords-secret" - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.mongodb.passwords" -}} - {{- $existingSecret := include "common.mongodb.values.auth.existingSecret" . -}} - {{- $enabled := include "common.mongodb.values.enabled" . -}} - {{- $authPrefix := include "common.mongodb.values.key.auth" . -}} - {{- $architecture := include "common.mongodb.values.architecture" . -}} - {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} - {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} - {{- $valueKeyDatabase := printf "%s.database" $authPrefix -}} - {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} - {{- $valueKeyReplicaSetKey := printf "%s.replicaSetKey" $authPrefix -}} - {{- $valueKeyAuthEnabled := printf "%s.enabled" $authPrefix -}} - - {{- $authEnabled := include "common.utils.getValueFromKey" (dict "key" $valueKeyAuthEnabled "context" .context) -}} - - {{- if and (not $existingSecret) (eq $enabled "true") (eq $authEnabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mongodb-root-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} - - {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} - {{- $valueDatabase := include "common.utils.getValueFromKey" (dict "key" $valueKeyDatabase "context" .context) }} - {{- if and $valueUsername $valueDatabase -}} - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mongodb-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - {{- end -}} - - {{- if (eq $architecture "replicaset") -}} - {{- $requiredReplicaSetKey := dict "valueKey" $valueKeyReplicaSetKey "secret" .secret "field" "mongodb-replica-set-key" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredReplicaSetKey -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mongodb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDb is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mongodb. - -Usage: -{{ include "common.mongodb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mongodb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mongodb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mongodb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.key.auth" -}} - {{- if .subchart -}} - mongodb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mongodb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl deleted file mode 100644 index 992bcd3908..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl +++ /dev/null @@ -1,131 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate PostgreSQL required passwords are not empty. - -Usage: -{{ include "common.validations.values.postgresql.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where postgresql values are stored, e.g: "postgresql-passwords-secret" - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.postgresql.passwords" -}} - {{- $existingSecret := include "common.postgresql.values.existingSecret" . -}} - {{- $enabled := include "common.postgresql.values.enabled" . -}} - {{- $valueKeyPostgresqlPassword := include "common.postgresql.values.key.postgressPassword" . -}} - {{- $valueKeyPostgresqlReplicationEnabled := include "common.postgresql.values.key.replicationPassword" . -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredPostgresqlPassword := dict "valueKey" $valueKeyPostgresqlPassword "secret" .secret "field" "postgresql-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlPassword -}} - - {{- $enabledReplication := include "common.postgresql.values.enabled.replication" . -}} - {{- if (eq $enabledReplication "true") -}} - {{- $requiredPostgresqlReplicationPassword := dict "valueKey" $valueKeyPostgresqlReplicationEnabled "secret" .secret "field" "postgresql-replication-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlReplicationPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to decide whether evaluate global values. - -Usage: -{{ include "common.postgresql.values.use.global" (dict "key" "key-of-global" "context" $) }} -Params: - - key - String - Required. Field to be evaluated within global, e.g: "existingSecret" -*/}} -{{- define "common.postgresql.values.use.global" -}} - {{- if .context.Values.global -}} - {{- if .context.Values.global.postgresql -}} - {{- index .context.Values.global.postgresql .key | quote -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.postgresql.values.existingSecret" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.existingSecret" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "existingSecret" "context" .context) -}} - - {{- if .subchart -}} - {{- default (.context.Values.postgresql.existingSecret | quote) $globalValue -}} - {{- else -}} - {{- default (.context.Values.existingSecret | quote) $globalValue -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled postgresql. - -Usage: -{{ include "common.postgresql.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key postgressPassword. - -Usage: -{{ include "common.postgresql.values.key.postgressPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.postgressPassword" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "postgresqlUsername" "context" .context) -}} - - {{- if not $globalValue -}} - {{- if .subchart -}} - postgresql.postgresqlPassword - {{- else -}} - postgresqlPassword - {{- end -}} - {{- else -}} - global.postgresql.postgresqlPassword - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled.replication. - -Usage: -{{ include "common.postgresql.values.enabled.replication" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.enabled.replication" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.replication.enabled -}} - {{- else -}} - {{- printf "%v" .context.Values.replication.enabled -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key replication.password. - -Usage: -{{ include "common.postgresql.values.key.replicationPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.replicationPassword" -}} - {{- if .subchart -}} - postgresql.replication.password - {{- else -}} - replication.password - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_redis.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_redis.tpl deleted file mode 100644 index 18d9813c51..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_redis.tpl +++ /dev/null @@ -1,76 +0,0 @@ - -{{/* vim: set filetype=mustache: */}} -{{/* -Validate Redis™ required passwords are not empty. - -Usage: -{{ include "common.validations.values.redis.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where redis values are stored, e.g: "redis-passwords-secret" - - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.redis.passwords" -}} - {{- $enabled := include "common.redis.values.enabled" . -}} - {{- $valueKeyPrefix := include "common.redis.values.keys.prefix" . -}} - {{- $standarizedVersion := include "common.redis.values.standarized.version" . }} - - {{- $existingSecret := ternary (printf "%s%s" $valueKeyPrefix "auth.existingSecret") (printf "%s%s" $valueKeyPrefix "existingSecret") (eq $standarizedVersion "true") }} - {{- $existingSecretValue := include "common.utils.getValueFromKey" (dict "key" $existingSecret "context" .context) }} - - {{- $valueKeyRedisPassword := ternary (printf "%s%s" $valueKeyPrefix "auth.password") (printf "%s%s" $valueKeyPrefix "password") (eq $standarizedVersion "true") }} - {{- $valueKeyRedisUseAuth := ternary (printf "%s%s" $valueKeyPrefix "auth.enabled") (printf "%s%s" $valueKeyPrefix "usePassword") (eq $standarizedVersion "true") }} - - {{- if and (not $existingSecretValue) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $useAuth := include "common.utils.getValueFromKey" (dict "key" $valueKeyRedisUseAuth "context" .context) -}} - {{- if eq $useAuth "true" -}} - {{- $requiredRedisPassword := dict "valueKey" $valueKeyRedisPassword "secret" .secret "field" "redis-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRedisPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled redis. - -Usage: -{{ include "common.redis.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.redis.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.redis.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right prefix path for the values - -Usage: -{{ include "common.redis.values.key.prefix" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false -*/}} -{{- define "common.redis.values.keys.prefix" -}} - {{- if .subchart -}}redis.{{- else -}}{{- end -}} -{{- end -}} - -{{/* -Checks whether the redis chart's includes the standarizations (version >= 14) - -Usage: -{{ include "common.redis.values.standarized.version" (dict "context" $) }} -*/}} -{{- define "common.redis.values.standarized.version" -}} - - {{- $standarizedAuth := printf "%s%s" (include "common.redis.values.keys.prefix" .) "auth" -}} - {{- $standarizedAuthValues := include "common.utils.getValueFromKey" (dict "key" $standarizedAuth "context" .context) }} - - {{- if $standarizedAuthValues -}} - {{- true -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_validations.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_validations.tpl deleted file mode 100644 index 9a814cf40d..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/templates/validations/_validations.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate values must not be empty. - -Usage: -{{- $validateValueConf00 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-01") -}} -{{ include "common.validations.values.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" -*/}} -{{- define "common.validations.values.multiple.empty" -}} - {{- range .required -}} - {{- include "common.validations.values.single.empty" (dict "valueKey" .valueKey "secret" .secret "field" .field "context" $.context) -}} - {{- end -}} -{{- end -}} - -{{/* -Validate a value must not be empty. - -Usage: -{{ include "common.validations.value.empty" (dict "valueKey" "mariadb.password" "secret" "secretName" "field" "my-password" "subchart" "subchart" "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" - - subchart - String - Optional - Name of the subchart that the validated password is part of. -*/}} -{{- define "common.validations.values.single.empty" -}} - {{- $value := include "common.utils.getValueFromKey" (dict "key" .valueKey "context" .context) }} - {{- $subchart := ternary "" (printf "%s." .subchart) (empty .subchart) }} - - {{- if not $value -}} - {{- $varname := "my-value" -}} - {{- $getCurrentValue := "" -}} - {{- if and .secret .field -}} - {{- $varname = include "common.utils.fieldToEnvVar" . -}} - {{- $getCurrentValue = printf " To get the current value:\n\n %s\n" (include "common.utils.secret.getvalue" .) -}} - {{- end -}} - {{- printf "\n '%s' must not be empty, please add '--set %s%s=$%s' to the command.%s" .valueKey $subchart .valueKey $varname $getCurrentValue -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/values.yaml b/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/values.yaml deleted file mode 100644 index f2df68e5e6..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/charts/common/values.yaml +++ /dev/null @@ -1,5 +0,0 @@ -## bitnami/common -## It is required by CI/CD tools and processes. -## @skip exampleValue -## -exampleValue: common-chart diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_ingress.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_ingress.tpl deleted file mode 100644 index e1b16d9284..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_ingress.tpl +++ /dev/null @@ -1,101 +0,0 @@ -{{/* -include "ingress" (dict "ingressName" "myingress" "ingress" path.to.ingress "serviceName" "the-service" "servicePort" 9090 "context" $) - -ingress: - enabled: true - certManager: false - pathType: ImplementationSpecific - apiVersion: "" - hostname: theservice.local - path: / - annotations: {} - tls: false - extraHosts: [] - extraPaths: [] - extraTls: [] - secrets: [] -*/}} -{{- define "lib.ingress" -}} -{{- $ctx := .context -}} -{{- $ingressName := .ingressName -}} -{{- $serviceName := .serviceName -}} -{{- $servicePort := .servicePort -}} -{{- $extraPaths := .ingress.extraPaths -}} -{{- if .ingress.enabled -}} -apiVersion: {{ include "common.capabilities.ingress.apiVersion" $ctx }} -kind: Ingress -metadata: - name: {{ $ingressName }} - namespace: {{ $ctx.Release.Namespace | quote }} - labels: {{- include "common.labels.standard" $ctx | nindent 4 }} - {{- if $ctx.Values.commonLabels }} - {{- include "common.tplvalues.render" ( dict "value" $ctx.Values.commonLabels "context" $ctx ) | nindent 4 }} - {{- end }} - annotations: - {{- if .ingress.certManager }} - kubernetes.io/tls-acme: "true" - {{- end }} - {{- if .ingress.annotations }} - {{- include "common.tplvalues.render" ( dict "value" .ingress.annotations "context" $ctx ) | nindent 4 }} - {{- end }} - {{- if $ctx.Values.commonAnnotations }} - {{- include "common.tplvalues.render" ( dict "value" $ctx.Values.commonAnnotations "context" $ctx ) | nindent 4 }} - {{- end }} -spec: - rules: - {{- if .ingress.hostname }} - - host: {{ .ingress.hostname }} - http: - paths: - - path: {{ .ingress.path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .ingress.pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- include "lib.safeToYaml" $extraPaths | nindent 10 }} - {{- end }} - {{- range .ingress.extraHosts }} - - host: {{ .name | quote }} - http: - paths: - - path: {{ default "/" .path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- include "lib.safeToYaml" $extraPaths | nindent 10 }} - {{- end }} - {{/* .ingress.hosts is deprecated */}} - {{- range .ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- if .path }} - - path: {{ default "/" .path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- end }} - {{- range .paths }} - - path: {{ . | quote }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: ImplementationSpecific - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- end }} - {{- end }} - {{/* .ingress.hosts is deprecated */}} - {{- if or .ingress.tls .ingress.extraTls }} - tls: - {{- if .ingress.tls }} - - hosts: - - {{ .ingress.hostname }} - secretName: {{ printf "%s-tls" .ingress.hostname }} - {{- end }} - {{- if .ingress.extraTls }} - {{- include "common.tplvalues.render" ( dict "value" .ingress.extraTls "context" $ctx ) | nindent 4 }} - {{- end }} - {{- end }} -{{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib.tpl deleted file mode 100644 index deaa325c42..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib.tpl +++ /dev/null @@ -1,51 +0,0 @@ - -{{/* -Call a template function in the context of a sub-chart, as opposed to the -current context of the caller -{{ include "lib.call-nested" (list . "subchart" "template_name") }} -*/}} -{{- define "lib.call-nested" }} -{{- $dot := index . 0 }} -{{- $subchart := index . 1 | splitList "." }} -{{- $template := index . 2 }} -{{- $values := $dot.Values }} -{{- range $subchart }} -{{- $values = index $values . }} -{{- end }} -{{- include $template (dict "Chart" (dict "Name" (last $subchart)) "Values" $values "Release" $dot.Release "Capabilities" $dot.Capabilities) }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "lib.labels" -}} -helm.sh/chart: {{ include "common.names.chart" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{ include "common.labels.matchLabels" . }} -{{- end -}} - -{{/* -Create the name of the service account to use -*/}} -{{- define "lib.serviceAccountName" -}} -{{- if .Values.serviceAccount.create -}} - {{ default (include "common.names.fullname" .) .Values.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.serviceAccount.name }} -{{- end -}} -{{- end -}} - - -{{/* -Given a variable, if it is not false, output as Yaml - -include "lib.safeToYaml" .Values.something -*/}} -{{- define "lib.safeToYaml" -}} -{{- if . -}} -{{ toYaml . }} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_image.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_image.tpl deleted file mode 100644 index 77ed723b46..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_image.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* -Given a setup like the following: - -# global and on down are optional -global: - image: - registry: my-registry.com - tag: latest - -# This is the imageRoot -somecomponent: - image: - registry: my-other-registry.com - tag: 1.0.0 - repository: bobs/coolthing - -*/}} -{{/* -{{ include "utils.image.url" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "lib.image.url" -}} -{{- $globalRegistryName := "index.docker.io" -}} -{{- $globalTag := "latest" -}} -{{- if .global -}} - {{- if .global.image -}} - {{- if .global.image.registry -}} - {{- $globalRegistryName = .global.image.registry -}} - {{- end -}} - {{- if .global.image.tag -}} - {{- $globalTag = .global.image.tag -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{- $repository := .imageRoot.repository -}} -{{- $registry := default $globalRegistryName .imageRoot.registry -}} -{{- $tag := default $globalTag .imageRoot.tag -}} -{{- printf "%s/%s:%s" $registry $repository $tag -}} -{{- end -}} - -{{/* -{{ include "utils.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "lib.image" -}} -image: {{ include "lib.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_volumes.tpl b/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_volumes.tpl deleted file mode 100644 index 93f1139b1b..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/templates/_lib_volumes.tpl +++ /dev/null @@ -1,34 +0,0 @@ - - -{{/* -given a variable list, create a list of volumes - -extraVolumes: - - name: pv-data - persistentVolumeClaim: - claimName: pvc-persistent-cfg - - name: scratch - emptyDir: {} - -include "lib.volumes" .Values.extraVolumes - -*/}} -{{- define "lib.volumes" -}} -{{ include "lib.safeToYaml" . }} -{{- end -}} - -{{/* -given a variable list, create a list of volumeMounts - -extraVolumeMounts: - - name: pv-data - mountPath: /data - - name: scratch - mountPath: /scratch - -include "lib.volumeMounts" .Values.extraVolumeMounts - -*/}} -{{- define "lib.volumeMounts" -}} -{{ include "lib.safeToYaml" . }} -{{- end -}} diff --git a/charts/btp/sextant/2.2.21/charts/standard-defs/values.yaml b/charts/btp/sextant/2.2.21/charts/standard-defs/values.yaml deleted file mode 100644 index 1ff6597693..0000000000 --- a/charts/btp/sextant/2.2.21/charts/standard-defs/values.yaml +++ /dev/null @@ -1 +0,0 @@ -exampleValue: example diff --git a/charts/btp/sextant/2.2.21/questions.yaml b/charts/btp/sextant/2.2.21/questions.yaml deleted file mode 100644 index e933cb357f..0000000000 --- a/charts/btp/sextant/2.2.21/questions.yaml +++ /dev/null @@ -1,143 +0,0 @@ ---- -# Rancher marketplace specific question file, source: helm-charts/sextant/rancher-marketplace-questions.yaml -questions: -# User Credentials - - variable: imagePullSecrets.createSecret.registryUser - default: "" - required: true - type: string - label: Username - description: Your username for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - - variable: imagePullSecrets.createSecret.registryPassword - default: "" - required: true - type: password - label: Password - description: Your password for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - # Ingress Settings - - variable: ingress.enabled - default: "false" - required: true - type: boolean - label: Enable Sextant Ingress - description: Enable an ingress for Sextant - group: "Ingress Settings" - show_subquestion_if: true - subquestions: - - variable: ingress.hostname - default: "" - required: false - type: string - label: Ingress hostname - description: Primary hostname for the ingress - group: "Ingress Settings" - - variable: ingress.path - default: "" - required: false - type: string - label: Hostname Path - description: Path for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.pathType - default: "" - required: false - type: string - label: Hostname PathType - description: PathType for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.certManager - default: "false" - required: false - type: boolean - label: Enable the acme certmanager for this ingress - description: Enable the acme certmanager for this ingress - group: "Ingress Settings" - - variable: ingress.annotations - default: "" - required: false - type: string - label: Ingress annotations - description: Annotations for the ingress - group: "Ingress Settings" - - variable: ingress.tls - default: false - required: false - type: boolean - label: Ingress TLS - description: Enable tls on the ingress with a secrete at hostname-tls - group: "Ingress Settings" - # Sextant database settings - - variable: postgres.enabled - default: "true" - required: true - type: boolean - label: Use internal postgres database - description: Create an internal postgres instance for Sextant, or if not supply details of an external postgres - group: "Database settings" - show_subquestion_if: false - subquestions: - - variable: postgres.user - default: "postgres" - required: true - type: string - label: Postgres user - description: User for the postgres database - group: "Database settings" - - variable: postgres.host - default: "localhost" - required: true - type: string - label: Postgres host - description: Host for the postgres database - group: "Database settings" - - variable: postgres.database - default: "postgres" - required: true - type: string - label: Database name - description: Database name for the postgres database - group: "Database settings" - - variable: postgres.port - default: "5432" - required: true - type: int - label: Postgres port - description: Port for the postgres database - group: "Database settings" - - variable: postgres.password - default: "postgres" - required: true - type: password - label: Postgres password - description: Password for the postgres database - group: "Database settings" - - variable: edition - default: "community" - required: true - type: string - label: Sextant edition - description: The Sextant edition to install - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.enabled - default: "true" - type: boolean - required: true - label: Create image pull secret - description: Automatically create an image pull secret - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.registryUrl - default: "dev.catenasys.com:8084" - type: string - required: true - label: BTP image registry URL - description: Set the default image registry URL - group: "Advanced settings" - - variable: postgres.persistence.enabled - default: "true" - type: boolean - required: true - label: Postgres persistance - description: Allocate a PVC for the internal postgres instance - group: "Advanced settings" \ No newline at end of file diff --git a/charts/btp/sextant/2.2.21/rancher-marketplace-questions.yaml b/charts/btp/sextant/2.2.21/rancher-marketplace-questions.yaml deleted file mode 100644 index 4d2acd85f7..0000000000 --- a/charts/btp/sextant/2.2.21/rancher-marketplace-questions.yaml +++ /dev/null @@ -1,146 +0,0 @@ -## -## This is the Rancher marketplace specific overlay file used at rancher/partner-charts/packages/btp/sextant/overlay/questions.yaml -## ---- -# Rancher marketplace specific question file, source: helm-charts/sextant/rancher-marketplace-questions.yaml -questions: -# User Credentials - - variable: imagePullSecrets.createSecret.registryUser - default: "" - required: true - type: string - label: Username - description: Your username for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - - variable: imagePullSecrets.createSecret.registryPassword - default: "" - required: true - type: password - label: Password - description: Your password for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - # Ingress Settings - - variable: ingress.enabled - default: "false" - required: true - type: boolean - label: Enable Sextant Ingress - description: Enable an ingress for Sextant - group: "Ingress Settings" - show_subquestion_if: true - subquestions: - - variable: ingress.hostname - default: "" - required: false - type: string - label: Ingress hostname - description: Primary hostname for the ingress - group: "Ingress Settings" - - variable: ingress.path - default: "" - required: false - type: string - label: Hostname Path - description: Path for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.pathType - default: "" - required: false - type: string - label: Hostname PathType - description: PathType for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.certManager - default: "false" - required: false - type: boolean - label: Enable the acme certmanager for this ingress - description: Enable the acme certmanager for this ingress - group: "Ingress Settings" - - variable: ingress.annotations - default: "" - required: false - type: string - label: Ingress annotations - description: Annotations for the ingress - group: "Ingress Settings" - - variable: ingress.tls - default: false - required: false - type: boolean - label: Ingress TLS - description: Enable tls on the ingress with a secrete at hostname-tls - group: "Ingress Settings" - # Sextant database settings - - variable: postgres.enabled - default: "true" - required: true - type: boolean - label: Use internal postgres database - description: Create an internal postgres instance for Sextant, or if not supply details of an external postgres - group: "Database settings" - show_subquestion_if: false - subquestions: - - variable: postgres.user - default: "postgres" - required: true - type: string - label: Postgres user - description: User for the postgres database - group: "Database settings" - - variable: postgres.host - default: "localhost" - required: true - type: string - label: Postgres host - description: Host for the postgres database - group: "Database settings" - - variable: postgres.database - default: "postgres" - required: true - type: string - label: Database name - description: Database name for the postgres database - group: "Database settings" - - variable: postgres.port - default: "5432" - required: true - type: int - label: Postgres port - description: Port for the postgres database - group: "Database settings" - - variable: postgres.password - default: "postgres" - required: true - type: password - label: Postgres password - description: Password for the postgres database - group: "Database settings" - - variable: edition - default: "community" - required: true - type: string - label: Sextant edition - description: The sextant edition to install - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.enabled - default: "true" - type: boolean - required: true - label: Create image pull secret - description: Automatically create an image pull secret - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.registryUrl - default: "dev.catenasys.com:8084" - type: string - required: true - label: BTP image registry URL - description: Set the default image registry URL - group: "Advanced settings" - - variable: postgres.persistence.enabled - default: "true" - type: boolean - required: true - label: Postgres persistance - description: Allocate a PVC for the internal postgres instance - group: "Advanced settings" diff --git a/charts/btp/sextant/2.2.21/rancher-marketplace-values.yaml b/charts/btp/sextant/2.2.21/rancher-marketplace-values.yaml deleted file mode 100644 index 795efe889d..0000000000 --- a/charts/btp/sextant/2.2.21/rancher-marketplace-values.yaml +++ /dev/null @@ -1,235 +0,0 @@ -## -## This is the Rancher marketplace specific values file used at rancher/partner-charts/packages/btp/sextant/overlay/values.yaml -## -## The following values have been changed from default: -## - edition: community -## - imagePullSecrets.enabled: true -## - imagePullSecrets.createSecret.enabled: true -## - imagePullSecrets.createSecret.registryUrl: "dev.catenasys.com:8084" -## - postgres.persistence.enabled: true ---- -# Rancher marketplace specific values file, source: helm-charts/sextant/rancher-marketplace-values.yaml -edition: community - -editionImages: - ui: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-standard - tag: BTP2.1.0-2.1.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-premium - tag: BTP2.1.0-2.1.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-enterprise - tag: BTP2.1.0-2.1.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-enterprise - tag: BTP2.1.0-2.2.1 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-community - tag: BTP2.1.0 - api: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-standard - tag: BTP2.1.0-2.2.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-premium - tag: BTP2.1.0-2.2.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-enterprise - tag: BTP2.1.0-2.2.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-enterprise - tag: BTP2.1.0-2.3.3 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-community - tag: BTP2.1.0 - -deployment: - name: sextant - namespace: default - -imagePullSecrets: - ## @md | `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | - enabled: true - ## @md | `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | - value: [] - - createSecret: - ## @md | `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | - enabled: true - ## @md | `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | - registryUrl: "dev.catenasys.com:8084" - ## @md | `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | - registryUser: - ## @md | `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | - registryPassword: - -## @md | `replicaCount` | number of Sextant replicas to run | int | 1 | -replicaCount: 1 - -## @md | `logging` | default logging level | string | "1" | -logging: "1" - -ui: - ## @md | `ui.env` | environment variables to set in the UI container | map | nil | - env: - ## @md | `ui.image` | UI image settings | map | N/A | - image: - registry: - ## @md | `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | - repository: blockchaintp/sextant - ## @md | `ui.image.tag` | UI image tag | string | "latest" | - tag: latest - ## @md | `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `ui.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "400Mi" - requests: - cpu: "20m" - memory: "40Mi" -api: - ## @md | `api.env` | API environment settings | map | N/A | - env: - ## @md | `api.image` | API image settings | map | N/A | - image: - registry: - ## @md | `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | - repository: blockchaintp/sextant-api - ## @md | `api.image.tag` | API image tag | string | "latest" | - tag: latest - ## @md | `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `api.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "300Mi" - requests: - cpu: "20m" - memory: "80Mi" -noxy: - ## @md | `noxy.env` | Noxy environment variables | map | N/A | - env: - ## @md | `noxy.image` | noxy image settings | map | N/A | - image: - registry: - ## @md | `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | - repository: blockchaintp/noxy - ## @md | `noxy.image.tag` | noxy image tag | string | "latest" | - tag: BTP2.1.0 - ## @md | `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `noxy.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "60Mi" - requests: - cpu: "20m" - memory: "30Mi" - - -serviceAccount: - ## @md | `serviceAccount.create` | if true create the service account | boolean | true | - create: true - ## @md | `serviceAccount.name` | name of the service account for sextant | string | nil | - name: - -postgres: - # if enabled we allocate a postgres database here - ## @md | `postgres.enabled` | if true create an internal postgres instance | boolean | true | - enabled: true - ## @md | `postgres.env` | postgres environment variables | map | N/A | - env: - image: - registry: - ## @md | `postgres.image.repository` | postgres image repository | string | "postgres" | - repository: postgres - ## @md | `postgres.image.tag` | postgres image tag | string | "11" | - tag: "11" - ## @md | `postgres.user` | user for the postgres database | string | "postgres" | - user: postgres - ## @md | `postgres.host` | host for the postgres database | string | "localhost" | - host: localhost - ## @md | `postgres.database` | database for the postgres database | string | "postgres" | - database: postgres - ## @md | `postgres.port` | port for the postgres database | int | 5432 | - port: 5432 - ## @md | `postgres.password` | password for the postgres database | string | "postgres" | - password: postgres - ## @md | `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | - existingPasswordSecret: - ## @md | `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | - existingPasswordSecretKey: password - ## @md | `postgres.tls` | postgres TLS configuration | string | nil | - tls: - ## @md | `postgres.persistence` | postgres persistence settings | map | N/A | - persistence: - ## @md | `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | - enabled: true - ## @md | `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | - annotations: {} - ## @md | `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | - accessModes: - - "ReadWriteOnce" - ## if set to "-" (empty string) then storageClassName: "", which disables dynamic provisioning - ## if undefined or set to null, no storageClassName is set and the clusters default StorageClass will be used - ## if a storageClass name is set then storageClassName: "setValue" - ## @md | `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | - storageClass: - ## @md | `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | - size: "40Gi" - ## @md | `postgres.resources` | UI resources | map | nil | - resources: - -service: - ## @md | `service.type` | Sextant service type | string | ClusterIP | - type: ClusterIP - ## @md | `service.port` | Sextant service port | int | 8000 | - port: 8000 - - -ingress: - ## @md | `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | - apiVersion: "" - ## @md | `ingress.enabled` | true to enable the ingress to the main service rest-api | false | - enabled: false - ## @md | `ingress.certManager` | true to enable the acme certmanager for this ingress | false | - certManager: false - ## @md | `ingress.hostname` | primary hostname for the ingress | false | - hostname: - ## @md | `ingress.path` | path for the ingress's primary hostname | / | - path: / - ## @md | `ingress.pathType` | pathType for the ingress's primary hostname | nil | - pathType: - ## @md | `ingress.annotations` | annotations for the ingress | {} | - annotations: {} - ## @md | `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | - tls: false - ## @md | `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | - extraHosts: [] - ## @md | `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | - extraPaths: [] - ## @md | `ingress.extraTls` | list of extra tls entries | [] | - extraTls: [] - ## @md | `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | - hosts: [] - -## @md | `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -extraVolumes: [] -## @md | `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | -extraVolumeMounts: [] diff --git a/charts/btp/sextant/2.2.21/sextant/details.yaml b/charts/btp/sextant/2.2.21/sextant/details.yaml deleted file mode 100644 index 44a8c2c7a8..0000000000 --- a/charts/btp/sextant/2.2.21/sextant/details.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v2 -name: sextant -description: Sextant - -# Replaces the index.js in the deployment templates directory, sawtooth/index -# The deploymentType and deploymentVersion help build the object structure -deploymentType: sextant -deploymentVersion: 2.1 - -# absolute path to form.js -form: sextant/sextant/form.js - -# absolute path to summary.jst -summary: sextant/sextant/summary.js - -# paths to be used in the getField function -namePath: deployment.name -namespacePath: deployment.namespace - -# additional fields for the button -# form: -title: Sextant -sextantVersion: 2.1 -buttonIcon: /sextant-detailed.png -features: - -# documentation pull down mark down diff --git a/charts/btp/sextant/2.2.21/sextant/form.js b/charts/btp/sextant/2.2.21/sextant/form.js deleted file mode 100644 index c80d1995c0..0000000000 --- a/charts/btp/sextant/2.2.21/sextant/form.js +++ /dev/null @@ -1,205 +0,0 @@ -const options = require('./options') -const validators = require('./validators') -// `^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*` -const form = [ - - 'Sextant Deployment', - [ - { - id: 'deployment.name', - title: 'Deployment Name', - helperText: 'The name of the deployment', - component: 'text', - editable: { - new: true, - }, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }, - { - id: 'deployment.namespace', - title: 'Kubernetes Namespace', - helperText: 'The Kubernetes namespace', - component: 'text', - editable: { - new: true, - }, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }, - - ], - - { - id: 'postgres.enabled', - title: 'Postgres Enabled', - helperText: - 'If enabled, a local postgres database instance will be created', - component: 'radio', - default: false, - dataType: 'boolean', - editable: { - new: true, - }, - row: true, - options: options.activated, - validate: { - type: 'string', - methods: [['required', 'Required']], - }, - }, - { - id: 'postgres.persistence.enabled', - title: 'Postgres Persistence', - helperText: - 'If enabled data will be stored on PersistentVolumeClaims ', - component: 'radio', - default: false, - dataType: 'boolean', - editable: { - new: true, - }, - row: true, - options: options.activated, - linked: { - linkedId: 'postgres.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [['required', 'Required']], - }, - }, - { - id: 'postgres.persistence.storageClass', - title: 'Postgres StorageClass', - helperText: 'The name of the StorageClass for the PersistentVolumeClaims', - component: 'text', - default: null, - editable: { - new: true, - }, - linked: { - linkedId: 'postgres.persistence.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.dns1123, - ], - }, - }, - - 'Postgres Credentials', - { - id: 'passwordOrSecret', - title: 'Password Or Secret', - helperText: 'Choose whether to enter a database password or the name of a secret', - component: 'radio', - default: true, - dataType: 'boolean', - row: true, - options: options.passwordOrSecret, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - ], - }, - }, - { - id: 'postgres.password', - title: 'Postgres Password', - helperText: 'The password for the postgres instance', - component: 'text', - default: '', - linked: { - linkedId: 'passwordOrSecret', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.password, - ], - }, - }, - { - id: 'postgres.existingPasswordSecret', - title: 'Postgres Password Secret Name', - helperText: 'The name of a pre-existing secret with a field "password" containing the password of the postgres instance', - component: 'text', - default: '', - linked: { - linkedId: 'passwordOrSecret', - visibilityParameter: 'false', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.password, - ], - }, - }, - - 'Image Pull Secrets', - - { - id: 'imagePullSecrets.enabled', - title: 'Do you need to enable image pull secrets?', - helperText: 'Provide secrets to be injected into the namespace and used to pull images from your secure registry', - component: 'radio', - default: false, - dataType: 'boolean', - row: true, - options: options.yesNo, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - ], - }, - }, { - id: 'imagePullSecrets.value', - title: 'Image Pull Secrets', - helperText: null, - default: null, - linked: { - linkedId: 'imagePullSecrets.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - list: { - mainField: 'name', - schema: [{ - id: 'name', - title: 'Name', - helperText: 'The name of the secret', - component: 'text', - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }], - table: [{ - title: 'Name', - name: 'name', - }], - }, - }, -] - -module.exports = form diff --git a/charts/btp/sextant/2.2.21/sextant/options.js b/charts/btp/sextant/2.2.21/sextant/options.js deleted file mode 100644 index 97b14d7217..0000000000 --- a/charts/btp/sextant/2.2.21/sextant/options.js +++ /dev/null @@ -1,33 +0,0 @@ -const activated = [{ - value: true, - title: 'Enabled', -}, { - value: false, - title: 'Disabled', -}] - -const passwordOrSecret = [ - { - value: true, - title: 'Password', - }, - { - value: false, - title: 'Existing Secret', - }, - -] - -const yesNo = [{ - value: true, - title: 'Yes', -}, { - value: false, - title: 'No', -}] - -module.exports = { - activated, - yesNo, - passwordOrSecret, -} diff --git a/charts/btp/sextant/2.2.21/sextant/summary.js b/charts/btp/sextant/2.2.21/sextant/summary.js deleted file mode 100644 index 1e01e1b84e..0000000000 --- a/charts/btp/sextant/2.2.21/sextant/summary.js +++ /dev/null @@ -1,17 +0,0 @@ -const summary = (values) => { - const { - deployment, - } = values - - return [ - { - title: 'Deployment Name', - value: deployment.name, - }, { - title: 'Namespace', - value: deployment.namespace, - }, - ] -} - -module.exports = summary diff --git a/charts/btp/sextant/2.2.21/sextant/validators.js b/charts/btp/sextant/2.2.21/sextant/validators.js deleted file mode 100644 index b6f87a63db..0000000000 --- a/charts/btp/sextant/2.2.21/sextant/validators.js +++ /dev/null @@ -1,11 +0,0 @@ -const dns1123 = [ - 'matches', ['^[a-z]([-a-z0-9]*[a-z0-9])*$'], - 'a DNS-1123 label must consist of lower case alphanumeric characters or \'-\', and must start and end with an alphanumeric character', -] - -const password = ['matches', '^\\S*$', 'Cannot contain spaces'] - -module.exports = { - dns1123, - password, -} diff --git a/charts/btp/sextant/2.2.21/templates/NOTES.txt b/charts/btp/sextant/2.2.21/templates/NOTES.txt deleted file mode 100644 index a296fc3c04..0000000000 --- a/charts/btp/sextant/2.2.21/templates/NOTES.txt +++ /dev/null @@ -1,27 +0,0 @@ - - - -1. Get the initial Sextant application username and password by running this command - kubectl describe pod/{{ template "common.names.fullname" .}}-0 --namespace {{ .Release.Namespace }} | grep INITIAL_ - -2. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "common.names.fullname" . }}) - export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "common.names.fullname" . }}' - export SERVICE_IP=$(kubectl get svc {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods -l "app.kubernetes.io/name={{ template "common.names.fullname" . }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:80 -{{- end }} diff --git a/charts/btp/sextant/2.2.21/templates/_helpers.tpl b/charts/btp/sextant/2.2.21/templates/_helpers.tpl deleted file mode 100644 index bba7373307..0000000000 --- a/charts/btp/sextant/2.2.21/templates/_helpers.tpl +++ /dev/null @@ -1,100 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Create a random alphanumeric password string. -We append a random number to the string to avoid password validation errors -*/}} -{{- define "sextant.randomPassword" -}} -{{- randAlphaNum 25 -}}{{- randNumeric 1 -}} -{{- end -}} - -{{/* -{{ include "sextant.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global)}} -*/}} -{{- define "sextant.image" -}} -image: {{ include "sextant.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} - -{{/* -{{ include "sextant.image.url" (dict "imageRoot" .Values.api.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global)}} -*/}} -{{- define "sextant.image.url" -}} - {{- $registry := .imageRoot.registry -}} - {{- $repository := .imageRoot.repository -}} - {{- $tag := .imageRoot.tag -}} - {{- if eq .edition "development" -}} - {{- $registry = .imageRoot.registry -}} - {{- $repository = .imageRoot.repository -}} - {{- $tag = .imageRoot.tag -}} - {{- else if eq .edition "aws-standard" -}} - {{- $registry = .editionRoot.awsStandard.registry -}} - {{- $repository = .editionRoot.awsStandard.repository -}} - {{- $tag = .editionRoot.awsStandard.tag -}} - {{- else if eq .edition "aws-premium" -}} - {{- $registry = .editionRoot.awsPremium.registry -}} - {{- $repository = .editionRoot.awsPremium.repository -}} - {{- $tag = .editionRoot.awsPremium.tag -}} - {{- else if eq .edition "aws-enterprise" -}} - {{- $registry = .editionRoot.awsEnterprise.registry -}} - {{- $repository = .editionRoot.awsEnterprise.repository -}} - {{- $tag = .editionRoot.awsEnterprise.tag -}} - {{- else if eq .edition "enterprise" -}} - {{- $registry = .editionRoot.enterprise.registry -}} - {{- $repository = .editionRoot.enterprise.repository -}} - {{- $tag = .editionRoot.enterprise.tag -}} - {{- else if eq .edition "community" -}} - {{- $registry = .editionRoot.community.registry -}} - {{- $repository = .editionRoot.community.repository -}} - {{- $tag = .editionRoot.community.tag -}} - {{- else -}} - {{- $registry = .imageRoot.registry -}} - {{- $repository = .imageRoot.repository -}} - {{- $tag = .imageRoot.tag -}} - {{- end -}} - {{- if $registry -}} - {{- printf "%s/%s:%s" $registry $repository $tag -}} - {{- else -}} - {{- printf "%s:%s" $repository $tag -}} - {{- end -}} -{{- end -}} - -{{/* -Local alternative of lib.image.url until the correct version is stable -{{ include "lib.image.url" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "override.lib.image.url" -}} - {{- $globalRegistryName := "" -}} - {{- $globalTag := "latest" -}} - {{- if .global -}} - {{- if .global.image -}} - {{- if .global.image.registry -}} - {{- $globalRegistryName = .global.image.registry -}} - {{- end -}} - {{- if .global.image.tag -}} - {{- $globalTag = .global.image.tag -}} - {{- end -}} - {{- end -}} - {{- end -}} - {{- $repository := .imageRoot.repository -}} - {{- $registry := default $globalRegistryName .imageRoot.registry -}} - {{- $tag := default $globalTag .imageRoot.tag -}} - {{- if $registry -}} - {{- printf "%s/%s:%s" $registry $repository $tag -}} - {{- else -}} - {{- printf "%s:%s" $repository $tag -}} - {{- end -}} -{{- end -}} - -{{/* -Local alternative of lib.image.url until the correct version is stable -{{ include "lib.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "override.lib.image" -}} -image: {{ include "override.lib.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} - -{{- define "dockerconfigjson" }} -{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imagePullSecrets.createSecret.registryUrl (printf "%s:%s" .Values.imagePullSecrets.createSecret.registryUser .Values.imagePullSecrets.createSecret.registryPassword | b64enc) | b64enc }} -{{- end }} diff --git a/charts/btp/sextant/2.2.21/templates/ingress.yaml b/charts/btp/sextant/2.2.21/templates/ingress.yaml deleted file mode 100644 index 7c709f9c37..0000000000 --- a/charts/btp/sextant/2.2.21/templates/ingress.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -{{- $serviceName := include "common.names.fullname" . -}} -{{- $ingressName := printf "%s" $serviceName -}} -{{- $servicePort := .Values.service.port -}} -{{ include "lib.ingress" (dict "ingressName" $ingressName "ingress" .Values.ingress "serviceName" $serviceName "servicePort" $servicePort "context" $) }} diff --git a/charts/btp/sextant/2.2.21/templates/regsecret.yaml b/charts/btp/sextant/2.2.21/templates/regsecret.yaml deleted file mode 100644 index 5de039f15a..0000000000 --- a/charts/btp/sextant/2.2.21/templates/regsecret.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if .Values.imagePullSecrets.createSecret.enabled }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "common.names.fullname" . }}-btp-lic - labels: {{- include "lib.labels" . | nindent 4 }} - component: sextant -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ template "dockerconfigjson" . }} -{{- end }} diff --git a/charts/btp/sextant/2.2.21/templates/service.yaml b/charts/btp/sextant/2.2.21/templates/service.yaml deleted file mode 100644 index 3f76206e34..0000000000 --- a/charts/btp/sextant/2.2.21/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "common.names.fullname" . }} - labels: {{- include "lib.labels" . | nindent 4 }} - component: sextant -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: 80 - protocol: TCP - selector: {{- include "common.labels.matchLabels" . | nindent 4}} diff --git a/charts/btp/sextant/2.2.21/templates/serviceaccount.yaml b/charts/btp/sextant/2.2.21/templates/serviceaccount.yaml deleted file mode 100644 index f989a72515..0000000000 --- a/charts/btp/sextant/2.2.21/templates/serviceaccount.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -{{- if .Values.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "lib.serviceAccountName" . }} - namespace: {{.Release.Namespace}} -{{- if or .Values.imagePullSecrets.enabled .Values.imagePullSecrets.createSecret.enabled }} -imagePullSecrets: -{{- if.Values.imagePullSecrets.createSecret.enabled }} - - name: {{ template "common.names.fullname" . }}-btp-lic -{{- end }} -{{- range .Values.imagePullSecrets.value }} - - name: {{ .name }} -{{- end }} -{{- end }} -{{- end }} diff --git a/charts/btp/sextant/2.2.21/templates/statefulset.yaml b/charts/btp/sextant/2.2.21/templates/statefulset.yaml deleted file mode 100644 index c614751cc2..0000000000 --- a/charts/btp/sextant/2.2.21/templates/statefulset.yaml +++ /dev/null @@ -1,141 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "common.names.fullname" . }} - namespace: {{.Release.Namespace}} - labels: {{- include "lib.labels" . | nindent 4 }} -spec: - selector: - matchLabels: {{- include "common.labels.matchLabels" . | nindent 6}} - serviceName: {{ include "common.names.fullname" . }} - template: - metadata: - labels: {{- include "lib.labels" .| nindent 8}} - spec: - serviceAccountName: {{ include "lib.serviceAccountName" . }} - containers: - {{- if .Values.postgres.enabled }} - - name: postgres - {{- include "override.lib.image" (dict "imageRoot" .Values.postgres.image "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: {{.Values.postgres.port }} - resources: {{- include "lib.safeToYaml" .Values.postgres.resources | nindent 12 }} - env: - - name: PGDATA - value: /data/sextant - - name: POSTGRES_PASSWORD - {{- if .Values.postgres.existingPasswordSecret }} - valueFrom: - secretKeyRef: - name: {{ .Values.postgres.existingPasswordSecret }} - key: password - {{- else }} - value: {{ .Values.postgres.password }} - {{- end }} - {{- include "lib.safeToYaml" .Values.postgres.env | nindent 12 }} - volumeMounts: - - mountPath: /data - name: "pgdata" - {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - {{- end }} - - name: api - {{- include "sextant.image" (dict "imageRoot" .Values.api.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 8080 - protocol: TCP - resources: {{- include "lib.safeToYaml" .Values.api.resources | nindent 12 }} - env: - - name: PORT - value: "8080" - - name: LOGGING - value: {{ default "1" .Values.logging |quote }} - - name: POSTGRES_USER - value: {{ default "postgres" .Values.postgres.user }} - - name: INITIAL_PASSWORD - {{- if .Values.intialPassword }} - value: {{ .Values.initialPassword | quote}} - {{- else }} - value: {{ include "sextant.randomPassword" .}} - {{- end }} - - name: INITIAL_USER - value: {{ default "admin" .Values.initialUser}} - - name: POSTGRES_PASSWORD - {{- if .Values.postgres.existingPasswordSecret }} - valueFrom: - secretKeyRef: - name: {{.Values.postgres.existingPasswordSecret}} - key: {{.Values.postgres.existingPasswordSecretKey}} - {{- else }} - value: {{ .Values.postgres.password }} - {{- end }} - - name: POSTGRES_DB - value: {{ default "postgres" .Values.postgres.database }} - - name: POSTGRES_SERVICE_HOST - value: {{ default "localhost" .Values.postgres.host }} - - name: POSTGRES_SERVICE_PORT - value: {{ default "5432" .Values.postgres.port | quote }} - {{- if .Values.postgres.tls }} - - name: POSTGRES_TLS - value: {{ .Values.postgres.tls | quote }} - {{- end }} - {{ if eq .Values.edition "enterprise" -}} - - name: NODE_ENV - value: "development" - {{- end -}} - {{- include "lib.safeToYaml" .Values.api.env | nindent 12 }} - volumeMounts: - {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - - name: frontend - {{- include "sextant.image" (dict "imageRoot" .Values.ui.image "editionRoot" .Values.editionImages.ui "edition" .Values.edition "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 8081 - protocol: TCP - resources: {{- include "lib.safeToYaml" .Values.ui.resources | nindent 12 }} - env: - - name: PORT - value: "8081" - {{- include "lib.safeToYaml" .Values.ui.env | nindent 12 }} - volumeMounts: {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - - name: router - {{- include "override.lib.image" (dict "imageRoot" .Values.noxy.image "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 80 - protocol: TCP - env: - - name: NOXY_DEFAULT_HOST - value: localhost - - name: NOXY_DEFAULT_PORT - value: "8081" - - name: NOXY_API_FRONT - value: /api/v1 - - name: NOXY_API_HOST - value: localhost - - name: NOXY_API_PORT - value: "8080" - - name: NOXY_PROXY_FRONT - value: /proxy - - name: NOXY_PROXY_HOST - value: localhost - - name: NOXY_PROXY_PORT - value: "8080" - {{- include "lib.safeToYaml" .Values.noxy.env | nindent 12 }} - resources: {{- include "lib.safeToYaml" .Values.noxy.resources | nindent 12 }} - volumeMounts: {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - restartPolicy: "Always" - volumes: {{- include "lib.volumes" .Values.extraVolumes | nindent 8 }} -{{- if not .Values.postgres.persistence.enabled }} - - name: "pgdata" - emptyDir: {} -{{- else }} - volumeClaimTemplates: - - metadata: - name: "pgdata" - annotations: {{- include "lib.safeToYaml" .Values.postgres.persistence.annotations | nindent 10 }} - spec: - accessModes: {{- include "lib.safeToYaml" .Values.postgres.persistence.accessModes | nindent 10 }} - storageClassName: {{ .Values.postgres.persistence.storageClass | quote }} - resources: - requests: - storage: {{ .Values.postgres.persistence.size | quote }} -{{- end }} diff --git a/charts/btp/sextant/2.2.21/tests/__snapshot__/ingress_test.yaml.snap b/charts/btp/sextant/2.2.21/tests/__snapshot__/ingress_test.yaml.snap deleted file mode 100644 index 86edbf0056..0000000000 --- a/charts/btp/sextant/2.2.21/tests/__snapshot__/ingress_test.yaml.snap +++ /dev/null @@ -1,11 +0,0 @@ -ingress links to service properly: - 1: | - rules: - - host: test-host - http: - paths: - - backend: - serviceName: test-sextant - servicePort: 8000 - path: /path - pathType: ImplementationSpecific diff --git a/charts/btp/sextant/2.2.21/tests/__snapshot__/stable-names_test.yaml.snap b/charts/btp/sextant/2.2.21/tests/__snapshot__/stable-names_test.yaml.snap deleted file mode 100644 index 9337c248fd..0000000000 --- a/charts/btp/sextant/2.2.21/tests/__snapshot__/stable-names_test.yaml.snap +++ /dev/null @@ -1,10 +0,0 @@ -check for stable PVC names: - 1: | - pgdata -check for stable entity names (services, statefulsets, serviceaccounts): - 1: | - test-sextant - 2: | - test-sextant - 3: | - test-sextant diff --git a/charts/btp/sextant/2.2.21/tests/imageEditions_test.yaml b/charts/btp/sextant/2.2.21/tests/imageEditions_test.yaml deleted file mode 100644 index 5c01961b1b..0000000000 --- a/charts/btp/sextant/2.2.21/tests/imageEditions_test.yaml +++ /dev/null @@ -1,76 +0,0 @@ -suite: test edition image variations -templates: - - statefulset.yaml -release: - name: test - namespace: testns -tests: - - it: default edition - set: - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - registry: testregister:8080 - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: testregister:8080/testapi:testtag - - equal: - path: spec.template.spec.containers[2].image - value: testregister:8080/testui:testtag - - it: aws-standard edition - set: - edition: aws-standard - editionImages: - ui: - awsStandard: - tag: testtag - api: - awsStandard: - tag: testtag - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - registry: testregister:8080 - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: 709825985650.dkr.ecr.us-east-1.amazonaws.com/blockchain-technology/sextant-api-standard:testtag - - equal: - path: spec.template.spec.containers[2].image - value: 709825985650.dkr.ecr.us-east-1.amazonaws.com/blockchain-technology/sextant-standard:testtag - - it: development no registry edition - set: - edition: development - editionImages: - ui: - awsStandard: - tag: testtag - api: - awsStandard: - tag: testtag - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: testapi:testtag diff --git a/charts/btp/sextant/2.2.21/tests/ingress_test.yaml b/charts/btp/sextant/2.2.21/tests/ingress_test.yaml deleted file mode 100644 index ac38c29862..0000000000 --- a/charts/btp/sextant/2.2.21/tests/ingress_test.yaml +++ /dev/null @@ -1,25 +0,0 @@ -suite: sextant.test the ingresses -templates: - - ingress.yaml -release: - name: test - namespace: testns -tests: - - it: ingress links to service properly - set: - ingress: - enabled: true - hosts: - - host: test-host - paths: - - /path - apiVersion: extensions/v1beta1 - asserts: - - equal: - path: spec.rules[0].http.paths[0].backend.serviceName - value: test-sextant - - equal: - path: spec.rules[0].http.paths[0].backend.servicePort - value: 8000 - - matchSnapshot: - path: spec diff --git a/charts/btp/sextant/2.2.21/tests/stable-names_test.yaml b/charts/btp/sextant/2.2.21/tests/stable-names_test.yaml deleted file mode 100644 index 62df87363e..0000000000 --- a/charts/btp/sextant/2.2.21/tests/stable-names_test.yaml +++ /dev/null @@ -1,22 +0,0 @@ -suite: sextant.test for stable names -templates: - - serviceaccount.yaml - - statefulset.yaml - - service.yaml -release: - name: test - namespace: testns -tests: - - it: check for stable entity names (services, statefulsets, serviceaccounts) - asserts: - - matchSnapshot: - path: metadata.name - - it: check for stable PVC names - template: statefulset.yaml - set: - postgres: - persistence: - enabled: true - asserts: - - matchSnapshot: - path: spec.volumeClaimTemplates[0].metadata.name diff --git a/charts/btp/sextant/2.2.21/tests/storageClass_test.yaml b/charts/btp/sextant/2.2.21/tests/storageClass_test.yaml deleted file mode 100644 index 07576d24ee..0000000000 --- a/charts/btp/sextant/2.2.21/tests/storageClass_test.yaml +++ /dev/null @@ -1,36 +0,0 @@ -suite: sextant.test for storageClass values -templates: - - statefulset.yaml -release: - name: test - namespace: testns -tests: - - it: check the postgres PVC storageClassName is set to null - set: - postgres: - persistence: - enabled: true - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: null - - it: check the postgres PVC storageClassName is set to an empty string - set: - postgres: - persistence: - enabled: true - storageClass: "" - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: "" - - it: check the postgres PVC storageClassName is set to ab1 - set: - postgres: - persistence: - enabled: true - storageClass: ab1 - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: ab1 diff --git a/charts/btp/sextant/2.2.21/values.yaml b/charts/btp/sextant/2.2.21/values.yaml deleted file mode 100644 index 4794ed122b..0000000000 --- a/charts/btp/sextant/2.2.21/values.yaml +++ /dev/null @@ -1,226 +0,0 @@ ---- -# Rancher marketplace specific values file, source: helm-charts/sextant/rancher-marketplace-values.yaml -edition: community - -editionImages: - ui: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-standard - tag: BTP2.1.0-2.1.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-premium - tag: BTP2.1.0-2.1.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-enterprise - tag: BTP2.1.0-2.1.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-enterprise - tag: BTP2.1.0-2.2.1 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-community - tag: BTP2.1.0 - api: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-standard - tag: BTP2.1.0-2.2.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-premium - tag: BTP2.1.0-2.2.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-enterprise - tag: BTP2.1.0-2.2.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-enterprise - tag: BTP2.1.0-2.3.3 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-community - tag: BTP2.1.0 - -deployment: - name: sextant - namespace: default - -imagePullSecrets: - ## @md | `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | - enabled: true - ## @md | `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | - value: [] - - createSecret: - ## @md | `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | - enabled: true - ## @md | `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | - registryUrl: "dev.catenasys.com:8084" - ## @md | `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | - registryUser: - ## @md | `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | - registryPassword: - -## @md | `replicaCount` | number of Sextant replicas to run | int | 1 | -replicaCount: 1 - -## @md | `logging` | default logging level | string | "1" | -logging: "1" - -ui: - ## @md | `ui.env` | environment variables to set in the UI container | map | nil | - env: - ## @md | `ui.image` | UI image settings | map | N/A | - image: - registry: - ## @md | `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | - repository: blockchaintp/sextant - ## @md | `ui.image.tag` | UI image tag | string | "latest" | - tag: latest - ## @md | `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `ui.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "400Mi" - requests: - cpu: "20m" - memory: "40Mi" -api: - ## @md | `api.env` | API environment settings | map | N/A | - env: - ## @md | `api.image` | API image settings | map | N/A | - image: - registry: - ## @md | `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | - repository: blockchaintp/sextant-api - ## @md | `api.image.tag` | API image tag | string | "latest" | - tag: latest - ## @md | `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `api.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "300Mi" - requests: - cpu: "20m" - memory: "80Mi" -noxy: - ## @md | `noxy.env` | Noxy environment variables | map | N/A | - env: - ## @md | `noxy.image` | noxy image settings | map | N/A | - image: - registry: - ## @md | `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | - repository: blockchaintp/noxy - ## @md | `noxy.image.tag` | noxy image tag | string | "latest" | - tag: BTP2.1.0 - ## @md | `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `noxy.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "60Mi" - requests: - cpu: "20m" - memory: "30Mi" - - -serviceAccount: - ## @md | `serviceAccount.create` | if true create the service account | boolean | true | - create: true - ## @md | `serviceAccount.name` | name of the service account for sextant | string | nil | - name: - -postgres: - # if enabled we allocate a postgres database here - ## @md | `postgres.enabled` | if true create an internal postgres instance | boolean | true | - enabled: true - ## @md | `postgres.env` | postgres environment variables | map | N/A | - env: - image: - registry: - ## @md | `postgres.image.repository` | postgres image repository | string | "postgres" | - repository: postgres - ## @md | `postgres.image.tag` | postgres image tag | string | "11" | - tag: "11" - ## @md | `postgres.user` | user for the postgres database | string | "postgres" | - user: postgres - ## @md | `postgres.host` | host for the postgres database | string | "localhost" | - host: localhost - ## @md | `postgres.database` | database for the postgres database | string | "postgres" | - database: postgres - ## @md | `postgres.port` | port for the postgres database | int | 5432 | - port: 5432 - ## @md | `postgres.password` | password for the postgres database | string | "postgres" | - password: postgres - ## @md | `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | - existingPasswordSecret: - ## @md | `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | - existingPasswordSecretKey: password - ## @md | `postgres.tls` | postgres TLS configuration | string | nil | - tls: - ## @md | `postgres.persistence` | postgres persistence settings | map | N/A | - persistence: - ## @md | `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | - enabled: true - ## @md | `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | - annotations: {} - ## @md | `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | - accessModes: - - "ReadWriteOnce" - ## if set to "-" (empty string) then storageClassName: "", which disables dynamic provisioning - ## if undefined or set to null, no storageClassName is set and the clusters default StorageClass will be used - ## if a storageClass name is set then storageClassName: "setValue" - ## @md | `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | - storageClass: - ## @md | `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | - size: "40Gi" - ## @md | `postgres.resources` | UI resources | map | nil | - resources: - -service: - ## @md | `service.type` | Sextant service type | string | ClusterIP | - type: ClusterIP - ## @md | `service.port` | Sextant service port | int | 8000 | - port: 8000 - - -ingress: - ## @md | `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | - apiVersion: "" - ## @md | `ingress.enabled` | true to enable the ingress to the main service rest-api | false | - enabled: false - ## @md | `ingress.certManager` | true to enable the acme certmanager for this ingress | false | - certManager: false - ## @md | `ingress.hostname` | primary hostname for the ingress | false | - hostname: - ## @md | `ingress.path` | path for the ingress's primary hostname | / | - path: / - ## @md | `ingress.pathType` | pathType for the ingress's primary hostname | nil | - pathType: - ## @md | `ingress.annotations` | annotations for the ingress | {} | - annotations: {} - ## @md | `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | - tls: false - ## @md | `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | - extraHosts: [] - ## @md | `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | - extraPaths: [] - ## @md | `ingress.extraTls` | list of extra tls entries | [] | - extraTls: [] - ## @md | `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | - hosts: [] - -## @md | `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -extraVolumes: [] -## @md | `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | -extraVolumeMounts: [] diff --git a/charts/btp/sextant/2.3.0/.helmignore b/charts/btp/sextant/2.3.0/.helmignore deleted file mode 100644 index f0c1319444..0000000000 --- a/charts/btp/sextant/2.3.0/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/charts/btp/sextant/2.3.0/Chart.lock b/charts/btp/sextant/2.3.0/Chart.lock deleted file mode 100644 index bbc31083dd..0000000000 --- a/charts/btp/sextant/2.3.0/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: standard-defs - repository: https://btp-charts-stable.s3.amazonaws.com/charts/ - version: 0.1.2 -digest: sha256:b072a3f7726bb97088f486103c12d3c8c01d81b31e72bd972b93fbd61f4adb85 -generated: "2021-10-09T05:31:25.295386816Z" diff --git a/charts/btp/sextant/2.3.0/Chart.yaml b/charts/btp/sextant/2.3.0/Chart.yaml deleted file mode 100644 index f5127b7da3..0000000000 --- a/charts/btp/sextant/2.3.0/Chart.yaml +++ /dev/null @@ -1,25 +0,0 @@ -annotations: - catalog.cattle.io/certified: partner - catalog.cattle.io/display-name: Sextant - catalog.cattle.io/kube-version: '>=1.19-0' - catalog.cattle.io/release-name: sextant -apiVersion: v2 -appVersion: 2.1.8 -dependencies: -- name: standard-defs - repository: file://./charts/standard-defs - version: ~0.1.0 -description: 'Sextant automates the deployment and management of enterprise blockchain - infrastructure. It also delivers Chronicle - an open-source, blockchain-backed, - domain-agnostic provenance product - and facilitates its integration with enterprise - systems. ' -home: https://btp.works/sextant -icon: https://sextant-resources.s3.amazonaws.com/icons/large-logo-blue.svg -keywords: -- provenance -- blockchain -- smart contracts -kubeVersion: '>=1.19-0' -name: sextant -type: application -version: 2.3.0 diff --git a/charts/btp/sextant/2.3.0/README.md b/charts/btp/sextant/2.3.0/README.md deleted file mode 100644 index acbd959033..0000000000 --- a/charts/btp/sextant/2.3.0/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# Sextant - -This chart is the base chart to install BTP Sextant. By default it -installs the development version of Sextant. It's intended use is as -a dependency of other charts which install particular editions of the -software. - -## Configuration - -| field | description | type | default | -|-|-|-|-| -| `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | -| `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | -| `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | -| `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | -| `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | -| `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | -| `replicaCount` | number of Sextant replicas to run | int | 1 | -| `logging` | default logging level | string | "1" | -| `ui.env` | environment variables to set in the UI container | map | nil | -| `ui.image` | UI image settings | map | N/A | -| `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | -| `ui.image.tag` | UI image tag | string | "latest" | -| `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | -| `ui.resources` | UI resources | map | nil | -| `api.env` | API environment settings | map | N/A | -| `api.image` | API image settings | map | N/A | -| `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | -| `api.image.tag` | API image tag | string | "latest" | -| `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | -| `api.resources` | UI resources | map | nil | -| `noxy.env` | Noxy environment variables | map | N/A | -| `noxy.image` | noxy image settings | map | N/A | -| `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | -| `noxy.image.tag` | noxy image tag | string | "latest" | -| `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | -| `noxy.resources` | UI resources | map | nil | -| `serviceAccount.create` | if true create the service account | boolean | true | -| `serviceAccount.name` | name of the service account for sextant | string | nil | -| `postgres.enabled` | if true create an internal postgres instance | boolean | true | -| `postgres.env` | postgres environment variables | map | N/A | -| `postgres.image.repository` | postgres image repository | string | "postgres" | -| `postgres.image.tag` | postgres image tag | string | "11" | -| `postgres.user` | user for the postgres database | string | "postgres" | -| `postgres.host` | host for the postgres database | string | "localhost" | -| `postgres.database` | database for the postgres database | string | "postgres" | -| `postgres.port` | port for the postgres database | int | 5432 | -| `postgres.password` | password for the postgres database | string | "postgres" | -| `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | -| `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | -| `postgres.tls` | postgres TLS configuration | string | nil | -| `postgres.persistence` | postgres persistence settings | map | N/A | -| `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | -| `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | -| `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | -| `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | -| `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | -| `postgres.resources` | UI resources | map | nil | -| `service.type` | Sextant service type | string | ClusterIP | -| `service.port` | Sextant service port | int | 8000 | -| `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | -| `ingress.enabled` | true to enable the ingress to the main service rest-api | false | -| `ingress.certManager` | true to enable the acme certmanager for this ingress | false | -| `ingress.hostname` | primary hostname for the ingress | false | -| `ingress.path` | path for the ingress's primary hostname | / | -| `ingress.pathType` | pathType for the ingress's primary hostname | nil | -| `ingress.annotations` | annotations for the ingress | {} | -| `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | -| `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | -| `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | -| `ingress.extraTls` | list of extra tls entries | [] | -| `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | -| `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -| `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | diff --git a/charts/btp/sextant/2.3.0/app-readme.md b/charts/btp/sextant/2.3.0/app-readme.md deleted file mode 100644 index 20a0f99837..0000000000 --- a/charts/btp/sextant/2.3.0/app-readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Product Overview - -Sextant automates the deployment and management of enterprise blockchain -infrastructure, and currently supports the open-source Hyperledger Besu, -Fabric, and Sawtooth distributed ledgers. - -It delivers Chronicle, an open-source, blockchain-backed, domain-agnostic -provenance product, and facilitates its integration with enterprise systems. - -It also provides a runtime environment for executing smart contracts. - -## License - -Use of Sextant is governed by our [Marketplace EULA](https://sextant-resources.s3.amazonaws.com/agreements/Blockchain+Technology+Partners+Limited+(Marketplace)+End+User+License+Agreement.pdf) -with the exception of Daml support which is subject to our [Evaluation EULA](https://sextant-resources.s3.amazonaws.com/agreements/Blockchain+Technology+Partners+Limited+(Evaluation)+End+User+License+Agreement.pdf) - -Find out more at [btp.works/sextant](https://btp.works/sextant) - -For documentation visit [docs.btp.works](https://docs.btp.works) - -### *Important* - -*To install Sextant you will need credentials supplied by BTP.* - -*Please complete [this form](https://btp.works/sextant/suse-rancher) and we will -provide you with the credentials required to launch Sextant.* diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.lock b/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.lock deleted file mode 100644 index 3c1618aee4..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://charts.bitnami.com/bitnami - version: 1.8.0 -digest: sha256:4b6f60ea1981a1b98332e0149289002fe0f9ebf401de1ec19c8baaaf6b0d4b88 -generated: "2021-09-02T01:05:15.012803203Z" diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.yaml b/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.yaml deleted file mode 100644 index 38a35afb09..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/Chart.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: v2 -appVersion: 0.1.0 -dependencies: -- name: common - repository: https://charts.bitnami.com/bitnami - version: ~1.8.0 -description: BTP Standard Template definitions and dependencies -name: standard-defs -type: library -version: 0.1.2 diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/README.md b/charts/btp/sextant/2.3.0/charts/standard-defs/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/.helmignore b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/.helmignore deleted file mode 100644 index 50af031725..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/.helmignore +++ /dev/null @@ -1,22 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/Chart.yaml b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/Chart.yaml deleted file mode 100644 index 344c403847..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/Chart.yaml +++ /dev/null @@ -1,23 +0,0 @@ -annotations: - category: Infrastructure -apiVersion: v2 -appVersion: 1.8.0 -description: A Library Helm Chart for grouping common logic between bitnami charts. - This chart is not deployable by itself. -home: https://github.com/bitnami/charts/tree/master/bitnami/common -icon: https://bitnami.com/downloads/logos/bitnami-mark.png -keywords: -- common -- helper -- template -- function -- bitnami -maintainers: -- email: containers@bitnami.com - name: Bitnami -name: common -sources: -- https://github.com/bitnami/charts -- http://www.bitnami.com/ -type: library -version: 1.8.0 diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/README.md b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/README.md deleted file mode 100644 index 054e51f965..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/README.md +++ /dev/null @@ -1,327 +0,0 @@ -# Bitnami Common Library Chart - -A [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm) for grouping common logic between bitnami charts. - -## TL;DR - -```yaml -dependencies: - - name: common - version: 0.x.x - repository: https://charts.bitnami.com/bitnami -``` - -```bash -$ helm dependency update -``` - -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.names.fullname" . }} -data: - myvalue: "Hello World" -``` - -## Introduction - -This chart provides a common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager. - -Bitnami charts can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. This Helm chart has been tested on top of [Bitnami Kubernetes Production Runtime](https://kubeprod.io/) (BKPR). Deploy BKPR to get automated TLS certificates, logging and monitoring for your applications. - -## Prerequisites - -- Kubernetes 1.12+ -- Helm 3.1.0 - -## Parameters - -The following table lists the helpers available in the library which are scoped in different sections. - -### Affinities - -| Helper identifier | Description | Expected Input | -|-------------------------------|------------------------------------------------------|------------------------------------------------| -| `common.affinities.node.soft` | Return a soft nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` | -| `common.affinities.node.hard` | Return a hard nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` | -| `common.affinities.pod.soft` | Return a soft podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` | -| `common.affinities.pod.hard` | Return a hard podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` | - -### Capabilities - -| Helper identifier | Description | Expected Input | -|----------------------------------------------|------------------------------------------------------------------------------------------------|-------------------| -| `common.capabilities.kubeVersion` | Return the target Kubernetes version (using client default if .Values.kubeVersion is not set). | `.` Chart context | -| `common.capabilities.cronjob.apiVersion` | Return the appropriate apiVersion for cronjob. | `.` Chart context | -| `common.capabilities.deployment.apiVersion` | Return the appropriate apiVersion for deployment. | `.` Chart context | -| `common.capabilities.statefulset.apiVersion` | Return the appropriate apiVersion for statefulset. | `.` Chart context | -| `common.capabilities.ingress.apiVersion` | Return the appropriate apiVersion for ingress. | `.` Chart context | -| `common.capabilities.rbac.apiVersion` | Return the appropriate apiVersion for RBAC resources. | `.` Chart context | -| `common.capabilities.crd.apiVersion` | Return the appropriate apiVersion for CRDs. | `.` Chart context | -| `common.capabilities.policy.apiVersion` | Return the appropriate apiVersion for policy | `.` Chart context | -| `common.capabilities.supportsHelmVersion` | Returns true if the used Helm version is 3.3+ | `.` Chart context | - -### Errors - -| Helper identifier | Description | Expected Input | -|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| `common.errors.upgrade.passwords.empty` | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01) "context" $` | - -### Images - -| Helper identifier | Description | Expected Input | -|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------| -| `common.images.image` | Return the proper and full image name | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure. | -| `common.images.pullSecrets` | Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global` | -| `common.images.renderPullSecrets` | Return the proper Docker Image Registry Secret Names (evaluates values as templates) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $` | - -### Ingress - -| Helper identifier | Description | Expected Input | -|-------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.ingress.backend` | Generate a proper Ingress backend entry depending on the API version | `dict "serviceName" "foo" "servicePort" "bar"`, see the [Ingress deprecation notice](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for the syntax differences | -| `common.ingress.supportsPathType` | Prints "true" if the pathType field is supported | `.` Chart context | -| `common.ingress.supportsIngressClassname` | Prints "true" if the ingressClassname field is supported | `.` Chart context | - -### Labels - -| Helper identifier | Description | Expected Input | -|-----------------------------|------------------------------------------------------|-------------------| -| `common.labels.standard` | Return Kubernetes standard labels | `.` Chart context | -| `common.labels.matchLabels` | Return the proper Docker Image Registry Secret Names | `.` Chart context | - -### Names - -| Helper identifier | Description | Expected Inpput | -|-------------------------|------------------------------------------------------------|-------------------| -| `common.names.name` | Expand the name of the chart or use `.Values.nameOverride` | `.` Chart context | -| `common.names.fullname` | Create a default fully qualified app name. | `.` Chart context | -| `common.names.chart` | Chart name plus version | `.` Chart context | - -### Secrets - -| Helper identifier | Description | Expected Input | -|---------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.secrets.name` | Generate the name of the secret. | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. | -| `common.secrets.key` | Generate secret key. | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure. | -| `common.passwords.manage` | Generate secret password or retrieve one if already created. | `dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $`, length, strong and chartNAme fields are optional. | -| `common.secrets.exists` | Returns whether a previous generated secret already exists. | `dict "secret" "secret-name" "context" $` | - -### Storage - -| Helper identifier | Description | Expected Input | -|-------------------------------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------| -| `common.affinities.node.soft` | Return a soft nodeAffinity definition | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. | - -### TplValues - -| Helper identifier | Description | Expected Input | -|---------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.tplvalues.render` | Renders a value that contains template | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frequently is the chart context `$` or `.` | - -### Utils - -| Helper identifier | Description | Expected Input | -|--------------------------------|------------------------------------------------------------------------------------------|------------------------------------------------------------------------| -| `common.utils.fieldToEnvVar` | Build environment variable name given a field. | `dict "field" "my-password"` | -| `common.utils.secret.getvalue` | Print instructions to get a secret value. | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` | -| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path | `dict "key" "path.to.key" "context" $` | -| `common.utils.getKeyFromList` | Returns first `.Values` key with a defined value or first of the list if all non-defined | `dict "keys" (list "path.to.key1" "path.to.key2") "context" $` | - -### Validations - -| Helper identifier | Description | Expected Input | -|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `common.validations.values.single.empty` | Validate a value must not be empty. | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $` secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) | -| `common.validations.values.multiple.empty` | Validate a multiple values must not be empty. It returns a shared error for all the values. | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue) | -| `common.validations.values.mariadb.passwords` | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values. | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper. | -| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values. | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper. | -| `common.validations.values.redis.passwords` | This helper will ensure required password for Redis™ are not empty. It returns a shared error for all the values. | `dict "secret" "redis-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use redis chart and the helper. | -| `common.validations.values.cassandra.passwords` | This helper will ensure required password for Cassandra are not empty. It returns a shared error for all the values. | `dict "secret" "cassandra-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use cassandra chart and the helper. | -| `common.validations.values.mongodb.passwords` | This helper will ensure required password for MongoDB® are not empty. It returns a shared error for all the values. | `dict "secret" "mongodb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mongodb chart and the helper. | - -### Warnings - -| Helper identifier | Description | Expected Input | -|------------------------------|----------------------------------|------------------------------------------------------------| -| `common.warnings.rollingTag` | Warning about using rolling tag. | `ImageRoot` see [ImageRoot](#imageroot) for the structure. | - -## Special input schemas - -### ImageRoot - -```yaml -registry: - type: string - description: Docker registry where the image is located - example: docker.io - -repository: - type: string - description: Repository and image name - example: bitnami/nginx - -tag: - type: string - description: image tag - example: 1.16.1-debian-10-r63 - -pullPolicy: - type: string - description: Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' - -pullSecrets: - type: array - items: - type: string - description: Optionally specify an array of imagePullSecrets (evaluated as templates). - -debug: - type: boolean - description: Set to true if you would like to see extra information on logs - example: false - -## An instance would be: -# registry: docker.io -# repository: bitnami/nginx -# tag: 1.16.1-debian-10-r63 -# pullPolicy: IfNotPresent -# debug: false -``` - -### Persistence - -```yaml -enabled: - type: boolean - description: Whether enable persistence. - example: true - -storageClass: - type: string - description: Ghost data Persistent Volume Storage Class, If set to "-", storageClassName: "" which disables dynamic provisioning. - example: "-" - -accessMode: - type: string - description: Access mode for the Persistent Volume Storage. - example: ReadWriteOnce - -size: - type: string - description: Size the Persistent Volume Storage. - example: 8Gi - -path: - type: string - description: Path to be persisted. - example: /bitnami - -## An instance would be: -# enabled: true -# storageClass: "-" -# accessMode: ReadWriteOnce -# size: 8Gi -# path: /bitnami -``` - -### ExistingSecret - -```yaml -name: - type: string - description: Name of the existing secret. - example: mySecret -keyMapping: - description: Mapping between the expected key name and the name of the key in the existing secret. - type: object - -## An instance would be: -# name: mySecret -# keyMapping: -# password: myPasswordKey -``` - -#### Example of use - -When we store sensitive data for a deployment in a secret, some times we want to give to users the possibility of using theirs existing secrets. - -```yaml -# templates/secret.yaml ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" . }} - labels: - app: {{ include "common.names.fullname" . }} -type: Opaque -data: - password: {{ .Values.password | b64enc | quote }} - -# templates/dpl.yaml ---- -... - env: - - name: PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "common.secrets.name" (dict "existingSecret" .Values.existingSecret "context" $) }} - key: {{ include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "password") }} -... - -# values.yaml ---- -name: mySecret -keyMapping: - password: myPasswordKey -``` - -### ValidateValue - -#### NOTES.txt - -```console -{{- $validateValueConf00 := (dict "valueKey" "path.to.value00" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value01" "secret" "secretName" "field" "password-01") -}} - -{{ include "common.validations.values.multiple.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} -``` - -If we force those values to be empty we will see some alerts - -```console -$ helm install test mychart --set path.to.value00="",path.to.value01="" - 'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value: - - export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 --decode) - - 'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value: - - export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 --decode) -``` - -## Upgrading - -### To 1.0.0 - -[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL. - -**What changes were introduced in this major version?** - -- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field. -- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information. -- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts - -**Considerations when upgrading to this version** - -- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues -- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore -- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3 - -**Useful links** - -- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/ -- https://helm.sh/docs/topics/v2_v3_migration/ -- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/ diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_affinities.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_affinities.tpl deleted file mode 100644 index 189ea403d5..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_affinities.tpl +++ /dev/null @@ -1,102 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Return a soft nodeAffinity definition -{{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.soft" -}} -preferredDuringSchedulingIgnoredDuringExecution: - - preference: - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} - weight: 1 -{{- end -}} - -{{/* -Return a hard nodeAffinity definition -{{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.hard" -}} -requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} -{{- end -}} - -{{/* -Return a nodeAffinity definition -{{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.nodes.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.nodes.hard" . -}} - {{- end -}} -{{- end -}} - -{{/* -Return a soft podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.soft" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}} -*/}} -{{- define "common.affinities.pods.soft" -}} -{{- $component := default "" .component -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 10 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - namespaces: - - {{ .context.Release.Namespace | quote }} - topologyKey: kubernetes.io/hostname - weight: 1 -{{- end -}} - -{{/* -Return a hard podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.hard" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}} -*/}} -{{- define "common.affinities.pods.hard" -}} -{{- $component := default "" .component -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 8 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - namespaces: - - {{ .context.Release.Namespace | quote }} - topologyKey: kubernetes.io/hostname -{{- end -}} - -{{/* -Return a podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.pods" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.pods.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.pods.hard" . -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_capabilities.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_capabilities.tpl deleted file mode 100644 index ae45d5e35f..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_capabilities.tpl +++ /dev/null @@ -1,117 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Return the target Kubernetes version -*/}} -{{- define "common.capabilities.kubeVersion" -}} -{{- if .Values.global }} - {{- if .Values.global.kubeVersion }} - {{- .Values.global.kubeVersion -}} - {{- else }} - {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} - {{- end -}} -{{- else }} -{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for policy. -*/}} -{{- define "common.capabilities.policy.apiVersion" -}} -{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "policy/v1beta1" -}} -{{- else -}} -{{- print "policy/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for cronjob. -*/}} -{{- define "common.capabilities.cronjob.apiVersion" -}} -{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "batch/v1beta1" -}} -{{- else -}} -{{- print "batch/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for deployment. -*/}} -{{- define "common.capabilities.deployment.apiVersion" -}} -{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for statefulset. -*/}} -{{- define "common.capabilities.statefulset.apiVersion" -}} -{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "apps/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for ingress. -*/}} -{{- define "common.capabilities.ingress.apiVersion" -}} -{{- if .Values.ingress -}} -{{- if .Values.ingress.apiVersion -}} -{{- .Values.ingress.apiVersion -}} -{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end }} -{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for RBAC resources. -*/}} -{{- define "common.capabilities.rbac.apiVersion" -}} -{{- if semverCompare "<1.17-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "rbac.authorization.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "rbac.authorization.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for CRDs. -*/}} -{{- define "common.capabilities.crd.apiVersion" -}} -{{- if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "apiextensions.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "apiextensions.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the used Helm version is 3.3+. -A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure. -This check is introduced as a regexMatch instead of {{ if .Capabilities.HelmVersion }} because checking for the key HelmVersion in <3.3 results in a "interface not found" error. -**To be removed when the catalog's minimun Helm version is 3.3** -*/}} -{{- define "common.capabilities.supportsHelmVersion" -}} -{{- if regexMatch "{(v[0-9])*[^}]*}}$" (.Capabilities | toString ) }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_errors.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_errors.tpl deleted file mode 100644 index a79cc2e322..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_errors.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Through error when upgrading using empty passwords values that must not be empty. - -Usage: -{{- $validationError00 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password00" "secret" "secretName" "field" "password-00") -}} -{{- $validationError01 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password01" "secret" "secretName" "field" "password-01") -}} -{{ include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $validationError00 $validationError01) "context" $) }} - -Required password params: - - validationErrors - String - Required. List of validation strings to be return, if it is empty it won't throw error. - - context - Context - Required. Parent context. -*/}} -{{- define "common.errors.upgrade.passwords.empty" -}} - {{- $validationErrors := join "" .validationErrors -}} - {{- if and $validationErrors .context.Release.IsUpgrade -}} - {{- $errorString := "\nPASSWORDS ERROR: You must provide your current passwords when upgrading the release." -}} - {{- $errorString = print $errorString "\n Note that even after reinstallation, old credentials may be needed as they may be kept in persistent volume claims." -}} - {{- $errorString = print $errorString "\n Further information can be obtained at https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues/#credential-errors-while-upgrading-chart-releases" -}} - {{- $errorString = print $errorString "\n%s" -}} - {{- printf $errorString $validationErrors | fail -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_images.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_images.tpl deleted file mode 100644 index 42ffbc7227..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_images.tpl +++ /dev/null @@ -1,75 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper image name -{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" $) }} -*/}} -{{- define "common.images.image" -}} -{{- $registryName := .imageRoot.registry -}} -{{- $repositoryName := .imageRoot.repository -}} -{{- $tag := .imageRoot.tag | toString -}} -{{- if .global }} - {{- if .global.imageRegistry }} - {{- $registryName = .global.imageRegistry -}} - {{- end -}} -{{- end -}} -{{- if $registryName }} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- else -}} -{{- printf "%s:%s" $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) -{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }} -*/}} -{{- define "common.images.pullSecrets" -}} - {{- $pullSecrets := list }} - - {{- if .global }} - {{- range .global.imagePullSecrets -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end -}} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) }} -imagePullSecrets: - {{- range $pullSecrets }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names evaluating values as templates -{{ include "common.images.renderPullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $) }} -*/}} -{{- define "common.images.renderPullSecrets" -}} - {{- $pullSecrets := list }} - {{- $context := .context }} - - {{- if $context.Values.global }} - {{- range $context.Values.global.imagePullSecrets -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) }} -imagePullSecrets: - {{- range $pullSecrets }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_ingress.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_ingress.tpl deleted file mode 100644 index f905f20059..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_ingress.tpl +++ /dev/null @@ -1,55 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Generate backend entry that is compatible with all Kubernetes API versions. - -Usage: -{{ include "common.ingress.backend" (dict "serviceName" "backendName" "servicePort" "backendPort" "context" $) }} - -Params: - - serviceName - String. Name of an existing service backend - - servicePort - String/Int. Port name (or number) of the service. It will be translated to different yaml depending if it is a string or an integer. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.ingress.backend" -}} -{{- $apiVersion := (include "common.capabilities.ingress.apiVersion" .context) -}} -{{- if or (eq $apiVersion "extensions/v1beta1") (eq $apiVersion "networking.k8s.io/v1beta1") -}} -serviceName: {{ .serviceName }} -servicePort: {{ .servicePort }} -{{- else -}} -service: - name: {{ .serviceName }} - port: - {{- if typeIs "string" .servicePort }} - name: {{ .servicePort }} - {{- else if or (typeIs "int" .servicePort) (typeIs "float64" .servicePort) }} - number: {{ .servicePort | int }} - {{- end }} -{{- end -}} -{{- end -}} - -{{/* -Print "true" if the API pathType field is supported -Usage: -{{ include "common.ingress.supportsPathType" . }} -*/}} -{{- define "common.ingress.supportsPathType" -}} -{{- if (semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .)) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the ingressClassname field is supported -Usage: -{{ include "common.ingress.supportsIngressClassname" . }} -*/}} -{{- define "common.ingress.supportsIngressClassname" -}} -{{- if semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_labels.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_labels.tpl deleted file mode 100644 index 252066c7e2..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_labels.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Kubernetes standard labels -*/}} -{{- define "common.labels.standard" -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -helm.sh/chart: {{ include "common.names.chart" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector -*/}} -{{- define "common.labels.matchLabels" -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_names.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_names.tpl deleted file mode 100644 index adf2a74f48..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_names.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "common.names.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "common.names.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "common.names.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_secrets.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_secrets.tpl deleted file mode 100644 index 60b84a7019..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_secrets.tpl +++ /dev/null @@ -1,129 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Generate secret name. - -Usage: -{{ include "common.secrets.name" (dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $) }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret - - defaultNameSuffix - String - Optional. It is used only if we have several secrets in the same deployment. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.secrets.name" -}} -{{- $name := (include "common.names.fullname" .context) -}} - -{{- if .defaultNameSuffix -}} -{{- $name = printf "%s-%s" $name .defaultNameSuffix | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{- with .existingSecret -}} -{{- if not (typeIs "string" .) -}} -{{- with .name -}} -{{- $name = . -}} -{{- end -}} -{{- else -}} -{{- $name = . -}} -{{- end -}} -{{- end -}} - -{{- printf "%s" $name -}} -{{- end -}} - -{{/* -Generate secret key. - -Usage: -{{ include "common.secrets.key" (dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName") }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret - - key - String - Required. Name of the key in the secret. -*/}} -{{- define "common.secrets.key" -}} -{{- $key := .key -}} - -{{- if .existingSecret -}} - {{- if not (typeIs "string" .existingSecret) -}} - {{- if .existingSecret.keyMapping -}} - {{- $key = index .existingSecret.keyMapping $.key -}} - {{- end -}} - {{- end }} -{{- end -}} - -{{- printf "%s" $key -}} -{{- end -}} - -{{/* -Generate secret password or retrieve one if already created. - -Usage: -{{ include "common.secrets.passwords.manage" (dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - key - String - Required - Name of the key in the secret. - - providedValues - List - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. - - length - int - Optional - Length of the generated random password. - - strong - Boolean - Optional - Whether to add symbols to the generated random password. - - chartName - String - Optional - Name of the chart used when said chart is deployed as a subchart. - - context - Context - Required - Parent context. -*/}} -{{- define "common.secrets.passwords.manage" -}} - -{{- $password := "" }} -{{- $subchart := "" }} -{{- $chartName := default "" .chartName }} -{{- $passwordLength := default 10 .length }} -{{- $providedPasswordKey := include "common.utils.getKeyFromList" (dict "keys" .providedValues "context" $.context) }} -{{- $providedPasswordValue := include "common.utils.getValueFromKey" (dict "key" $providedPasswordKey "context" $.context) }} -{{- $secret := (lookup "v1" "Secret" $.context.Release.Namespace .secret) }} -{{- if $secret }} - {{- if index $secret.data .key }} - {{- $password = index $secret.data .key }} - {{- end -}} -{{- else if $providedPasswordValue }} - {{- $password = $providedPasswordValue | toString | b64enc | quote }} -{{- else }} - - {{- if .context.Values.enabled }} - {{- $subchart = $chartName }} - {{- end -}} - - {{- $requiredPassword := dict "valueKey" $providedPasswordKey "secret" .secret "field" .key "subchart" $subchart "context" $.context -}} - {{- $requiredPasswordError := include "common.validations.values.single.empty" $requiredPassword -}} - {{- $passwordValidationErrors := list $requiredPasswordError -}} - {{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordValidationErrors "context" $.context) -}} - - {{- if .strong }} - {{- $subStr := list (lower (randAlpha 1)) (randNumeric 1) (upper (randAlpha 1)) | join "_" }} - {{- $password = randAscii $passwordLength }} - {{- $password = regexReplaceAllLiteral "\\W" $password "@" | substr 5 $passwordLength }} - {{- $password = printf "%s%s" $subStr $password | toString | shuffle | b64enc | quote }} - {{- else }} - {{- $password = randAlphaNum $passwordLength | b64enc | quote }} - {{- end }} -{{- end -}} -{{- printf "%s" $password -}} -{{- end -}} - -{{/* -Returns whether a previous generated secret already exists - -Usage: -{{ include "common.secrets.exists" (dict "secret" "secret-name" "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - context - Context - Required - Parent context. -*/}} -{{- define "common.secrets.exists" -}} -{{- $secret := (lookup "v1" "Secret" $.context.Release.Namespace .secret) }} -{{- if $secret }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_storage.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_storage.tpl deleted file mode 100644 index 60e2a844f6..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_storage.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper Storage Class -{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }} -*/}} -{{- define "common.storage.class" -}} - -{{- $storageClass := .persistence.storageClass -}} -{{- if .global -}} - {{- if .global.storageClass -}} - {{- $storageClass = .global.storageClass -}} - {{- end -}} -{{- end -}} - -{{- if $storageClass -}} - {{- if (eq "-" $storageClass) -}} - {{- printf "storageClassName: \"\"" -}} - {{- else }} - {{- printf "storageClassName: %s" $storageClass -}} - {{- end -}} -{{- end -}} - -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_tplvalues.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_tplvalues.tpl deleted file mode 100644 index 2db166851b..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_tplvalues.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Renders a value that contains template. -Usage: -{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $) }} -*/}} -{{- define "common.tplvalues.render" -}} - {{- if typeIs "string" .value }} - {{- tpl .value .context }} - {{- else }} - {{- tpl (.value | toYaml) .context }} - {{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_utils.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_utils.tpl deleted file mode 100644 index ea083a249f..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_utils.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Print instructions to get a secret value. -Usage: -{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }} -*/}} -{{- define "common.utils.secret.getvalue" -}} -{{- $varname := include "common.utils.fieldToEnvVar" . -}} -export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 --decode) -{{- end -}} - -{{/* -Build env var name given a field -Usage: -{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }} -*/}} -{{- define "common.utils.fieldToEnvVar" -}} - {{- $fieldNameSplit := splitList "-" .field -}} - {{- $upperCaseFieldNameSplit := list -}} - - {{- range $fieldNameSplit -}} - {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}} - {{- end -}} - - {{ join "_" $upperCaseFieldNameSplit }} -{{- end -}} - -{{/* -Gets a value from .Values given -Usage: -{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }} -*/}} -{{- define "common.utils.getValueFromKey" -}} -{{- $splitKey := splitList "." .key -}} -{{- $value := "" -}} -{{- $latestObj := $.context.Values -}} -{{- range $splitKey -}} - {{- if not $latestObj -}} - {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}} - {{- end -}} - {{- $value = ( index $latestObj . ) -}} - {{- $latestObj = $value -}} -{{- end -}} -{{- printf "%v" (default "" $value) -}} -{{- end -}} - -{{/* -Returns first .Values key with a defined value or first of the list if all non-defined -Usage: -{{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }} -*/}} -{{- define "common.utils.getKeyFromList" -}} -{{- $key := first .keys -}} -{{- $reverseKeys := reverse .keys }} -{{- range $reverseKeys }} - {{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }} - {{- if $value -}} - {{- $key = . }} - {{- end -}} -{{- end -}} -{{- printf "%s" $key -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_warnings.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_warnings.tpl deleted file mode 100644 index ae10fa41ee..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/_warnings.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Warning about using rolling tag. -Usage: -{{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} -*/}} -{{- define "common.warnings.rollingTag" -}} - -{{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} -WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. -+info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ -{{- end }} - -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl deleted file mode 100644 index 8679ddffb1..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_cassandra.tpl +++ /dev/null @@ -1,72 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate Cassandra required passwords are not empty. - -Usage: -{{ include "common.validations.values.cassandra.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where Cassandra values are stored, e.g: "cassandra-passwords-secret" - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.cassandra.passwords" -}} - {{- $existingSecret := include "common.cassandra.values.existingSecret" . -}} - {{- $enabled := include "common.cassandra.values.enabled" . -}} - {{- $dbUserPrefix := include "common.cassandra.values.key.dbUser" . -}} - {{- $valueKeyPassword := printf "%s.password" $dbUserPrefix -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "cassandra-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.cassandra.values.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.cassandra.dbUser.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.dbUser.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled cassandra. - -Usage: -{{ include "common.cassandra.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.cassandra.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.cassandra.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key dbUser - -Usage: -{{ include "common.cassandra.values.key.dbUser" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.key.dbUser" -}} - {{- if .subchart -}} - cassandra.dbUser - {{- else -}} - dbUser - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl deleted file mode 100644 index bb5ed7253d..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mariadb.tpl +++ /dev/null @@ -1,103 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate MariaDB required passwords are not empty. - -Usage: -{{ include "common.validations.values.mariadb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where MariaDB values are stored, e.g: "mysql-passwords-secret" - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.mariadb.passwords" -}} - {{- $existingSecret := include "common.mariadb.values.auth.existingSecret" . -}} - {{- $enabled := include "common.mariadb.values.enabled" . -}} - {{- $architecture := include "common.mariadb.values.architecture" . -}} - {{- $authPrefix := include "common.mariadb.values.key.auth" . -}} - {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} - {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} - {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} - {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mariadb-root-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} - - {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} - {{- if not (empty $valueUsername) -}} - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mariadb-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - {{- end -}} - - {{- if (eq $architecture "replication") -}} - {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mariadb-replication-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mariadb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mariadb. - -Usage: -{{ include "common.mariadb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mariadb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mariadb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mariadb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mariadb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.key.auth" -}} - {{- if .subchart -}} - mariadb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl deleted file mode 100644 index 1e5bba981d..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_mongodb.tpl +++ /dev/null @@ -1,108 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate MongoDB® required passwords are not empty. - -Usage: -{{ include "common.validations.values.mongodb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where MongoDB® values are stored, e.g: "mongodb-passwords-secret" - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.mongodb.passwords" -}} - {{- $existingSecret := include "common.mongodb.values.auth.existingSecret" . -}} - {{- $enabled := include "common.mongodb.values.enabled" . -}} - {{- $authPrefix := include "common.mongodb.values.key.auth" . -}} - {{- $architecture := include "common.mongodb.values.architecture" . -}} - {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} - {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} - {{- $valueKeyDatabase := printf "%s.database" $authPrefix -}} - {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} - {{- $valueKeyReplicaSetKey := printf "%s.replicaSetKey" $authPrefix -}} - {{- $valueKeyAuthEnabled := printf "%s.enabled" $authPrefix -}} - - {{- $authEnabled := include "common.utils.getValueFromKey" (dict "key" $valueKeyAuthEnabled "context" .context) -}} - - {{- if and (not $existingSecret) (eq $enabled "true") (eq $authEnabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mongodb-root-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} - - {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} - {{- $valueDatabase := include "common.utils.getValueFromKey" (dict "key" $valueKeyDatabase "context" .context) }} - {{- if and $valueUsername $valueDatabase -}} - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mongodb-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - {{- end -}} - - {{- if (eq $architecture "replicaset") -}} - {{- $requiredReplicaSetKey := dict "valueKey" $valueKeyReplicaSetKey "secret" .secret "field" "mongodb-replica-set-key" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredReplicaSetKey -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mongodb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDb is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mongodb. - -Usage: -{{ include "common.mongodb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mongodb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mongodb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mongodb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.key.auth" -}} - {{- if .subchart -}} - mongodb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mongodb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl deleted file mode 100644 index 992bcd3908..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_postgresql.tpl +++ /dev/null @@ -1,131 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate PostgreSQL required passwords are not empty. - -Usage: -{{ include "common.validations.values.postgresql.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where postgresql values are stored, e.g: "postgresql-passwords-secret" - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.postgresql.passwords" -}} - {{- $existingSecret := include "common.postgresql.values.existingSecret" . -}} - {{- $enabled := include "common.postgresql.values.enabled" . -}} - {{- $valueKeyPostgresqlPassword := include "common.postgresql.values.key.postgressPassword" . -}} - {{- $valueKeyPostgresqlReplicationEnabled := include "common.postgresql.values.key.replicationPassword" . -}} - - {{- if and (not $existingSecret) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredPostgresqlPassword := dict "valueKey" $valueKeyPostgresqlPassword "secret" .secret "field" "postgresql-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlPassword -}} - - {{- $enabledReplication := include "common.postgresql.values.enabled.replication" . -}} - {{- if (eq $enabledReplication "true") -}} - {{- $requiredPostgresqlReplicationPassword := dict "valueKey" $valueKeyPostgresqlReplicationEnabled "secret" .secret "field" "postgresql-replication-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlReplicationPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to decide whether evaluate global values. - -Usage: -{{ include "common.postgresql.values.use.global" (dict "key" "key-of-global" "context" $) }} -Params: - - key - String - Required. Field to be evaluated within global, e.g: "existingSecret" -*/}} -{{- define "common.postgresql.values.use.global" -}} - {{- if .context.Values.global -}} - {{- if .context.Values.global.postgresql -}} - {{- index .context.Values.global.postgresql .key | quote -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.postgresql.values.existingSecret" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.existingSecret" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "existingSecret" "context" .context) -}} - - {{- if .subchart -}} - {{- default (.context.Values.postgresql.existingSecret | quote) $globalValue -}} - {{- else -}} - {{- default (.context.Values.existingSecret | quote) $globalValue -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled postgresql. - -Usage: -{{ include "common.postgresql.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key postgressPassword. - -Usage: -{{ include "common.postgresql.values.key.postgressPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.postgressPassword" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "postgresqlUsername" "context" .context) -}} - - {{- if not $globalValue -}} - {{- if .subchart -}} - postgresql.postgresqlPassword - {{- else -}} - postgresqlPassword - {{- end -}} - {{- else -}} - global.postgresql.postgresqlPassword - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled.replication. - -Usage: -{{ include "common.postgresql.values.enabled.replication" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.enabled.replication" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.replication.enabled -}} - {{- else -}} - {{- printf "%v" .context.Values.replication.enabled -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key replication.password. - -Usage: -{{ include "common.postgresql.values.key.replicationPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.replicationPassword" -}} - {{- if .subchart -}} - postgresql.replication.password - {{- else -}} - replication.password - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_redis.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_redis.tpl deleted file mode 100644 index 18d9813c51..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_redis.tpl +++ /dev/null @@ -1,76 +0,0 @@ - -{{/* vim: set filetype=mustache: */}} -{{/* -Validate Redis™ required passwords are not empty. - -Usage: -{{ include "common.validations.values.redis.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where redis values are stored, e.g: "redis-passwords-secret" - - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.redis.passwords" -}} - {{- $enabled := include "common.redis.values.enabled" . -}} - {{- $valueKeyPrefix := include "common.redis.values.keys.prefix" . -}} - {{- $standarizedVersion := include "common.redis.values.standarized.version" . }} - - {{- $existingSecret := ternary (printf "%s%s" $valueKeyPrefix "auth.existingSecret") (printf "%s%s" $valueKeyPrefix "existingSecret") (eq $standarizedVersion "true") }} - {{- $existingSecretValue := include "common.utils.getValueFromKey" (dict "key" $existingSecret "context" .context) }} - - {{- $valueKeyRedisPassword := ternary (printf "%s%s" $valueKeyPrefix "auth.password") (printf "%s%s" $valueKeyPrefix "password") (eq $standarizedVersion "true") }} - {{- $valueKeyRedisUseAuth := ternary (printf "%s%s" $valueKeyPrefix "auth.enabled") (printf "%s%s" $valueKeyPrefix "usePassword") (eq $standarizedVersion "true") }} - - {{- if and (not $existingSecretValue) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $useAuth := include "common.utils.getValueFromKey" (dict "key" $valueKeyRedisUseAuth "context" .context) -}} - {{- if eq $useAuth "true" -}} - {{- $requiredRedisPassword := dict "valueKey" $valueKeyRedisPassword "secret" .secret "field" "redis-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRedisPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled redis. - -Usage: -{{ include "common.redis.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.redis.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.redis.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right prefix path for the values - -Usage: -{{ include "common.redis.values.key.prefix" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false -*/}} -{{- define "common.redis.values.keys.prefix" -}} - {{- if .subchart -}}redis.{{- else -}}{{- end -}} -{{- end -}} - -{{/* -Checks whether the redis chart's includes the standarizations (version >= 14) - -Usage: -{{ include "common.redis.values.standarized.version" (dict "context" $) }} -*/}} -{{- define "common.redis.values.standarized.version" -}} - - {{- $standarizedAuth := printf "%s%s" (include "common.redis.values.keys.prefix" .) "auth" -}} - {{- $standarizedAuthValues := include "common.utils.getValueFromKey" (dict "key" $standarizedAuth "context" .context) }} - - {{- if $standarizedAuthValues -}} - {{- true -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_validations.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_validations.tpl deleted file mode 100644 index 9a814cf40d..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/templates/validations/_validations.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Validate values must not be empty. - -Usage: -{{- $validateValueConf00 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-01") -}} -{{ include "common.validations.values.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" -*/}} -{{- define "common.validations.values.multiple.empty" -}} - {{- range .required -}} - {{- include "common.validations.values.single.empty" (dict "valueKey" .valueKey "secret" .secret "field" .field "context" $.context) -}} - {{- end -}} -{{- end -}} - -{{/* -Validate a value must not be empty. - -Usage: -{{ include "common.validations.value.empty" (dict "valueKey" "mariadb.password" "secret" "secretName" "field" "my-password" "subchart" "subchart" "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" - - subchart - String - Optional - Name of the subchart that the validated password is part of. -*/}} -{{- define "common.validations.values.single.empty" -}} - {{- $value := include "common.utils.getValueFromKey" (dict "key" .valueKey "context" .context) }} - {{- $subchart := ternary "" (printf "%s." .subchart) (empty .subchart) }} - - {{- if not $value -}} - {{- $varname := "my-value" -}} - {{- $getCurrentValue := "" -}} - {{- if and .secret .field -}} - {{- $varname = include "common.utils.fieldToEnvVar" . -}} - {{- $getCurrentValue = printf " To get the current value:\n\n %s\n" (include "common.utils.secret.getvalue" .) -}} - {{- end -}} - {{- printf "\n '%s' must not be empty, please add '--set %s%s=$%s' to the command.%s" .valueKey $subchart .valueKey $varname $getCurrentValue -}} - {{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/values.yaml b/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/values.yaml deleted file mode 100644 index f2df68e5e6..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/charts/common/values.yaml +++ /dev/null @@ -1,5 +0,0 @@ -## bitnami/common -## It is required by CI/CD tools and processes. -## @skip exampleValue -## -exampleValue: common-chart diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_ingress.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_ingress.tpl deleted file mode 100644 index e1b16d9284..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_ingress.tpl +++ /dev/null @@ -1,101 +0,0 @@ -{{/* -include "ingress" (dict "ingressName" "myingress" "ingress" path.to.ingress "serviceName" "the-service" "servicePort" 9090 "context" $) - -ingress: - enabled: true - certManager: false - pathType: ImplementationSpecific - apiVersion: "" - hostname: theservice.local - path: / - annotations: {} - tls: false - extraHosts: [] - extraPaths: [] - extraTls: [] - secrets: [] -*/}} -{{- define "lib.ingress" -}} -{{- $ctx := .context -}} -{{- $ingressName := .ingressName -}} -{{- $serviceName := .serviceName -}} -{{- $servicePort := .servicePort -}} -{{- $extraPaths := .ingress.extraPaths -}} -{{- if .ingress.enabled -}} -apiVersion: {{ include "common.capabilities.ingress.apiVersion" $ctx }} -kind: Ingress -metadata: - name: {{ $ingressName }} - namespace: {{ $ctx.Release.Namespace | quote }} - labels: {{- include "common.labels.standard" $ctx | nindent 4 }} - {{- if $ctx.Values.commonLabels }} - {{- include "common.tplvalues.render" ( dict "value" $ctx.Values.commonLabels "context" $ctx ) | nindent 4 }} - {{- end }} - annotations: - {{- if .ingress.certManager }} - kubernetes.io/tls-acme: "true" - {{- end }} - {{- if .ingress.annotations }} - {{- include "common.tplvalues.render" ( dict "value" .ingress.annotations "context" $ctx ) | nindent 4 }} - {{- end }} - {{- if $ctx.Values.commonAnnotations }} - {{- include "common.tplvalues.render" ( dict "value" $ctx.Values.commonAnnotations "context" $ctx ) | nindent 4 }} - {{- end }} -spec: - rules: - {{- if .ingress.hostname }} - - host: {{ .ingress.hostname }} - http: - paths: - - path: {{ .ingress.path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .ingress.pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- include "lib.safeToYaml" $extraPaths | nindent 10 }} - {{- end }} - {{- range .ingress.extraHosts }} - - host: {{ .name | quote }} - http: - paths: - - path: {{ default "/" .path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- include "lib.safeToYaml" $extraPaths | nindent 10 }} - {{- end }} - {{/* .ingress.hosts is deprecated */}} - {{- range .ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- if .path }} - - path: {{ default "/" .path }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: {{ default "ImplementationSpecific" .pathType }} - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- end }} - {{- range .paths }} - - path: {{ . | quote }} - {{- if eq "true" (include "common.ingress.supportsPathType" $ctx) }} - pathType: ImplementationSpecific - {{- end }} - backend: {{- include "common.ingress.backend" (dict "serviceName" $serviceName "servicePort" $servicePort "context" $ctx) | nindent 14 }} - {{- end }} - {{- end }} - {{/* .ingress.hosts is deprecated */}} - {{- if or .ingress.tls .ingress.extraTls }} - tls: - {{- if .ingress.tls }} - - hosts: - - {{ .ingress.hostname }} - secretName: {{ printf "%s-tls" .ingress.hostname }} - {{- end }} - {{- if .ingress.extraTls }} - {{- include "common.tplvalues.render" ( dict "value" .ingress.extraTls "context" $ctx ) | nindent 4 }} - {{- end }} - {{- end }} -{{- end }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib.tpl deleted file mode 100644 index deaa325c42..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib.tpl +++ /dev/null @@ -1,51 +0,0 @@ - -{{/* -Call a template function in the context of a sub-chart, as opposed to the -current context of the caller -{{ include "lib.call-nested" (list . "subchart" "template_name") }} -*/}} -{{- define "lib.call-nested" }} -{{- $dot := index . 0 }} -{{- $subchart := index . 1 | splitList "." }} -{{- $template := index . 2 }} -{{- $values := $dot.Values }} -{{- range $subchart }} -{{- $values = index $values . }} -{{- end }} -{{- include $template (dict "Chart" (dict "Name" (last $subchart)) "Values" $values "Release" $dot.Release "Capabilities" $dot.Capabilities) }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "lib.labels" -}} -helm.sh/chart: {{ include "common.names.chart" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{ include "common.labels.matchLabels" . }} -{{- end -}} - -{{/* -Create the name of the service account to use -*/}} -{{- define "lib.serviceAccountName" -}} -{{- if .Values.serviceAccount.create -}} - {{ default (include "common.names.fullname" .) .Values.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.serviceAccount.name }} -{{- end -}} -{{- end -}} - - -{{/* -Given a variable, if it is not false, output as Yaml - -include "lib.safeToYaml" .Values.something -*/}} -{{- define "lib.safeToYaml" -}} -{{- if . -}} -{{ toYaml . }} -{{- end -}} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_image.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_image.tpl deleted file mode 100644 index 77ed723b46..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_image.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* -Given a setup like the following: - -# global and on down are optional -global: - image: - registry: my-registry.com - tag: latest - -# This is the imageRoot -somecomponent: - image: - registry: my-other-registry.com - tag: 1.0.0 - repository: bobs/coolthing - -*/}} -{{/* -{{ include "utils.image.url" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "lib.image.url" -}} -{{- $globalRegistryName := "index.docker.io" -}} -{{- $globalTag := "latest" -}} -{{- if .global -}} - {{- if .global.image -}} - {{- if .global.image.registry -}} - {{- $globalRegistryName = .global.image.registry -}} - {{- end -}} - {{- if .global.image.tag -}} - {{- $globalTag = .global.image.tag -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{- $repository := .imageRoot.repository -}} -{{- $registry := default $globalRegistryName .imageRoot.registry -}} -{{- $tag := default $globalTag .imageRoot.tag -}} -{{- printf "%s/%s:%s" $registry $repository $tag -}} -{{- end -}} - -{{/* -{{ include "utils.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "lib.image" -}} -image: {{ include "lib.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_volumes.tpl b/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_volumes.tpl deleted file mode 100644 index 93f1139b1b..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/templates/_lib_volumes.tpl +++ /dev/null @@ -1,34 +0,0 @@ - - -{{/* -given a variable list, create a list of volumes - -extraVolumes: - - name: pv-data - persistentVolumeClaim: - claimName: pvc-persistent-cfg - - name: scratch - emptyDir: {} - -include "lib.volumes" .Values.extraVolumes - -*/}} -{{- define "lib.volumes" -}} -{{ include "lib.safeToYaml" . }} -{{- end -}} - -{{/* -given a variable list, create a list of volumeMounts - -extraVolumeMounts: - - name: pv-data - mountPath: /data - - name: scratch - mountPath: /scratch - -include "lib.volumeMounts" .Values.extraVolumeMounts - -*/}} -{{- define "lib.volumeMounts" -}} -{{ include "lib.safeToYaml" . }} -{{- end -}} diff --git a/charts/btp/sextant/2.3.0/charts/standard-defs/values.yaml b/charts/btp/sextant/2.3.0/charts/standard-defs/values.yaml deleted file mode 100644 index 1ff6597693..0000000000 --- a/charts/btp/sextant/2.3.0/charts/standard-defs/values.yaml +++ /dev/null @@ -1 +0,0 @@ -exampleValue: example diff --git a/charts/btp/sextant/2.3.0/questions.yaml b/charts/btp/sextant/2.3.0/questions.yaml deleted file mode 100644 index e933cb357f..0000000000 --- a/charts/btp/sextant/2.3.0/questions.yaml +++ /dev/null @@ -1,143 +0,0 @@ ---- -# Rancher marketplace specific question file, source: helm-charts/sextant/rancher-marketplace-questions.yaml -questions: -# User Credentials - - variable: imagePullSecrets.createSecret.registryUser - default: "" - required: true - type: string - label: Username - description: Your username for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - - variable: imagePullSecrets.createSecret.registryPassword - default: "" - required: true - type: password - label: Password - description: Your password for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - # Ingress Settings - - variable: ingress.enabled - default: "false" - required: true - type: boolean - label: Enable Sextant Ingress - description: Enable an ingress for Sextant - group: "Ingress Settings" - show_subquestion_if: true - subquestions: - - variable: ingress.hostname - default: "" - required: false - type: string - label: Ingress hostname - description: Primary hostname for the ingress - group: "Ingress Settings" - - variable: ingress.path - default: "" - required: false - type: string - label: Hostname Path - description: Path for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.pathType - default: "" - required: false - type: string - label: Hostname PathType - description: PathType for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.certManager - default: "false" - required: false - type: boolean - label: Enable the acme certmanager for this ingress - description: Enable the acme certmanager for this ingress - group: "Ingress Settings" - - variable: ingress.annotations - default: "" - required: false - type: string - label: Ingress annotations - description: Annotations for the ingress - group: "Ingress Settings" - - variable: ingress.tls - default: false - required: false - type: boolean - label: Ingress TLS - description: Enable tls on the ingress with a secrete at hostname-tls - group: "Ingress Settings" - # Sextant database settings - - variable: postgres.enabled - default: "true" - required: true - type: boolean - label: Use internal postgres database - description: Create an internal postgres instance for Sextant, or if not supply details of an external postgres - group: "Database settings" - show_subquestion_if: false - subquestions: - - variable: postgres.user - default: "postgres" - required: true - type: string - label: Postgres user - description: User for the postgres database - group: "Database settings" - - variable: postgres.host - default: "localhost" - required: true - type: string - label: Postgres host - description: Host for the postgres database - group: "Database settings" - - variable: postgres.database - default: "postgres" - required: true - type: string - label: Database name - description: Database name for the postgres database - group: "Database settings" - - variable: postgres.port - default: "5432" - required: true - type: int - label: Postgres port - description: Port for the postgres database - group: "Database settings" - - variable: postgres.password - default: "postgres" - required: true - type: password - label: Postgres password - description: Password for the postgres database - group: "Database settings" - - variable: edition - default: "community" - required: true - type: string - label: Sextant edition - description: The Sextant edition to install - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.enabled - default: "true" - type: boolean - required: true - label: Create image pull secret - description: Automatically create an image pull secret - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.registryUrl - default: "dev.catenasys.com:8084" - type: string - required: true - label: BTP image registry URL - description: Set the default image registry URL - group: "Advanced settings" - - variable: postgres.persistence.enabled - default: "true" - type: boolean - required: true - label: Postgres persistance - description: Allocate a PVC for the internal postgres instance - group: "Advanced settings" \ No newline at end of file diff --git a/charts/btp/sextant/2.3.0/rancher-marketplace-questions.yaml b/charts/btp/sextant/2.3.0/rancher-marketplace-questions.yaml deleted file mode 100644 index 4d2acd85f7..0000000000 --- a/charts/btp/sextant/2.3.0/rancher-marketplace-questions.yaml +++ /dev/null @@ -1,146 +0,0 @@ -## -## This is the Rancher marketplace specific overlay file used at rancher/partner-charts/packages/btp/sextant/overlay/questions.yaml -## ---- -# Rancher marketplace specific question file, source: helm-charts/sextant/rancher-marketplace-questions.yaml -questions: -# User Credentials - - variable: imagePullSecrets.createSecret.registryUser - default: "" - required: true - type: string - label: Username - description: Your username for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - - variable: imagePullSecrets.createSecret.registryPassword - default: "" - required: true - type: password - label: Password - description: Your password for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - # Ingress Settings - - variable: ingress.enabled - default: "false" - required: true - type: boolean - label: Enable Sextant Ingress - description: Enable an ingress for Sextant - group: "Ingress Settings" - show_subquestion_if: true - subquestions: - - variable: ingress.hostname - default: "" - required: false - type: string - label: Ingress hostname - description: Primary hostname for the ingress - group: "Ingress Settings" - - variable: ingress.path - default: "" - required: false - type: string - label: Hostname Path - description: Path for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.pathType - default: "" - required: false - type: string - label: Hostname PathType - description: PathType for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.certManager - default: "false" - required: false - type: boolean - label: Enable the acme certmanager for this ingress - description: Enable the acme certmanager for this ingress - group: "Ingress Settings" - - variable: ingress.annotations - default: "" - required: false - type: string - label: Ingress annotations - description: Annotations for the ingress - group: "Ingress Settings" - - variable: ingress.tls - default: false - required: false - type: boolean - label: Ingress TLS - description: Enable tls on the ingress with a secrete at hostname-tls - group: "Ingress Settings" - # Sextant database settings - - variable: postgres.enabled - default: "true" - required: true - type: boolean - label: Use internal postgres database - description: Create an internal postgres instance for Sextant, or if not supply details of an external postgres - group: "Database settings" - show_subquestion_if: false - subquestions: - - variable: postgres.user - default: "postgres" - required: true - type: string - label: Postgres user - description: User for the postgres database - group: "Database settings" - - variable: postgres.host - default: "localhost" - required: true - type: string - label: Postgres host - description: Host for the postgres database - group: "Database settings" - - variable: postgres.database - default: "postgres" - required: true - type: string - label: Database name - description: Database name for the postgres database - group: "Database settings" - - variable: postgres.port - default: "5432" - required: true - type: int - label: Postgres port - description: Port for the postgres database - group: "Database settings" - - variable: postgres.password - default: "postgres" - required: true - type: password - label: Postgres password - description: Password for the postgres database - group: "Database settings" - - variable: edition - default: "community" - required: true - type: string - label: Sextant edition - description: The sextant edition to install - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.enabled - default: "true" - type: boolean - required: true - label: Create image pull secret - description: Automatically create an image pull secret - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.registryUrl - default: "dev.catenasys.com:8084" - type: string - required: true - label: BTP image registry URL - description: Set the default image registry URL - group: "Advanced settings" - - variable: postgres.persistence.enabled - default: "true" - type: boolean - required: true - label: Postgres persistance - description: Allocate a PVC for the internal postgres instance - group: "Advanced settings" diff --git a/charts/btp/sextant/2.3.0/rancher-marketplace-values.yaml b/charts/btp/sextant/2.3.0/rancher-marketplace-values.yaml deleted file mode 100644 index 795efe889d..0000000000 --- a/charts/btp/sextant/2.3.0/rancher-marketplace-values.yaml +++ /dev/null @@ -1,235 +0,0 @@ -## -## This is the Rancher marketplace specific values file used at rancher/partner-charts/packages/btp/sextant/overlay/values.yaml -## -## The following values have been changed from default: -## - edition: community -## - imagePullSecrets.enabled: true -## - imagePullSecrets.createSecret.enabled: true -## - imagePullSecrets.createSecret.registryUrl: "dev.catenasys.com:8084" -## - postgres.persistence.enabled: true ---- -# Rancher marketplace specific values file, source: helm-charts/sextant/rancher-marketplace-values.yaml -edition: community - -editionImages: - ui: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-standard - tag: BTP2.1.0-2.1.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-premium - tag: BTP2.1.0-2.1.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-enterprise - tag: BTP2.1.0-2.1.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-enterprise - tag: BTP2.1.0-2.2.1 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-community - tag: BTP2.1.0 - api: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-standard - tag: BTP2.1.0-2.2.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-premium - tag: BTP2.1.0-2.2.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-enterprise - tag: BTP2.1.0-2.2.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-enterprise - tag: BTP2.1.0-2.3.3 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-community - tag: BTP2.1.0 - -deployment: - name: sextant - namespace: default - -imagePullSecrets: - ## @md | `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | - enabled: true - ## @md | `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | - value: [] - - createSecret: - ## @md | `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | - enabled: true - ## @md | `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | - registryUrl: "dev.catenasys.com:8084" - ## @md | `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | - registryUser: - ## @md | `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | - registryPassword: - -## @md | `replicaCount` | number of Sextant replicas to run | int | 1 | -replicaCount: 1 - -## @md | `logging` | default logging level | string | "1" | -logging: "1" - -ui: - ## @md | `ui.env` | environment variables to set in the UI container | map | nil | - env: - ## @md | `ui.image` | UI image settings | map | N/A | - image: - registry: - ## @md | `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | - repository: blockchaintp/sextant - ## @md | `ui.image.tag` | UI image tag | string | "latest" | - tag: latest - ## @md | `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `ui.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "400Mi" - requests: - cpu: "20m" - memory: "40Mi" -api: - ## @md | `api.env` | API environment settings | map | N/A | - env: - ## @md | `api.image` | API image settings | map | N/A | - image: - registry: - ## @md | `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | - repository: blockchaintp/sextant-api - ## @md | `api.image.tag` | API image tag | string | "latest" | - tag: latest - ## @md | `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `api.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "300Mi" - requests: - cpu: "20m" - memory: "80Mi" -noxy: - ## @md | `noxy.env` | Noxy environment variables | map | N/A | - env: - ## @md | `noxy.image` | noxy image settings | map | N/A | - image: - registry: - ## @md | `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | - repository: blockchaintp/noxy - ## @md | `noxy.image.tag` | noxy image tag | string | "latest" | - tag: BTP2.1.0 - ## @md | `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `noxy.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "60Mi" - requests: - cpu: "20m" - memory: "30Mi" - - -serviceAccount: - ## @md | `serviceAccount.create` | if true create the service account | boolean | true | - create: true - ## @md | `serviceAccount.name` | name of the service account for sextant | string | nil | - name: - -postgres: - # if enabled we allocate a postgres database here - ## @md | `postgres.enabled` | if true create an internal postgres instance | boolean | true | - enabled: true - ## @md | `postgres.env` | postgres environment variables | map | N/A | - env: - image: - registry: - ## @md | `postgres.image.repository` | postgres image repository | string | "postgres" | - repository: postgres - ## @md | `postgres.image.tag` | postgres image tag | string | "11" | - tag: "11" - ## @md | `postgres.user` | user for the postgres database | string | "postgres" | - user: postgres - ## @md | `postgres.host` | host for the postgres database | string | "localhost" | - host: localhost - ## @md | `postgres.database` | database for the postgres database | string | "postgres" | - database: postgres - ## @md | `postgres.port` | port for the postgres database | int | 5432 | - port: 5432 - ## @md | `postgres.password` | password for the postgres database | string | "postgres" | - password: postgres - ## @md | `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | - existingPasswordSecret: - ## @md | `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | - existingPasswordSecretKey: password - ## @md | `postgres.tls` | postgres TLS configuration | string | nil | - tls: - ## @md | `postgres.persistence` | postgres persistence settings | map | N/A | - persistence: - ## @md | `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | - enabled: true - ## @md | `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | - annotations: {} - ## @md | `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | - accessModes: - - "ReadWriteOnce" - ## if set to "-" (empty string) then storageClassName: "", which disables dynamic provisioning - ## if undefined or set to null, no storageClassName is set and the clusters default StorageClass will be used - ## if a storageClass name is set then storageClassName: "setValue" - ## @md | `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | - storageClass: - ## @md | `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | - size: "40Gi" - ## @md | `postgres.resources` | UI resources | map | nil | - resources: - -service: - ## @md | `service.type` | Sextant service type | string | ClusterIP | - type: ClusterIP - ## @md | `service.port` | Sextant service port | int | 8000 | - port: 8000 - - -ingress: - ## @md | `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | - apiVersion: "" - ## @md | `ingress.enabled` | true to enable the ingress to the main service rest-api | false | - enabled: false - ## @md | `ingress.certManager` | true to enable the acme certmanager for this ingress | false | - certManager: false - ## @md | `ingress.hostname` | primary hostname for the ingress | false | - hostname: - ## @md | `ingress.path` | path for the ingress's primary hostname | / | - path: / - ## @md | `ingress.pathType` | pathType for the ingress's primary hostname | nil | - pathType: - ## @md | `ingress.annotations` | annotations for the ingress | {} | - annotations: {} - ## @md | `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | - tls: false - ## @md | `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | - extraHosts: [] - ## @md | `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | - extraPaths: [] - ## @md | `ingress.extraTls` | list of extra tls entries | [] | - extraTls: [] - ## @md | `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | - hosts: [] - -## @md | `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -extraVolumes: [] -## @md | `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | -extraVolumeMounts: [] diff --git a/charts/btp/sextant/2.3.0/sextant/details.yaml b/charts/btp/sextant/2.3.0/sextant/details.yaml deleted file mode 100644 index 44a8c2c7a8..0000000000 --- a/charts/btp/sextant/2.3.0/sextant/details.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v2 -name: sextant -description: Sextant - -# Replaces the index.js in the deployment templates directory, sawtooth/index -# The deploymentType and deploymentVersion help build the object structure -deploymentType: sextant -deploymentVersion: 2.1 - -# absolute path to form.js -form: sextant/sextant/form.js - -# absolute path to summary.jst -summary: sextant/sextant/summary.js - -# paths to be used in the getField function -namePath: deployment.name -namespacePath: deployment.namespace - -# additional fields for the button -# form: -title: Sextant -sextantVersion: 2.1 -buttonIcon: /sextant-detailed.png -features: - -# documentation pull down mark down diff --git a/charts/btp/sextant/2.3.0/sextant/form.js b/charts/btp/sextant/2.3.0/sextant/form.js deleted file mode 100644 index c80d1995c0..0000000000 --- a/charts/btp/sextant/2.3.0/sextant/form.js +++ /dev/null @@ -1,205 +0,0 @@ -const options = require('./options') -const validators = require('./validators') -// `^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*` -const form = [ - - 'Sextant Deployment', - [ - { - id: 'deployment.name', - title: 'Deployment Name', - helperText: 'The name of the deployment', - component: 'text', - editable: { - new: true, - }, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }, - { - id: 'deployment.namespace', - title: 'Kubernetes Namespace', - helperText: 'The Kubernetes namespace', - component: 'text', - editable: { - new: true, - }, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }, - - ], - - { - id: 'postgres.enabled', - title: 'Postgres Enabled', - helperText: - 'If enabled, a local postgres database instance will be created', - component: 'radio', - default: false, - dataType: 'boolean', - editable: { - new: true, - }, - row: true, - options: options.activated, - validate: { - type: 'string', - methods: [['required', 'Required']], - }, - }, - { - id: 'postgres.persistence.enabled', - title: 'Postgres Persistence', - helperText: - 'If enabled data will be stored on PersistentVolumeClaims ', - component: 'radio', - default: false, - dataType: 'boolean', - editable: { - new: true, - }, - row: true, - options: options.activated, - linked: { - linkedId: 'postgres.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [['required', 'Required']], - }, - }, - { - id: 'postgres.persistence.storageClass', - title: 'Postgres StorageClass', - helperText: 'The name of the StorageClass for the PersistentVolumeClaims', - component: 'text', - default: null, - editable: { - new: true, - }, - linked: { - linkedId: 'postgres.persistence.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.dns1123, - ], - }, - }, - - 'Postgres Credentials', - { - id: 'passwordOrSecret', - title: 'Password Or Secret', - helperText: 'Choose whether to enter a database password or the name of a secret', - component: 'radio', - default: true, - dataType: 'boolean', - row: true, - options: options.passwordOrSecret, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - ], - }, - }, - { - id: 'postgres.password', - title: 'Postgres Password', - helperText: 'The password for the postgres instance', - component: 'text', - default: '', - linked: { - linkedId: 'passwordOrSecret', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.password, - ], - }, - }, - { - id: 'postgres.existingPasswordSecret', - title: 'Postgres Password Secret Name', - helperText: 'The name of a pre-existing secret with a field "password" containing the password of the postgres instance', - component: 'text', - default: '', - linked: { - linkedId: 'passwordOrSecret', - visibilityParameter: 'false', // for what value of linkedId, will this component be visible - }, - validate: { - type: 'string', - methods: [ - validators.password, - ], - }, - }, - - 'Image Pull Secrets', - - { - id: 'imagePullSecrets.enabled', - title: 'Do you need to enable image pull secrets?', - helperText: 'Provide secrets to be injected into the namespace and used to pull images from your secure registry', - component: 'radio', - default: false, - dataType: 'boolean', - row: true, - options: options.yesNo, - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - ], - }, - }, { - id: 'imagePullSecrets.value', - title: 'Image Pull Secrets', - helperText: null, - default: null, - linked: { - linkedId: 'imagePullSecrets.enabled', - visibilityParameter: 'true', // for what value of linkedId, will this component be visible - }, - list: { - mainField: 'name', - schema: [{ - id: 'name', - title: 'Name', - helperText: 'The name of the secret', - component: 'text', - validate: { - type: 'string', - methods: [ - ['required', 'Required'], - validators.dns1123, - ], - }, - }], - table: [{ - title: 'Name', - name: 'name', - }], - }, - }, -] - -module.exports = form diff --git a/charts/btp/sextant/2.3.0/sextant/options.js b/charts/btp/sextant/2.3.0/sextant/options.js deleted file mode 100644 index 97b14d7217..0000000000 --- a/charts/btp/sextant/2.3.0/sextant/options.js +++ /dev/null @@ -1,33 +0,0 @@ -const activated = [{ - value: true, - title: 'Enabled', -}, { - value: false, - title: 'Disabled', -}] - -const passwordOrSecret = [ - { - value: true, - title: 'Password', - }, - { - value: false, - title: 'Existing Secret', - }, - -] - -const yesNo = [{ - value: true, - title: 'Yes', -}, { - value: false, - title: 'No', -}] - -module.exports = { - activated, - yesNo, - passwordOrSecret, -} diff --git a/charts/btp/sextant/2.3.0/sextant/summary.js b/charts/btp/sextant/2.3.0/sextant/summary.js deleted file mode 100644 index 1e01e1b84e..0000000000 --- a/charts/btp/sextant/2.3.0/sextant/summary.js +++ /dev/null @@ -1,17 +0,0 @@ -const summary = (values) => { - const { - deployment, - } = values - - return [ - { - title: 'Deployment Name', - value: deployment.name, - }, { - title: 'Namespace', - value: deployment.namespace, - }, - ] -} - -module.exports = summary diff --git a/charts/btp/sextant/2.3.0/sextant/validators.js b/charts/btp/sextant/2.3.0/sextant/validators.js deleted file mode 100644 index b6f87a63db..0000000000 --- a/charts/btp/sextant/2.3.0/sextant/validators.js +++ /dev/null @@ -1,11 +0,0 @@ -const dns1123 = [ - 'matches', ['^[a-z]([-a-z0-9]*[a-z0-9])*$'], - 'a DNS-1123 label must consist of lower case alphanumeric characters or \'-\', and must start and end with an alphanumeric character', -] - -const password = ['matches', '^\\S*$', 'Cannot contain spaces'] - -module.exports = { - dns1123, - password, -} diff --git a/charts/btp/sextant/2.3.0/templates/NOTES.txt b/charts/btp/sextant/2.3.0/templates/NOTES.txt deleted file mode 100644 index a296fc3c04..0000000000 --- a/charts/btp/sextant/2.3.0/templates/NOTES.txt +++ /dev/null @@ -1,27 +0,0 @@ - - - -1. Get the initial Sextant application username and password by running this command - kubectl describe pod/{{ template "common.names.fullname" .}}-0 --namespace {{ .Release.Namespace }} | grep INITIAL_ - -2. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "common.names.fullname" . }}) - export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "common.names.fullname" . }}' - export SERVICE_IP=$(kubectl get svc {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods -l "app.kubernetes.io/name={{ template "common.names.fullname" . }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:80 -{{- end }} diff --git a/charts/btp/sextant/2.3.0/templates/_helpers.tpl b/charts/btp/sextant/2.3.0/templates/_helpers.tpl deleted file mode 100644 index bba7373307..0000000000 --- a/charts/btp/sextant/2.3.0/templates/_helpers.tpl +++ /dev/null @@ -1,100 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Create a random alphanumeric password string. -We append a random number to the string to avoid password validation errors -*/}} -{{- define "sextant.randomPassword" -}} -{{- randAlphaNum 25 -}}{{- randNumeric 1 -}} -{{- end -}} - -{{/* -{{ include "sextant.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global)}} -*/}} -{{- define "sextant.image" -}} -image: {{ include "sextant.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} - -{{/* -{{ include "sextant.image.url" (dict "imageRoot" .Values.api.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global)}} -*/}} -{{- define "sextant.image.url" -}} - {{- $registry := .imageRoot.registry -}} - {{- $repository := .imageRoot.repository -}} - {{- $tag := .imageRoot.tag -}} - {{- if eq .edition "development" -}} - {{- $registry = .imageRoot.registry -}} - {{- $repository = .imageRoot.repository -}} - {{- $tag = .imageRoot.tag -}} - {{- else if eq .edition "aws-standard" -}} - {{- $registry = .editionRoot.awsStandard.registry -}} - {{- $repository = .editionRoot.awsStandard.repository -}} - {{- $tag = .editionRoot.awsStandard.tag -}} - {{- else if eq .edition "aws-premium" -}} - {{- $registry = .editionRoot.awsPremium.registry -}} - {{- $repository = .editionRoot.awsPremium.repository -}} - {{- $tag = .editionRoot.awsPremium.tag -}} - {{- else if eq .edition "aws-enterprise" -}} - {{- $registry = .editionRoot.awsEnterprise.registry -}} - {{- $repository = .editionRoot.awsEnterprise.repository -}} - {{- $tag = .editionRoot.awsEnterprise.tag -}} - {{- else if eq .edition "enterprise" -}} - {{- $registry = .editionRoot.enterprise.registry -}} - {{- $repository = .editionRoot.enterprise.repository -}} - {{- $tag = .editionRoot.enterprise.tag -}} - {{- else if eq .edition "community" -}} - {{- $registry = .editionRoot.community.registry -}} - {{- $repository = .editionRoot.community.repository -}} - {{- $tag = .editionRoot.community.tag -}} - {{- else -}} - {{- $registry = .imageRoot.registry -}} - {{- $repository = .imageRoot.repository -}} - {{- $tag = .imageRoot.tag -}} - {{- end -}} - {{- if $registry -}} - {{- printf "%s/%s:%s" $registry $repository $tag -}} - {{- else -}} - {{- printf "%s:%s" $repository $tag -}} - {{- end -}} -{{- end -}} - -{{/* -Local alternative of lib.image.url until the correct version is stable -{{ include "lib.image.url" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "override.lib.image.url" -}} - {{- $globalRegistryName := "" -}} - {{- $globalTag := "latest" -}} - {{- if .global -}} - {{- if .global.image -}} - {{- if .global.image.registry -}} - {{- $globalRegistryName = .global.image.registry -}} - {{- end -}} - {{- if .global.image.tag -}} - {{- $globalTag = .global.image.tag -}} - {{- end -}} - {{- end -}} - {{- end -}} - {{- $repository := .imageRoot.repository -}} - {{- $registry := default $globalRegistryName .imageRoot.registry -}} - {{- $tag := default $globalTag .imageRoot.tag -}} - {{- if $registry -}} - {{- printf "%s/%s:%s" $registry $repository $tag -}} - {{- else -}} - {{- printf "%s:%s" $repository $tag -}} - {{- end -}} -{{- end -}} - -{{/* -Local alternative of lib.image.url until the correct version is stable -{{ include "lib.image" (dict "imageRoot" .Values.sawtooth.containers.validator.image "global" .Values.global)}} -*/}} -{{- define "override.lib.image" -}} -image: {{ include "override.lib.image.url" . }} -imagePullPolicy: {{ default "IfNotPresent" .imageRoot.pullPolicy }} -{{- end -}} - -{{- define "dockerconfigjson" }} -{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imagePullSecrets.createSecret.registryUrl (printf "%s:%s" .Values.imagePullSecrets.createSecret.registryUser .Values.imagePullSecrets.createSecret.registryPassword | b64enc) | b64enc }} -{{- end }} diff --git a/charts/btp/sextant/2.3.0/templates/ingress.yaml b/charts/btp/sextant/2.3.0/templates/ingress.yaml deleted file mode 100644 index 7c709f9c37..0000000000 --- a/charts/btp/sextant/2.3.0/templates/ingress.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -{{- $serviceName := include "common.names.fullname" . -}} -{{- $ingressName := printf "%s" $serviceName -}} -{{- $servicePort := .Values.service.port -}} -{{ include "lib.ingress" (dict "ingressName" $ingressName "ingress" .Values.ingress "serviceName" $serviceName "servicePort" $servicePort "context" $) }} diff --git a/charts/btp/sextant/2.3.0/templates/regsecret.yaml b/charts/btp/sextant/2.3.0/templates/regsecret.yaml deleted file mode 100644 index 5de039f15a..0000000000 --- a/charts/btp/sextant/2.3.0/templates/regsecret.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if .Values.imagePullSecrets.createSecret.enabled }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "common.names.fullname" . }}-btp-lic - labels: {{- include "lib.labels" . | nindent 4 }} - component: sextant -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ template "dockerconfigjson" . }} -{{- end }} diff --git a/charts/btp/sextant/2.3.0/templates/service.yaml b/charts/btp/sextant/2.3.0/templates/service.yaml deleted file mode 100644 index 3f76206e34..0000000000 --- a/charts/btp/sextant/2.3.0/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "common.names.fullname" . }} - labels: {{- include "lib.labels" . | nindent 4 }} - component: sextant -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: 80 - protocol: TCP - selector: {{- include "common.labels.matchLabels" . | nindent 4}} diff --git a/charts/btp/sextant/2.3.0/templates/serviceaccount.yaml b/charts/btp/sextant/2.3.0/templates/serviceaccount.yaml deleted file mode 100644 index f989a72515..0000000000 --- a/charts/btp/sextant/2.3.0/templates/serviceaccount.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -{{- if .Values.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "lib.serviceAccountName" . }} - namespace: {{.Release.Namespace}} -{{- if or .Values.imagePullSecrets.enabled .Values.imagePullSecrets.createSecret.enabled }} -imagePullSecrets: -{{- if.Values.imagePullSecrets.createSecret.enabled }} - - name: {{ template "common.names.fullname" . }}-btp-lic -{{- end }} -{{- range .Values.imagePullSecrets.value }} - - name: {{ .name }} -{{- end }} -{{- end }} -{{- end }} diff --git a/charts/btp/sextant/2.3.0/templates/statefulset.yaml b/charts/btp/sextant/2.3.0/templates/statefulset.yaml deleted file mode 100644 index c614751cc2..0000000000 --- a/charts/btp/sextant/2.3.0/templates/statefulset.yaml +++ /dev/null @@ -1,141 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "common.names.fullname" . }} - namespace: {{.Release.Namespace}} - labels: {{- include "lib.labels" . | nindent 4 }} -spec: - selector: - matchLabels: {{- include "common.labels.matchLabels" . | nindent 6}} - serviceName: {{ include "common.names.fullname" . }} - template: - metadata: - labels: {{- include "lib.labels" .| nindent 8}} - spec: - serviceAccountName: {{ include "lib.serviceAccountName" . }} - containers: - {{- if .Values.postgres.enabled }} - - name: postgres - {{- include "override.lib.image" (dict "imageRoot" .Values.postgres.image "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: {{.Values.postgres.port }} - resources: {{- include "lib.safeToYaml" .Values.postgres.resources | nindent 12 }} - env: - - name: PGDATA - value: /data/sextant - - name: POSTGRES_PASSWORD - {{- if .Values.postgres.existingPasswordSecret }} - valueFrom: - secretKeyRef: - name: {{ .Values.postgres.existingPasswordSecret }} - key: password - {{- else }} - value: {{ .Values.postgres.password }} - {{- end }} - {{- include "lib.safeToYaml" .Values.postgres.env | nindent 12 }} - volumeMounts: - - mountPath: /data - name: "pgdata" - {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - {{- end }} - - name: api - {{- include "sextant.image" (dict "imageRoot" .Values.api.image "editionRoot" .Values.editionImages.api "edition" .Values.edition "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 8080 - protocol: TCP - resources: {{- include "lib.safeToYaml" .Values.api.resources | nindent 12 }} - env: - - name: PORT - value: "8080" - - name: LOGGING - value: {{ default "1" .Values.logging |quote }} - - name: POSTGRES_USER - value: {{ default "postgres" .Values.postgres.user }} - - name: INITIAL_PASSWORD - {{- if .Values.intialPassword }} - value: {{ .Values.initialPassword | quote}} - {{- else }} - value: {{ include "sextant.randomPassword" .}} - {{- end }} - - name: INITIAL_USER - value: {{ default "admin" .Values.initialUser}} - - name: POSTGRES_PASSWORD - {{- if .Values.postgres.existingPasswordSecret }} - valueFrom: - secretKeyRef: - name: {{.Values.postgres.existingPasswordSecret}} - key: {{.Values.postgres.existingPasswordSecretKey}} - {{- else }} - value: {{ .Values.postgres.password }} - {{- end }} - - name: POSTGRES_DB - value: {{ default "postgres" .Values.postgres.database }} - - name: POSTGRES_SERVICE_HOST - value: {{ default "localhost" .Values.postgres.host }} - - name: POSTGRES_SERVICE_PORT - value: {{ default "5432" .Values.postgres.port | quote }} - {{- if .Values.postgres.tls }} - - name: POSTGRES_TLS - value: {{ .Values.postgres.tls | quote }} - {{- end }} - {{ if eq .Values.edition "enterprise" -}} - - name: NODE_ENV - value: "development" - {{- end -}} - {{- include "lib.safeToYaml" .Values.api.env | nindent 12 }} - volumeMounts: - {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - - name: frontend - {{- include "sextant.image" (dict "imageRoot" .Values.ui.image "editionRoot" .Values.editionImages.ui "edition" .Values.edition "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 8081 - protocol: TCP - resources: {{- include "lib.safeToYaml" .Values.ui.resources | nindent 12 }} - env: - - name: PORT - value: "8081" - {{- include "lib.safeToYaml" .Values.ui.env | nindent 12 }} - volumeMounts: {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - - name: router - {{- include "override.lib.image" (dict "imageRoot" .Values.noxy.image "global" .Values.global ) | nindent 10 }} - ports: - - containerPort: 80 - protocol: TCP - env: - - name: NOXY_DEFAULT_HOST - value: localhost - - name: NOXY_DEFAULT_PORT - value: "8081" - - name: NOXY_API_FRONT - value: /api/v1 - - name: NOXY_API_HOST - value: localhost - - name: NOXY_API_PORT - value: "8080" - - name: NOXY_PROXY_FRONT - value: /proxy - - name: NOXY_PROXY_HOST - value: localhost - - name: NOXY_PROXY_PORT - value: "8080" - {{- include "lib.safeToYaml" .Values.noxy.env | nindent 12 }} - resources: {{- include "lib.safeToYaml" .Values.noxy.resources | nindent 12 }} - volumeMounts: {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} - restartPolicy: "Always" - volumes: {{- include "lib.volumes" .Values.extraVolumes | nindent 8 }} -{{- if not .Values.postgres.persistence.enabled }} - - name: "pgdata" - emptyDir: {} -{{- else }} - volumeClaimTemplates: - - metadata: - name: "pgdata" - annotations: {{- include "lib.safeToYaml" .Values.postgres.persistence.annotations | nindent 10 }} - spec: - accessModes: {{- include "lib.safeToYaml" .Values.postgres.persistence.accessModes | nindent 10 }} - storageClassName: {{ .Values.postgres.persistence.storageClass | quote }} - resources: - requests: - storage: {{ .Values.postgres.persistence.size | quote }} -{{- end }} diff --git a/charts/btp/sextant/2.3.0/tests/__snapshot__/ingress_test.yaml.snap b/charts/btp/sextant/2.3.0/tests/__snapshot__/ingress_test.yaml.snap deleted file mode 100644 index 86edbf0056..0000000000 --- a/charts/btp/sextant/2.3.0/tests/__snapshot__/ingress_test.yaml.snap +++ /dev/null @@ -1,11 +0,0 @@ -ingress links to service properly: - 1: | - rules: - - host: test-host - http: - paths: - - backend: - serviceName: test-sextant - servicePort: 8000 - path: /path - pathType: ImplementationSpecific diff --git a/charts/btp/sextant/2.3.0/tests/__snapshot__/stable-names_test.yaml.snap b/charts/btp/sextant/2.3.0/tests/__snapshot__/stable-names_test.yaml.snap deleted file mode 100644 index 9337c248fd..0000000000 --- a/charts/btp/sextant/2.3.0/tests/__snapshot__/stable-names_test.yaml.snap +++ /dev/null @@ -1,10 +0,0 @@ -check for stable PVC names: - 1: | - pgdata -check for stable entity names (services, statefulsets, serviceaccounts): - 1: | - test-sextant - 2: | - test-sextant - 3: | - test-sextant diff --git a/charts/btp/sextant/2.3.0/tests/imageEditions_test.yaml b/charts/btp/sextant/2.3.0/tests/imageEditions_test.yaml deleted file mode 100644 index 5c01961b1b..0000000000 --- a/charts/btp/sextant/2.3.0/tests/imageEditions_test.yaml +++ /dev/null @@ -1,76 +0,0 @@ -suite: test edition image variations -templates: - - statefulset.yaml -release: - name: test - namespace: testns -tests: - - it: default edition - set: - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - registry: testregister:8080 - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: testregister:8080/testapi:testtag - - equal: - path: spec.template.spec.containers[2].image - value: testregister:8080/testui:testtag - - it: aws-standard edition - set: - edition: aws-standard - editionImages: - ui: - awsStandard: - tag: testtag - api: - awsStandard: - tag: testtag - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - registry: testregister:8080 - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: 709825985650.dkr.ecr.us-east-1.amazonaws.com/blockchain-technology/sextant-api-standard:testtag - - equal: - path: spec.template.spec.containers[2].image - value: 709825985650.dkr.ecr.us-east-1.amazonaws.com/blockchain-technology/sextant-standard:testtag - - it: development no registry edition - set: - edition: development - editionImages: - ui: - awsStandard: - tag: testtag - api: - awsStandard: - tag: testtag - ui: - image: - registry: testregister:8080 - repository: testui - tag: testtag - api: - image: - repository: testapi - tag: testtag - asserts: - - equal: - path: spec.template.spec.containers[1].image - value: testapi:testtag diff --git a/charts/btp/sextant/2.3.0/tests/ingress_test.yaml b/charts/btp/sextant/2.3.0/tests/ingress_test.yaml deleted file mode 100644 index ac38c29862..0000000000 --- a/charts/btp/sextant/2.3.0/tests/ingress_test.yaml +++ /dev/null @@ -1,25 +0,0 @@ -suite: sextant.test the ingresses -templates: - - ingress.yaml -release: - name: test - namespace: testns -tests: - - it: ingress links to service properly - set: - ingress: - enabled: true - hosts: - - host: test-host - paths: - - /path - apiVersion: extensions/v1beta1 - asserts: - - equal: - path: spec.rules[0].http.paths[0].backend.serviceName - value: test-sextant - - equal: - path: spec.rules[0].http.paths[0].backend.servicePort - value: 8000 - - matchSnapshot: - path: spec diff --git a/charts/btp/sextant/2.3.0/tests/stable-names_test.yaml b/charts/btp/sextant/2.3.0/tests/stable-names_test.yaml deleted file mode 100644 index 62df87363e..0000000000 --- a/charts/btp/sextant/2.3.0/tests/stable-names_test.yaml +++ /dev/null @@ -1,22 +0,0 @@ -suite: sextant.test for stable names -templates: - - serviceaccount.yaml - - statefulset.yaml - - service.yaml -release: - name: test - namespace: testns -tests: - - it: check for stable entity names (services, statefulsets, serviceaccounts) - asserts: - - matchSnapshot: - path: metadata.name - - it: check for stable PVC names - template: statefulset.yaml - set: - postgres: - persistence: - enabled: true - asserts: - - matchSnapshot: - path: spec.volumeClaimTemplates[0].metadata.name diff --git a/charts/btp/sextant/2.3.0/tests/storageClass_test.yaml b/charts/btp/sextant/2.3.0/tests/storageClass_test.yaml deleted file mode 100644 index 07576d24ee..0000000000 --- a/charts/btp/sextant/2.3.0/tests/storageClass_test.yaml +++ /dev/null @@ -1,36 +0,0 @@ -suite: sextant.test for storageClass values -templates: - - statefulset.yaml -release: - name: test - namespace: testns -tests: - - it: check the postgres PVC storageClassName is set to null - set: - postgres: - persistence: - enabled: true - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: null - - it: check the postgres PVC storageClassName is set to an empty string - set: - postgres: - persistence: - enabled: true - storageClass: "" - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: "" - - it: check the postgres PVC storageClassName is set to ab1 - set: - postgres: - persistence: - enabled: true - storageClass: ab1 - asserts: - - equal: - path: spec.volumeClaimTemplates[0].spec.storageClassName - value: ab1 diff --git a/charts/btp/sextant/2.3.0/values.yaml b/charts/btp/sextant/2.3.0/values.yaml deleted file mode 100644 index 4794ed122b..0000000000 --- a/charts/btp/sextant/2.3.0/values.yaml +++ /dev/null @@ -1,226 +0,0 @@ ---- -# Rancher marketplace specific values file, source: helm-charts/sextant/rancher-marketplace-values.yaml -edition: community - -editionImages: - ui: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-standard - tag: BTP2.1.0-2.1.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-premium - tag: BTP2.1.0-2.1.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-enterprise - tag: BTP2.1.0-2.1.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-enterprise - tag: BTP2.1.0-2.2.1 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-community - tag: BTP2.1.0 - api: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-standard - tag: BTP2.1.0-2.2.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-premium - tag: BTP2.1.0-2.2.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-enterprise - tag: BTP2.1.0-2.2.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-enterprise - tag: BTP2.1.0-2.3.3 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-community - tag: BTP2.1.0 - -deployment: - name: sextant - namespace: default - -imagePullSecrets: - ## @md | `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | - enabled: true - ## @md | `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | - value: [] - - createSecret: - ## @md | `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | - enabled: true - ## @md | `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | - registryUrl: "dev.catenasys.com:8084" - ## @md | `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | - registryUser: - ## @md | `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | - registryPassword: - -## @md | `replicaCount` | number of Sextant replicas to run | int | 1 | -replicaCount: 1 - -## @md | `logging` | default logging level | string | "1" | -logging: "1" - -ui: - ## @md | `ui.env` | environment variables to set in the UI container | map | nil | - env: - ## @md | `ui.image` | UI image settings | map | N/A | - image: - registry: - ## @md | `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | - repository: blockchaintp/sextant - ## @md | `ui.image.tag` | UI image tag | string | "latest" | - tag: latest - ## @md | `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `ui.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "400Mi" - requests: - cpu: "20m" - memory: "40Mi" -api: - ## @md | `api.env` | API environment settings | map | N/A | - env: - ## @md | `api.image` | API image settings | map | N/A | - image: - registry: - ## @md | `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | - repository: blockchaintp/sextant-api - ## @md | `api.image.tag` | API image tag | string | "latest" | - tag: latest - ## @md | `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `api.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "300Mi" - requests: - cpu: "20m" - memory: "80Mi" -noxy: - ## @md | `noxy.env` | Noxy environment variables | map | N/A | - env: - ## @md | `noxy.image` | noxy image settings | map | N/A | - image: - registry: - ## @md | `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | - repository: blockchaintp/noxy - ## @md | `noxy.image.tag` | noxy image tag | string | "latest" | - tag: BTP2.1.0 - ## @md | `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `noxy.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "60Mi" - requests: - cpu: "20m" - memory: "30Mi" - - -serviceAccount: - ## @md | `serviceAccount.create` | if true create the service account | boolean | true | - create: true - ## @md | `serviceAccount.name` | name of the service account for sextant | string | nil | - name: - -postgres: - # if enabled we allocate a postgres database here - ## @md | `postgres.enabled` | if true create an internal postgres instance | boolean | true | - enabled: true - ## @md | `postgres.env` | postgres environment variables | map | N/A | - env: - image: - registry: - ## @md | `postgres.image.repository` | postgres image repository | string | "postgres" | - repository: postgres - ## @md | `postgres.image.tag` | postgres image tag | string | "11" | - tag: "11" - ## @md | `postgres.user` | user for the postgres database | string | "postgres" | - user: postgres - ## @md | `postgres.host` | host for the postgres database | string | "localhost" | - host: localhost - ## @md | `postgres.database` | database for the postgres database | string | "postgres" | - database: postgres - ## @md | `postgres.port` | port for the postgres database | int | 5432 | - port: 5432 - ## @md | `postgres.password` | password for the postgres database | string | "postgres" | - password: postgres - ## @md | `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | - existingPasswordSecret: - ## @md | `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | - existingPasswordSecretKey: password - ## @md | `postgres.tls` | postgres TLS configuration | string | nil | - tls: - ## @md | `postgres.persistence` | postgres persistence settings | map | N/A | - persistence: - ## @md | `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | - enabled: true - ## @md | `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | - annotations: {} - ## @md | `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | - accessModes: - - "ReadWriteOnce" - ## if set to "-" (empty string) then storageClassName: "", which disables dynamic provisioning - ## if undefined or set to null, no storageClassName is set and the clusters default StorageClass will be used - ## if a storageClass name is set then storageClassName: "setValue" - ## @md | `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | - storageClass: - ## @md | `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | - size: "40Gi" - ## @md | `postgres.resources` | UI resources | map | nil | - resources: - -service: - ## @md | `service.type` | Sextant service type | string | ClusterIP | - type: ClusterIP - ## @md | `service.port` | Sextant service port | int | 8000 | - port: 8000 - - -ingress: - ## @md | `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | - apiVersion: "" - ## @md | `ingress.enabled` | true to enable the ingress to the main service rest-api | false | - enabled: false - ## @md | `ingress.certManager` | true to enable the acme certmanager for this ingress | false | - certManager: false - ## @md | `ingress.hostname` | primary hostname for the ingress | false | - hostname: - ## @md | `ingress.path` | path for the ingress's primary hostname | / | - path: / - ## @md | `ingress.pathType` | pathType for the ingress's primary hostname | nil | - pathType: - ## @md | `ingress.annotations` | annotations for the ingress | {} | - annotations: {} - ## @md | `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | - tls: false - ## @md | `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | - extraHosts: [] - ## @md | `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | - extraPaths: [] - ## @md | `ingress.extraTls` | list of extra tls entries | [] | - extraTls: [] - ## @md | `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | - hosts: [] - -## @md | `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -extraVolumes: [] -## @md | `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | -extraVolumeMounts: [] diff --git a/index.yaml b/index.yaml index 266d3d79f8..8120aeb953 100644 --- a/index.yaml +++ b/index.yaml @@ -37473,89 +37473,6 @@ entries: urls: - assets/redpanda/redpanda-4.0.33.tgz version: 4.0.33 - sextant: - - annotations: - catalog.cattle.io/certified: partner - catalog.cattle.io/display-name: Sextant - catalog.cattle.io/kube-version: '>=1.19-0' - catalog.cattle.io/release-name: sextant - apiVersion: v2 - appVersion: 2.1.8 - created: "2023-02-28T16:00:46.465437281Z" - dependencies: - - name: standard-defs - repository: file://./charts/standard-defs - version: ~0.1.0 - description: 'Sextant automates the deployment and management of enterprise blockchain - infrastructure. It also delivers Chronicle - an open-source, blockchain-backed, - domain-agnostic provenance product - and facilitates its integration with enterprise - systems. ' - digest: c265f0a8e838153bcb3101a3a5d2c1ba75a5dd2a9396c2398046c122cfd09f72 - home: https://btp.works/sextant - icon: file://assets/icons/sextant.svg - keywords: - - provenance - - blockchain - - smart contracts - kubeVersion: '>=1.19-0' - name: sextant - type: application - urls: - - assets/btp/sextant-2.3.0.tgz - version: 2.3.0 - - annotations: - catalog.cattle.io/certified: partner - catalog.cattle.io/display-name: Sextant - catalog.cattle.io/release-name: sextant - apiVersion: v2 - appVersion: 2.1.8 - created: "2023-02-13T15:30:18.094372276Z" - dependencies: - - name: standard-defs - repository: file://./charts/standard-defs - description: Sextant automates the deployment and management of enterprise blockchain - infrastructure. - digest: 7f1db7e94eb99ee7bf20cefecf5fbad63868703bf9b2f0207e72dc38822be2e6 - home: https://www.blockchaintp.com/sextant - icon: file://assets/icons/sextant.svg - keywords: - - blockchain - - smart contracts - kubeVersion: '>=1.19-0' - name: sextant - type: application - urls: - - assets/sextant/sextant-2.2.1700.tgz - version: 2.2.1700 - - annotations: - catalog.cattle.io/certified: partner - catalog.cattle.io/display-name: Sextant - catalog.cattle.io/kube-version: '>=1.19-0' - catalog.cattle.io/release-name: sextant - apiVersion: v2 - appVersion: 2.1.8 - created: "2023-02-10T20:55:07.298436Z" - dependencies: - - name: standard-defs - repository: file://./charts/standard-defs - version: ~0.1.0 - description: 'Sextant automates the deployment and management of enterprise blockchain - infrastructure. It also delivers Chronicle - an open-source, blockchain-backed, - domain-agnostic provenance product - and facilitates its integration with enterprise - systems. ' - digest: 0934481da82814d4147084cea56da8e6f12dbdff54804055d338775f977451c1 - home: https://btp.works/sextant - icon: file://assets/icons/sextant.svg - keywords: - - provenance - - blockchain - - smart contracts - kubeVersion: '>=1.19-0' - name: sextant - type: application - urls: - - assets/btp/sextant-2.2.21.tgz - version: 2.2.21 speedscale-operator: - annotations: catalog.cattle.io/certified: partner diff --git a/packages/btp/sextant/overlay/questions.yaml b/packages/btp/sextant/overlay/questions.yaml deleted file mode 100644 index e933cb357f..0000000000 --- a/packages/btp/sextant/overlay/questions.yaml +++ /dev/null @@ -1,143 +0,0 @@ ---- -# Rancher marketplace specific question file, source: helm-charts/sextant/rancher-marketplace-questions.yaml -questions: -# User Credentials - - variable: imagePullSecrets.createSecret.registryUser - default: "" - required: true - type: string - label: Username - description: Your username for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - - variable: imagePullSecrets.createSecret.registryPassword - default: "" - required: true - type: password - label: Password - description: Your password for the BTP licenced image registry, supplied by BTP - group: "User Credentials" - # Ingress Settings - - variable: ingress.enabled - default: "false" - required: true - type: boolean - label: Enable Sextant Ingress - description: Enable an ingress for Sextant - group: "Ingress Settings" - show_subquestion_if: true - subquestions: - - variable: ingress.hostname - default: "" - required: false - type: string - label: Ingress hostname - description: Primary hostname for the ingress - group: "Ingress Settings" - - variable: ingress.path - default: "" - required: false - type: string - label: Hostname Path - description: Path for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.pathType - default: "" - required: false - type: string - label: Hostname PathType - description: PathType for the ingress's primary hostname - group: "Ingress Settings" - - variable: ingress.certManager - default: "false" - required: false - type: boolean - label: Enable the acme certmanager for this ingress - description: Enable the acme certmanager for this ingress - group: "Ingress Settings" - - variable: ingress.annotations - default: "" - required: false - type: string - label: Ingress annotations - description: Annotations for the ingress - group: "Ingress Settings" - - variable: ingress.tls - default: false - required: false - type: boolean - label: Ingress TLS - description: Enable tls on the ingress with a secrete at hostname-tls - group: "Ingress Settings" - # Sextant database settings - - variable: postgres.enabled - default: "true" - required: true - type: boolean - label: Use internal postgres database - description: Create an internal postgres instance for Sextant, or if not supply details of an external postgres - group: "Database settings" - show_subquestion_if: false - subquestions: - - variable: postgres.user - default: "postgres" - required: true - type: string - label: Postgres user - description: User for the postgres database - group: "Database settings" - - variable: postgres.host - default: "localhost" - required: true - type: string - label: Postgres host - description: Host for the postgres database - group: "Database settings" - - variable: postgres.database - default: "postgres" - required: true - type: string - label: Database name - description: Database name for the postgres database - group: "Database settings" - - variable: postgres.port - default: "5432" - required: true - type: int - label: Postgres port - description: Port for the postgres database - group: "Database settings" - - variable: postgres.password - default: "postgres" - required: true - type: password - label: Postgres password - description: Password for the postgres database - group: "Database settings" - - variable: edition - default: "community" - required: true - type: string - label: Sextant edition - description: The Sextant edition to install - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.enabled - default: "true" - type: boolean - required: true - label: Create image pull secret - description: Automatically create an image pull secret - group: "Advanced settings" - - variable: imagePullSecrets.createSecret.registryUrl - default: "dev.catenasys.com:8084" - type: string - required: true - label: BTP image registry URL - description: Set the default image registry URL - group: "Advanced settings" - - variable: postgres.persistence.enabled - default: "true" - type: boolean - required: true - label: Postgres persistance - description: Allocate a PVC for the internal postgres instance - group: "Advanced settings" \ No newline at end of file diff --git a/packages/btp/sextant/overlay/values.yaml b/packages/btp/sextant/overlay/values.yaml deleted file mode 100644 index 4794ed122b..0000000000 --- a/packages/btp/sextant/overlay/values.yaml +++ /dev/null @@ -1,226 +0,0 @@ ---- -# Rancher marketplace specific values file, source: helm-charts/sextant/rancher-marketplace-values.yaml -edition: community - -editionImages: - ui: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-standard - tag: BTP2.1.0-2.1.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-premium - tag: BTP2.1.0-2.1.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-enterprise - tag: BTP2.1.0-2.1.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-enterprise - tag: BTP2.1.0-2.2.1 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-community - tag: BTP2.1.0 - api: - awsStandard: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-standard - tag: BTP2.1.0-2.2.5 - awsPremium: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-premium - tag: BTP2.1.0-2.2.5 - awsEnterprise: - registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com - repository: blockchain-technology/sextant-api-enterprise - tag: BTP2.1.0-2.2.5 - enterprise: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-enterprise - tag: BTP2.1.0-2.3.3 - community: - registry: dev.catenasys.com:8084 - repository: blockchaintp/sextant-api-community - tag: BTP2.1.0 - -deployment: - name: sextant - namespace: default - -imagePullSecrets: - ## @md | `imagePullSecrets.enabled` | true if imagePullSecrets are required | boolean | false | - enabled: true - ## @md | `imagePullSecrets.value` | a list of named secret references of the form ```- name: secretName```| list | [] | - value: [] - - createSecret: - ## @md | `imagePullSecrets.createSecret.enabled` | true to create a image pull secret | boolean | false | - enabled: true - ## @md | `imagePullSecrets.createSecret.registryUrl` | the registry url | string | nil | - registryUrl: "dev.catenasys.com:8084" - ## @md | `imagePullSecrets.createSecret.registryUser` | the username for the registry | string | nil | - registryUser: - ## @md | `imagePullSecrets.createSecret.registryPassword` | the password for the registry | string | nil | - registryPassword: - -## @md | `replicaCount` | number of Sextant replicas to run | int | 1 | -replicaCount: 1 - -## @md | `logging` | default logging level | string | "1" | -logging: "1" - -ui: - ## @md | `ui.env` | environment variables to set in the UI container | map | nil | - env: - ## @md | `ui.image` | UI image settings | map | N/A | - image: - registry: - ## @md | `ui.image.repository` | UI image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant" | - repository: blockchaintp/sextant - ## @md | `ui.image.tag` | UI image tag | string | "latest" | - tag: latest - ## @md | `ui.image.pullPolicy` | UI image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `ui.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "400Mi" - requests: - cpu: "20m" - memory: "40Mi" -api: - ## @md | `api.env` | API environment settings | map | N/A | - env: - ## @md | `api.image` | API image settings | map | N/A | - image: - registry: - ## @md | `api.image.repository` | API image repository | string | "dev.catenasys.com:8083/blockchaintp/sextant-api" | - repository: blockchaintp/sextant-api - ## @md | `api.image.tag` | API image tag | string | "latest" | - tag: latest - ## @md | `api.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `api.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "300Mi" - requests: - cpu: "20m" - memory: "80Mi" -noxy: - ## @md | `noxy.env` | Noxy environment variables | map | N/A | - env: - ## @md | `noxy.image` | noxy image settings | map | N/A | - image: - registry: - ## @md | `noxy.image.repository` | NOXY image repository | string | "dev.catenasys.com:8083/blockchaintp/noxy" | - repository: blockchaintp/noxy - ## @md | `noxy.image.tag` | noxy image tag | string | "latest" | - tag: BTP2.1.0 - ## @md | `noxy.image.pullPolicy` | API image pull policy | string | "IfNotPresent" | - pullPolicy: IfNotPresent - ## @md | `noxy.resources` | UI resources | map | nil | - resources: - limits: - cpu: "100m" - memory: "60Mi" - requests: - cpu: "20m" - memory: "30Mi" - - -serviceAccount: - ## @md | `serviceAccount.create` | if true create the service account | boolean | true | - create: true - ## @md | `serviceAccount.name` | name of the service account for sextant | string | nil | - name: - -postgres: - # if enabled we allocate a postgres database here - ## @md | `postgres.enabled` | if true create an internal postgres instance | boolean | true | - enabled: true - ## @md | `postgres.env` | postgres environment variables | map | N/A | - env: - image: - registry: - ## @md | `postgres.image.repository` | postgres image repository | string | "postgres" | - repository: postgres - ## @md | `postgres.image.tag` | postgres image tag | string | "11" | - tag: "11" - ## @md | `postgres.user` | user for the postgres database | string | "postgres" | - user: postgres - ## @md | `postgres.host` | host for the postgres database | string | "localhost" | - host: localhost - ## @md | `postgres.database` | database for the postgres database | string | "postgres" | - database: postgres - ## @md | `postgres.port` | port for the postgres database | int | 5432 | - port: 5432 - ## @md | `postgres.password` | password for the postgres database | string | "postgres" | - password: postgres - ## @md | `postgres.existingPasswordSecret` | name of a secret containing the postgres password | string | nil | - existingPasswordSecret: - ## @md | `postgres.existingPasswordSecret` | name of the key in a secret containing the postgres password | string | password | - existingPasswordSecretKey: password - ## @md | `postgres.tls` | postgres TLS configuration | string | nil | - tls: - ## @md | `postgres.persistence` | postgres persistence settings | map | N/A | - persistence: - ## @md | `postgres.persistence.enabled` | if true allocate a PVC for the postgres instance | boolean | false | - enabled: true - ## @md | `postgres.persistence.annotations` | any custom annotations to the postgres PVC's | map | {} | - annotations: {} - ## @md | `postgres.persistence.accessModes` | postgres PVC access modes | list | [ "ReadWriteOnce" ] | - accessModes: - - "ReadWriteOnce" - ## if set to "-" (empty string) then storageClassName: "", which disables dynamic provisioning - ## if undefined or set to null, no storageClassName is set and the clusters default StorageClass will be used - ## if a storageClass name is set then storageClassName: "setValue" - ## @md | `postgres.persistence.storageClass` | postgres PVC storageClass | string | nil | - storageClass: - ## @md | `postgres.persistence.size` | postgres PVC volume size | string | "40Gi" | - size: "40Gi" - ## @md | `postgres.resources` | UI resources | map | nil | - resources: - -service: - ## @md | `service.type` | Sextant service type | string | ClusterIP | - type: ClusterIP - ## @md | `service.port` | Sextant service port | int | 8000 | - port: 8000 - - -ingress: - ## @md | `ingress.apiVersion` | if necessary the apiVersion of the ingress may be overridden | "" | - apiVersion: "" - ## @md | `ingress.enabled` | true to enable the ingress to the main service rest-api | false | - enabled: false - ## @md | `ingress.certManager` | true to enable the acme certmanager for this ingress | false | - certManager: false - ## @md | `ingress.hostname` | primary hostname for the ingress | false | - hostname: - ## @md | `ingress.path` | path for the ingress's primary hostname | / | - path: / - ## @md | `ingress.pathType` | pathType for the ingress's primary hostname | nil | - pathType: - ## @md | `ingress.annotations` | annotations for the ingress | {} | - annotations: {} - ## @md | `ingress.tls` | true to enable tls on the ingress with a secrete at hostname-tls | false(truthy) | - tls: false - ## @md | `ingress.extraHosts` | list of extra hosts to add to the ingress | [] | - extraHosts: [] - ## @md | `ingress.extraPaths` | list of extra paths to add to the primary host of the ingress | [] | - extraPaths: [] - ## @md | `ingress.extraTls` | list of extra tls entries | [] | - extraTls: [] - ## @md | `ingress.hosts` | a list of host and path lists to publish in the ingress (deprecated)| map | {} | - hosts: [] - -## @md | `extraVolumes` | a list of additional volumes to add to all StatefulSets, Deployments, and DaemonSets | `[]` | -extraVolumes: [] -## @md | `extraVolumeMounts` | a list of additional volume mounts to add to all StatefulSet, Deployment, and DaemonSet containers | `[]` | -extraVolumeMounts: [] diff --git a/packages/btp/sextant/upstream.yaml b/packages/btp/sextant/upstream.yaml deleted file mode 100644 index 8f467c46e6..0000000000 --- a/packages/btp/sextant/upstream.yaml +++ /dev/null @@ -1,4 +0,0 @@ -HelmRepo: https://btp-charts-stable.s3.amazonaws.com/charts -HelmChart: sextant -Vendor: BTP -DisplayName: Sextant \ No newline at end of file