From e601cef6ebb91608e5c9adf8e98b409e8089d2fe Mon Sep 17 00:00:00 2001 From: Jesus Rafael Carrillo Date: Thu, 9 Nov 2017 10:36:19 -0800 Subject: [PATCH] stable/kube2iam: added support for aws access keys (#2675) Added a secret resource to allow setting AWS access keys and region --- stable/kube2iam/Chart.yaml | 2 +- stable/kube2iam/templates/daemonset.yaml | 16 ++++++++++++++++ stable/kube2iam/templates/secret.yaml | 15 +++++++++++++++ stable/kube2iam/values.yaml | 6 ++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 stable/kube2iam/templates/secret.yaml diff --git a/stable/kube2iam/Chart.yaml b/stable/kube2iam/Chart.yaml index 088468e09d..e232dbb3b7 100644 --- a/stable/kube2iam/Chart.yaml +++ b/stable/kube2iam/Chart.yaml @@ -1,5 +1,5 @@ name: kube2iam -version: 0.6.0 +version: 0.6.1 description: Provide IAM credentials to pods based on annotations. keywords: - kube2iam diff --git a/stable/kube2iam/templates/daemonset.yaml b/stable/kube2iam/templates/daemonset.yaml index 214fbbd7b5..1837c401f8 100644 --- a/stable/kube2iam/templates/daemonset.yaml +++ b/stable/kube2iam/templates/daemonset.yaml @@ -42,6 +42,22 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP + {{- if and .Values.aws.secret_key .Values.aws.access_key }} + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + name: {{ template "kube2iam.fullname" . }} + key: aws_access_key_id + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: {{ template "kube2iam.fullname" . }} + key: aws_secret_access_key + {{- end }} + {{- if .Values.aws.region }} + - name: AWS_DEFAULT_REGION + value: {{ .Values.aws.region }} + {{- end }} ports: - containerPort: 8181 resources: diff --git a/stable/kube2iam/templates/secret.yaml b/stable/kube2iam/templates/secret.yaml new file mode 100644 index 0000000000..968a1dd146 --- /dev/null +++ b/stable/kube2iam/templates/secret.yaml @@ -0,0 +1,15 @@ +{{- if and .Values.aws.secret_key .Values.aws.access_key -}} +apiVersion: v1 +kind: Secret +metadata: + labels: + app: {{ template "kube2iam.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "kube2iam.fullname" . }} +type: Opaque +data: + aws_access_key_id: {{ .Values.aws.access_key | b64enc | quote }} + aws_secret_access_key: {{ .Values.aws.secret_key | b64enc | quote }} +{{- end }} diff --git a/stable/kube2iam/values.yaml b/stable/kube2iam/values.yaml index 1d74b3e0e0..4924eb1e72 100644 --- a/stable/kube2iam/values.yaml +++ b/stable/kube2iam/values.yaml @@ -14,6 +14,12 @@ image: tag: 0.7.0 pullPolicy: IfNotPresent +# AWS Access keys to inject as environment variables +aws: + secret_key: "" + access_key: "" + region: "" + ## Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ##