From 8c32ed15a5f35cd76ed413285fba66100c3edfd2 Mon Sep 17 00:00:00 2001 From: Gustavo Belfort Date: Mon, 17 Oct 2022 14:51:23 +0200 Subject: [PATCH] T-12723: Backstage Helm Chart (#27) * fix(actions): fixes chart release charts_repo_url * adds new LND chart * adds initial bitcoind helm chart * chore(lint): fix all static-analysis issues on charts * bump chart versions for already published charts * fix some basic chart issues * clean up chart-test config until our repo is actually working * move lnd to incubator for future work * move avax and bitcoind to incubator to get this working * Merge pull request #6 from pokt-foundation/feat/argo-events adds application CRD for argo-events Closes T-4433 * adds argo workflows deploy for T-4435 (#7) * Harmony chart (#5) * wip * fix some ct test failures for T-3444 * T-3444: adds datadir to values.yaml * finishing up hmy chart Co-authored-by: Wesley Charles Blake * Bump actions/setup-python from 2 to 3 (#8) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump azure/setup-helm from 1 to 2.1 (#9) Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 1 to 2.1. - [Release notes](https://github.com/azure/setup-helm/releases) - [Commits](https://github.com/azure/setup-helm/compare/v1...v2.1) --- updated-dependencies: - dependency-name: azure/setup-helm dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#10) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * avax subnets * Bump avaxgo * fix newlines * Bump azure/setup-helm from 2.1 to 3.3 (#24) Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 2.1 to 3.3. - [Release notes](https://github.com/azure/setup-helm/releases) - [Commits](https://github.com/azure/setup-helm/compare/v2.1...v3.3) --- updated-dependencies: - dependency-name: azure/setup-helm dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * removing appOfApps from the chart repo * vendor contrib backstage helm chart * add bitnami in the chart repos * remove chart lock file * enable postgres on the helm chart * update chart maintainers * fix chart linting * update chart * Add docker-secret.yaml to .gitignore * update chart test definitions * fix lint for backstage values file * update chart deployment options * update default values for the backstage chart * update default values for the backstage chart * upadte connection tests for backstage chart Co-authored-by: Wesley Charles Blake Co-authored-by: WesleyCharlesBlake Co-authored-by: Wesley Charles Blake Co-authored-by: Dmitry Knyazev Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dmitry K --- .gitignore | 3 +- charts/backstage/Chart.lock | 6 + charts/backstage/Chart.yaml | 26 ++ charts/backstage/README.md | 282 ++++++++++++++++++ charts/backstage/charts/postgresql-11.8.0.tgz | Bin 0 -> 57490 bytes .../files/app-config.values.yaml.tpl | 23 ++ charts/backstage/files/create-backend-dbs.sql | 13 + charts/backstage/templates/_helpers.tpl | 270 +++++++++++++++++ .../templates/backend-deployment.yaml | 94 ++++++ .../backstage/templates/backend-secret.yaml | 12 + .../templates/backstage-app-config.yaml | 7 + .../templates/backstage-auth-config.yaml | 6 + .../backstage/templates/external-secrets.yaml | 39 +++ .../templates/frontend-deployment.yaml | 66 ++++ charts/backstage/templates/ingress.yaml | 150 ++++++++++ charts/backstage/templates/issuer.yaml | 19 ++ .../templates/lighthouse-config.yaml | 12 + .../templates/lighthouse-deployment.yaml | 86 ++++++ .../templates/postgresql-ca-config.yaml | 21 ++ .../templates/postgresql-certs-secret.yaml | 16 + .../templates/postgresql-initdb-secret.yaml | 14 + .../postgresql-password-backend-secret.yaml | 15 + ...postgresql-password-lighthouse-secret.yaml | 17 ++ .../backstage/templates/serviceaccount.yaml | 13 + charts/backstage/values.yaml | 239 +++++++++++++++ ct.yaml | 5 +- 26 files changed, 1451 insertions(+), 3 deletions(-) create mode 100644 charts/backstage/Chart.lock create mode 100644 charts/backstage/Chart.yaml create mode 100644 charts/backstage/README.md create mode 100644 charts/backstage/charts/postgresql-11.8.0.tgz create mode 100644 charts/backstage/files/app-config.values.yaml.tpl create mode 100644 charts/backstage/files/create-backend-dbs.sql create mode 100644 charts/backstage/templates/_helpers.tpl create mode 100644 charts/backstage/templates/backend-deployment.yaml create mode 100644 charts/backstage/templates/backend-secret.yaml create mode 100644 charts/backstage/templates/backstage-app-config.yaml create mode 100644 charts/backstage/templates/backstage-auth-config.yaml create mode 100644 charts/backstage/templates/external-secrets.yaml create mode 100644 charts/backstage/templates/frontend-deployment.yaml create mode 100644 charts/backstage/templates/ingress.yaml create mode 100644 charts/backstage/templates/issuer.yaml create mode 100644 charts/backstage/templates/lighthouse-config.yaml create mode 100644 charts/backstage/templates/lighthouse-deployment.yaml create mode 100644 charts/backstage/templates/postgresql-ca-config.yaml create mode 100644 charts/backstage/templates/postgresql-certs-secret.yaml create mode 100644 charts/backstage/templates/postgresql-initdb-secret.yaml create mode 100644 charts/backstage/templates/postgresql-password-backend-secret.yaml create mode 100644 charts/backstage/templates/postgresql-password-lighthouse-secret.yaml create mode 100644 charts/backstage/templates/serviceaccount.yaml create mode 100644 charts/backstage/values.yaml diff --git a/.gitignore b/.gitignore index 723ef36..ebc921f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +docker-secret.yaml +.idea diff --git a/charts/backstage/Chart.lock b/charts/backstage/Chart.lock new file mode 100644 index 0000000..21c40a7 --- /dev/null +++ b/charts/backstage/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 11.8.0 +digest: sha256:03c2e3c38a6a2a192cc2c0d67dfa88c927cb26152cb00e4d8048c7ffc10ebf4c +generated: "2022-08-22T11:35:36.300794-03:00" diff --git a/charts/backstage/Chart.yaml b/charts/backstage/Chart.yaml new file mode 100644 index 0000000..ee99532 --- /dev/null +++ b/charts/backstage/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +name: backstage +description: A Helm chart for Backstage +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.3 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v0.1.1-alpha.23 + +sources: + - https://github.com/backstage/backstage + - https://github.com/spotify/lighthouse-audit-service + +dependencies: + - name: postgresql + condition: postgresql.enabled + version: 11.8.0 + repository: https://charts.bitnami.com/bitnami + +maintainers: + - name: GustavoBelfort + - name: pokt-foundation diff --git a/charts/backstage/README.md b/charts/backstage/README.md new file mode 100644 index 0000000..40bb266 --- /dev/null +++ b/charts/backstage/README.md @@ -0,0 +1,282 @@ +# Backstage demo helm charts + +This folder contains Helm charts that can easily create a Kubernetes deployment of a demo Backstage app. + +### Pre-requisites + +These charts depend on the `nginx-ingress` controller being present in the cluster. If it's not already installed you +can run: + +```shell +helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +helm install nginx-ingress ingress-nginx/ingress-nginx +``` + +### Installing the charts + +After choosing a DNS name where backstage will be hosted create a yaml file for your custom configuration. + +```yaml +appConfig: + app: + baseUrl: https://backstage.mydomain.com + title: Backstage + backend: + baseUrl: https://backstage.mydomain.com + cors: + origin: https://backstage.mydomain.com + lighthouse: + baseUrl: https://backstage.mydomain.com/lighthouse-api + techdocs: + storageUrl: https://backstage.mydomain.com/api/techdocs/static/docs + requestUrl: https://backstage.mydomain.com/api/techdocs +``` + +Then use it to run: + +```shell +git clone https://github.com/backstage/backstage.git +cd contrib/chart/backstage +helm dependency update +helm install -f backstage-mydomain.yaml backstage . +``` + +This command will deploy the following pieces: + +- Backstage frontend +- Backstage backend with scaffolder and auth plugins +- (optional) a PostgreSQL instance +- lighthouse plugin +- ingress + +After a few minutes Backstage should be up and running in your cluster under the DNS specified earlier. + +Make sure to create the appropriate DNS entry in your infrastructure. To find the public IP address run: + +```shell +$ kubectl get ingress +NAME HOSTS ADDRESS PORTS AGE +backstage-ingress * 123.1.2.3 80 17m +``` + +> **NOTE**: this is not a production ready deployment. + +## Customization + +### Issue certificates + +These charts can install or reuse a `clusterIssuer` to generate certificates for the backstage `ingress`. To do that: + +1. [Install][install-cert-manager] or make sure [cert-manager][cert-manager] is installed in the cluster. +2. Enable the issuer in the charts. This will first check if there is a `letsencrypt` issuer already deployed in your + cluster and deploy one if it doesn't exist. + +To enable it you need to provide a valid email address in the chart's values: + +```yaml +issuer: + email: me@example.com + clusterIssuer: 'letsencrypt-prod' +``` + +By default, the charts use `letsencrypt-staging` so in the above example we instruct helm to use the production issuer +instead. + +[cert-manager]: https://cert-manager.io/docs/ +[install-cert-manager]: https://cert-manager.io/docs/installation/kubernetes/#installing-with-helm + +### Custom PostgreSQL instance + +Configuring a connection to an existing PostgreSQL instance is possible through the chart's values. + +First create a yaml file with the configuration you want to override, for example `backstage-prod.yaml`: + +```yaml +postgresql: + enabled: false + +appConfig: + app: + baseUrl: https://backstage-demo.mydomain.com + title: Backstage + backend: + baseUrl: https://backstage-demo.mydomain.com + cors: + origin: https://backstage-demo.mydomain.com + database: + client: pg + connection: + database: backstage_plugin_catalog + host: + user: + password: + lighthouse: + baseUrl: https://backstage-demo.mydomain.com/lighthouse-api + +lighthouse: + database: + client: pg + connection: + host: + user: + password: + database: lighthouse_audit_service +``` + +For the CA, create a `configMap` named `--postgres-ca` with a file called `ca.crt`: + +```shell +kubectl create configmap my-company-backstage-postgres-ca --from-file=ca.crt" +``` + +or disable CA mount + +```yaml +backend: + postgresCertMountEnabled: false + +lighthouse: + postgresCertMountEnabled: false +``` + +> Where the release name contains the chart name "backstage" then only the release name will be used. + +Now install the helm chart: + +```shell +cd contrib/chart/backstage +helm install -f backstage-prod.yaml my-backstage . +``` + +### Use your own docker images + +The docker images used for the deployment can be configured through the charts values: + +```yaml +frontend: + image: + repository: + tag: + +backend: + image: + repository: + tag: + +lighthouse: + image: + repository: + tag: +``` + +### Use a private docker repo + +Create a docker-registry secret + +```shell +kubectl create secret docker-registry # args +``` + +> For private images on docker hub --docker-server can be set to docker.io + +Reference the secret in your chart values + +```yaml +dockerRegistrySecretName: +``` + +### Different namespace + +To install the charts a specific namespace use `--namespace `: + +```shell +helm install -f my_values.yaml --namespace demos backstage . +``` + +### Disable loading of demo data + +To deploy backstage with the pre-loaded demo data disable `backend.demoData`: + +```shell +helm install -f my_values.yaml --set backend.demoData=false backstage . +``` + +### Other options + +For more customization options take a look at the [values.yaml](/contrib/chart/backstage/values.yaml) file. + +## Troubleshooting + +Some resources created by these charts are meant to survive after upgrades and even after uninstalls. When +troubleshooting these charts it can be useful to delete these resources between re-installs. + +Secrets: + +``` +-postgresql-certs -- contains the certificates used by the deployed PostgreSQL +``` + +Persistent volumes: + +``` +data--postgresql-0 -- this is the data volume used by PostgreSQL to store data and configuration +``` + +> **NOTE**: this volume also stores the configuration for PostgreSQL which includes things like the password for the +> `postgres` user. This means that uninstalling and re-installing the charts with `postgres.enabled` set to `true` and +> auto generated passwords will fail. The solution is to delete this volume with +> `kubectl delete pvc data--postgresql-0` + +ConfigMaps: + +``` +-postgres-ca -- contains the generated CA certificate for PostgreSQL when `postgres` is enabled +``` + +#### Unable to verify signature + +``` +Backend failed to start up Error: unable to verify the first certificate + at TLSSocket.onConnectSecure (_tls_wrap.js:1501:34) + at TLSSocket.emit (events.js:315:20) + at TLSSocket._finishInit (_tls_wrap.js:936:8) + at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:710:12) { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' +``` + +This error happens in the backend when it tries to connect to the configured PostgreSQL database and the specified CA is not correct. The solution is to make sure that the contents of the `configMap` that holds the certificate match the CA for the PostgreSQL instance. A workaround is to set `appConfig.backend.database.connection.ssl.rejectUnauthorized` to `false` in the chart's values. + +#### Multi-Platform Kubernetes Services + +If you are running a multi-platform Kubernetes service with Windows and Linux nodes then you will need to apply a `nodeSelector` to the Helm chart to ensure that pods are scheduled onto the correct platform nodes. + +Add the following to your Helm values file: + +```yaml +global: + nodeSelector: + kubernetes.io/os: linux + +# If using Postgres Chart also add +postgresql: + master: + nodeSelector: + kubernetes.io/os: linux + slave: + nodeSelector: + kubernetes.io/os: linux +``` + + + +## Uninstalling Backstage + +To uninstall Backstage simply run: + +```shell +RELEASE_NAME= # use `helm list` to find out the name +helm uninstall ${RELEASE_NAME} +kubectl delete pvc data-${RELEASE_NAME}-postgresql-0 +kubectl delete secret ${RELEASE_NAME}-postgresql-certs +kubectl delete configMap ${RELEASE_NAME}-postgres-ca +``` diff --git a/charts/backstage/charts/postgresql-11.8.0.tgz b/charts/backstage/charts/postgresql-11.8.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ebce9dc26aac1fe54bc02d12d1c2074bdd8a4227 GIT binary patch literal 57490 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