diff --git a/stable/atlantis/Chart.yaml b/stable/atlantis/Chart.yaml index 49463d49d8..b9c8349d15 100644 --- a/stable/atlantis/Chart.yaml +++ b/stable/atlantis/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v0.8.2" description: A Helm chart for Atlantis https://www.runatlantis.io name: atlantis -version: 3.7.1 +version: 3.8.0 keywords: - terraform home: https://www.runatlantis.io diff --git a/stable/atlantis/README.md b/stable/atlantis/README.md index 42874a282b..677a1d56af 100644 --- a/stable/atlantis/README.md +++ b/stable/atlantis/README.md @@ -61,8 +61,9 @@ The following options are supported. See [values.yaml](values.yaml) for more de | `disableApplyAll` | Disables running `atlantis apply` without any flags | `false` | | `serviceAccount.create` | Whether to create a Kubernetes ServiceAccount if no account matching `serviceAccount.name` exists. | `true` | | `serviceAccount.name` | Name of the Kubernetes ServiceAccount under which Atlantis should run. If no value is specified and `serviceAccount.create` is `true`, Atlantis will be run under a ServiceAccount whose name is the FullName of the Helm chart's instance, else Atlantis will be run under the `default` ServiceAccount. | n/a | -| `serviceAccountSecrets.credentials` | JSON string representing secrets for a Google Cloud Platform production service account. Only applicable if hosting Atlantis on GKE. | n/a | -| `serviceAccountSecrets.credentials-staging` | JSON string representing secrets for a Google Cloud Platform staging service account. Only applicable if hosting Atlantis on GKE. | n/a | +| `serviceAccountSecrets.credentials` | Deprecated (see googleServiceAccountSecrets) JSON string representing secrets for a Google Cloud Platform production service account. Only applicable if hosting Atlantis on GKE. | n/a | +| `serviceAccountSecrets.credentials-staging` | Deprecated (see googleServiceAccountSecrets) JSON string representing secrets for a Google Cloud Platform staging service account. Only applicable if hosting Atlantis on GKE. | n/a | +| `googleServiceAccountSecrets` | An array of Kubernetes secrets containing Google Service Account credentials. See `values.yaml` for examples and additional documentation. | n/a | | `service.port` | Port of the `Service`. | `80` | | `service.loadBalancerSourceRanges` | Array of whitelisted IP addresses for the Atlantis Service. If no value is specified, the Service will allow incoming traffic from all IP addresses (0.0.0.0/0). | n/a | | `storageClassName` | Storage class of the volume mounted for the Atlantis data directory. | n/a | diff --git a/stable/atlantis/templates/statefulset.yaml b/stable/atlantis/templates/statefulset.yaml index 5ccf7dec9a..6072111ca1 100644 --- a/stable/atlantis/templates/statefulset.yaml +++ b/stable/atlantis/templates/statefulset.yaml @@ -49,6 +49,11 @@ spec: secret: secretName: {{ $name }} {{- end }} + {{- range .Values.googleServiceAccountSecrets }} + - name: {{ .name }} + secret: + secretName: {{ .secretName }} + {{- end }} {{- if .Values.gitconfig }} - name: gitconfig-volume secret: @@ -236,6 +241,11 @@ spec: readOnly: true mountPath: /etc/{{ $name }} {{- end }} + {{- range .Values.googleServiceAccountSecrets }} + - name: {{ .name }} + readOnly: true + mountPath: /var/secrets/{{ .name }} + {{- end }} {{- if .Values.gitconfig}} - name: gitconfig-volume readOnly: true diff --git a/stable/atlantis/values.yaml b/stable/atlantis/values.yaml index dafe7c57cc..bf2e4e6d06 100644 --- a/stable/atlantis/values.yaml +++ b/stable/atlantis/values.yaml @@ -203,3 +203,9 @@ environmentSecrets: [] # secretKeyRef: # name: the_k8s_secret_name # value: the_key_of_the_value_in_the_secret + +# Optionally specify google service account credentials as Kubernetes secrets. If you are using the terraform google provider you can specify the credentials as "${file("/var/secrets/some-secret-name/key.json")}". +googleServiceAccountSecrets: [] +# googleServiceAccountSecrets: +# - name: some-secret-name +# secretName: the_k8s_secret_name