Add image pull secret as a data value for our ytt templates

Signed-off-by: Aram Price <pricear@vmware.com>
This commit is contained in:
Ryan Richard 2020-08-12 17:02:43 -07:00 committed by Aram Price
parent 9648db0837
commit 87eddf8bbd
2 changed files with 20 additions and 1 deletions

View File

@ -30,6 +30,19 @@ data:
url: (@= data.values.webhook_url @) url: (@= data.values.webhook_url @)
caBundle: (@= data.values.webhook_ca_bundle @) caBundle: (@= data.values.webhook_ca_bundle @)
--- ---
#@ if data.values.image_pull_dockerconfigjson and data.values.image_pull_dockerconfigjson != "":
apiVersion: v1
kind: Secret
metadata:
name: image-pull-secret
namespace: #@ data.values.namespace
labels:
app: #@ data.values.app_name
data:
#! e.g. the output of: kubectl create secret docker-registry x --docker-server=https://example.io --docker-username="USERNAME" --docker-password="PASSWORD" --dry-run=client -o json | jq -r '.data[".dockerconfigjson"]'
.dockerconfigjson: #@ data.values.image_pull_dockerconfigjson
#@ end
---
#! TODO set up healthy, ready, etc. probes correctly? #! TODO set up healthy, ready, etc. probes correctly?
#! TODO set resource minimums (e.g. 512MB RAM) to make sure we get scheduled onto a reasonable node? #! TODO set resource minimums (e.g. 512MB RAM) to make sure we get scheduled onto a reasonable node?
apiVersion: apps/v1 apiVersion: apps/v1
@ -51,6 +64,10 @@ spec:
scheduler.alpha.kubernetes.io/critical-pod: "" scheduler.alpha.kubernetes.io/critical-pod: ""
spec: spec:
serviceAccountName: #@ data.values.app_name + "-service-account" serviceAccountName: #@ data.values.app_name + "-service-account"
#@ if data.values.image_pull_dockerconfigjson and data.values.image_pull_dockerconfigjson != "":
imagePullSecrets:
- name: image-pull-secret
#@ end
containers: containers:
- name: placeholder-name - name: placeholder-name
#@ if data.values.image_digest: #@ if data.values.image_digest:

View File

@ -6,7 +6,7 @@ app_name: placeholder-name
namespace: #! e.g. placeholder-name namespace: #! e.g. placeholder-name
#! Specify either an image_digest or an image_tag. If both are given, only image_digest will be used. #! Specify either an image_digest or an image_tag. If both are given, only image_digest will be used.
image_repo: #! e.g. gcr.io/your-project-name/repo-name image_repo: #! e.g. registry.example.com/your-project-name/repo-name
image_digest: #! e.g. sha256:f3c4fdfd3ef865d4b97a1fd295d94acc3f0c654c46b6f27ffad5cf80216903c8 image_digest: #! e.g. sha256:f3c4fdfd3ef865d4b97a1fd295d94acc3f0c654c46b6f27ffad5cf80216903c8
image_tag: #! e.g. latest image_tag: #! e.g. latest
@ -14,3 +14,5 @@ webhook_url: #! e.g., https://example.com
webhook_ca_bundle: #! e.g., LS0tLS1CRUdJTiBDRVJUSUZJQ0F... webhook_ca_bundle: #! e.g., LS0tLS1CRUdJTiBDRVJUSUZJQ0F...
discovery_url: #! e.g., https://example.com discovery_url: #! e.g., https://example.com
image_pull_dockerconfigjson: #! e.g. {"auths":{"https://registry.example.com":{"username":"USERNAME","password":"PASSWORD","auth":"BASE64_ENCODED_USERNAME_COLON_PASSWORD"}}}