diff --git a/contrib/chart/backstage/README.md b/contrib/chart/backstage/README.md index 96bfdb4351..7d04a2cf1e 100644 --- a/contrib/chart/backstage/README.md +++ b/contrib/chart/backstage/README.md @@ -236,6 +236,27 @@ Backend failed to start up Error: unable to verify the first certificate 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 diff --git a/contrib/chart/backstage/templates/backend-deployment.yaml b/contrib/chart/backstage/templates/backend-deployment.yaml index 99ec955242..144fc93e62 100644 --- a/contrib/chart/backstage/templates/backend-deployment.yaml +++ b/contrib/chart/backstage/templates/backend-deployment.yaml @@ -63,6 +63,10 @@ spec: configMap: name: {{ include "backstage.fullname" . }}-app-config + {{- if .Values.global.nodeSelector }} + nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }} + {{- end }} + {{- if .Values.backend.enabled }} --- apiVersion: v1 diff --git a/contrib/chart/backstage/templates/frontend-deployment.yaml b/contrib/chart/backstage/templates/frontend-deployment.yaml index 5430ef041f..9c674cc160 100644 --- a/contrib/chart/backstage/templates/frontend-deployment.yaml +++ b/contrib/chart/backstage/templates/frontend-deployment.yaml @@ -43,6 +43,9 @@ spec: - name: app-config configMap: name: {{ include "backstage.fullname" . }}-app-config + {{- if .Values.global.nodeSelector }} + nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }} + {{- end }} {{- if .Values.frontend.enabled }} --- apiVersion: v1 diff --git a/contrib/chart/backstage/templates/lighthouse-deployment.yaml b/contrib/chart/backstage/templates/lighthouse-deployment.yaml index 13bb8eadbb..d6e1ce19dd 100644 --- a/contrib/chart/backstage/templates/lighthouse-deployment.yaml +++ b/contrib/chart/backstage/templates/lighthouse-deployment.yaml @@ -59,6 +59,10 @@ spec: - name: postgres-ca configMap: name: {{ include "backstage.fullname" . }}-postgres-ca + + {{- if .Values.global.nodeSelector }} + nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 8 }} + {{- end }} --- apiVersion: v1 kind: Service diff --git a/contrib/chart/backstage/values.yaml b/contrib/chart/backstage/values.yaml index 7926ebbc0a..7b26d2bccd 100644 --- a/contrib/chart/backstage/values.yaml +++ b/contrib/chart/backstage/values.yaml @@ -69,6 +69,7 @@ global: postgresql: postgresqlUsername: backend-user caFilename: ca.crt + nodeSelector: {} postgresql: enabled: true