diff --git a/charts/vault-gcp-secrets/Chart.yaml b/charts/vault-gcp-secrets/Chart.yaml index 29fea4e..571e543 100644 --- a/charts/vault-gcp-secrets/Chart.yaml +++ b/charts/vault-gcp-secrets/Chart.yaml @@ -5,5 +5,5 @@ home: https://github.com/TJM/vault-gcp-secrets # icon: https://raw.githubusercontent.com/TJM/vault-gcp-secrets/master/assets/logo.png maintainers: - name: TJM -version: 1.8.2 -appVersion: "v1.12.2" +version: 1.9.0 +appVersion: "v1.13.0" diff --git a/charts/vault-gcp-secrets/README.md b/charts/vault-gcp-secrets/README.md index 225bed2..9f19ce4 100644 --- a/charts/vault-gcp-secrets/README.md +++ b/charts/vault-gcp-secrets/README.md @@ -21,6 +21,7 @@ NOTE: We are using this code in the production environment. You may use it at yo | `vault.kubernetesRole` | The name of the role which is configured for the Kubernetes auth method. | `vault-gcp-secrets` | | `vault.gcpSecretPath` | The vault secret path to read. | `gcp/my-role` | | `secret.name` | Kubernetes secret to create. | `gcp-secret` | +| `secret.additionalSecrets` | List of Kubernetes secrets to manage. | `[]` | `secret.key` | Kubernetes secret key (filename). | `key.json` | | `secret.type` | Kubernetes secret type (needs to match the kind of secret that will be updated). | `kubernetes.io/dockerconfigjson` | | `secret.template` | Vault Template to decode the secret. | `base64Decode .Data.private_key_data` | diff --git a/charts/vault-gcp-secrets/templates/additional-secrets.yaml b/charts/vault-gcp-secrets/templates/additional-secrets.yaml new file mode 100644 index 0000000..24a7496 --- /dev/null +++ b/charts/vault-gcp-secrets/templates/additional-secrets.yaml @@ -0,0 +1,13 @@ +{{ $labels := include "vault-gcp-secrets.labels" . | indent 4 }} +{{ range .Values.additionalSecrets }} +apiVersion: v1 +data: + .dockerconfigjson: eyJhdXRocyI6eyJQTEFDRUhPTERFUiI6eyJ1c2VybmFtZSI6IlBMQUNFSE9MREVSIiwicGFzc3dvcmQiOiJQTEFDRUhPTERFUiIsImF1dGgiOiJVRXhCUTBWSVQweEVSVkk2VUV4QlEwVklUMHhFUlZJPSJ9fX0= +kind: Secret +metadata: + name: {{ .name | quote }} + namespace: {{ $.Release.Namespace }} + labels: +{{ $labels }} +type: {{ default $.Values.secret.type .type | quote }} +{{ end }} diff --git a/charts/vault-gcp-secrets/templates/role.yaml b/charts/vault-gcp-secrets/templates/role.yaml index c9c7167..09ae788 100644 --- a/charts/vault-gcp-secrets/templates/role.yaml +++ b/charts/vault-gcp-secrets/templates/role.yaml @@ -13,6 +13,9 @@ rules: - secrets resourceNames: - {{ .Values.secret.name | quote}} +{{- range .Values.additionalSecrets }} + - {{ .name | quote }} +{{- end }} verbs: - create - delete diff --git a/charts/vault-gcp-secrets/values.yaml b/charts/vault-gcp-secrets/values.yaml index 6507898..45801c1 100644 --- a/charts/vault-gcp-secrets/values.yaml +++ b/charts/vault-gcp-secrets/values.yaml @@ -65,6 +65,14 @@ secret: dockerUsername: _json_key dockerEmail: not.used@example.com +# additionalSecrets - more secrets to manage with this chart (you will have to adjust the template command to manage these) +# - name is required, type will default to the secret.type +# additionalSecrets: +# - name: oneSecret +# - name: twoSecret +# type: Opaque +additionalSecrets: [] + debugVerboseTemplateCommand: false debugBypassTemplateCommandFail: false