Skip to content
This repository was archived by the owner on Aug 4, 2020. It is now read-only.

Commit ec09ac2

Browse files
committed
feat(charts): Add helm charts for registry token refresher
1 parent b4f1eb9 commit ec09ac2

4 files changed

Lines changed: 127 additions & 0 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: registry-token-refresher
2+
home: https://github.com/deis/registry-token-refresher
3+
version: <Will be populated by the ci before publishing the chart>
4+
description: Token Refresher for Deis Workflow.
5+
keywords:
6+
- private registry
7+
- token refresher
8+
maintainers:
9+
- name: Deis Team
10+
email: engineering@deis.com
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{{- if ne .Values.global.registry_location "on-cluster" }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: registry-secret
6+
labels:
7+
heritage: deis
8+
annotations:
9+
deis.io/registry-location: "{{ .Values.global.registry_location }}"
10+
type: Opaque
11+
data: {{ if eq .Values.global.registry_location "gcr" }}
12+
key.json: {{ .Values.gcr.key_json | b64enc }}
13+
hostname: {{ .Values.gcr.hostname | b64enc }}{{ else if eq .Values.global.registry_location "ecr" }}
14+
accesskey: {{ .Values.ecr.accesskey | b64enc }}
15+
secretkey: {{ .Values.ecr.secretkey | b64enc }}
16+
region: {{ .Values.ecr.region | b64enc }}
17+
registryid: {{ .Values.ecr.registryid | b64enc }}
18+
hostname: {{ .Values.ecr.hostname | b64enc }}{{else if eq .Values.global.registry_location "off-cluster" }}
19+
hostname: {{ .Values.off_cluster_registry.hostname | b64enc }}
20+
organization: {{ .Values.off_cluster_registry.organization | b64enc }}
21+
username: {{ .Values.off_cluster_registry.username | b64enc }}
22+
password: {{ .Values.off_cluster_registry.password | b64enc }}{{ end }}
23+
{{- end }}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{{- if and (ne .Values.global.registry_location "on-cluster") (ne .Values.global.registry_location "off-cluster") }}
2+
apiVersion: extensions/v1beta1
3+
kind: Deployment
4+
metadata:
5+
name: deis-registry-token-refresher
6+
labels:
7+
heritage: deis
8+
annotations:
9+
component.deis.io/version: {{ .Values.docker_tag }}
10+
spec:
11+
replicas: 1
12+
strategy:
13+
rollingUpdate:
14+
maxSurge: 1
15+
maxUnavailable: 0
16+
type: RollingUpdate
17+
selector:
18+
matchLabels:
19+
app: deis-registry-token-refresher
20+
template:
21+
metadata:
22+
labels:
23+
app: deis-registry-token-refresher
24+
spec:
25+
containers:
26+
- name: deis-registry-token-refresher
27+
image: quay.io/{{.Values.org}}/registry-token-refresher:{{.Values.docker_tag}}
28+
imagePullPolicy: {{.Values.pull_policy}}
29+
{{- if or (.Values.limits_cpu) (.Values.limits_memory)}}
30+
resources:
31+
limits:
32+
{{- if (.Values.limits_cpu) }}
33+
cpu: {{.Values.limits_cpu}}
34+
{{- end}}
35+
{{- if (.Values.limits_memory) }}
36+
memory: {{.Values.limits_memory}}
37+
{{- end}}
38+
{{- end}}
39+
env:
40+
- name: "DEIS_REGISTRY_LOCATION"
41+
value: "{{ .Values.global.registry_location }}"
42+
- name: "DEIS_REGISTRY_SECRET_PREFIX"
43+
value: "{{ .Values.global.secret_prefix }}"
44+
- name: DEIS_NAMESPACE_REFRESH_TIME
45+
value: "5"
46+
- name: "DEIS_TOKEN_REFRESH_TIME"
47+
value: "{{ .Values.token_refresh_time }}"
48+
volumeMounts:
49+
- name: registry-secret
50+
mountPath: /var/run/secrets/deis/registry/creds
51+
readOnly: true
52+
volumes:
53+
- name: registry-secret
54+
secret:
55+
secretName: registry-secret
56+
{{- end }}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
org: "deisci"
2+
pull_policy: "Always"
3+
docker_tag: canary
4+
# limits_cpu: "100m"
5+
# limits_memory: "50Mi"
6+
7+
# Time in minutes after which the token should be refreshed.
8+
# Leave it empty to use the default provider time.
9+
token_refresh_time: ""
10+
off_cluster_registry:
11+
hostname: ""
12+
organization: ""
13+
username: ""
14+
password: ""
15+
ecr:
16+
# Your AWS access key. Leave it empty if you want to use IAM credentials.
17+
accesskey: ""
18+
# Your AWS secret key. Leave it empty if you want to use IAM credentials.
19+
secretkey: ""
20+
# Any S3 region
21+
region: "us-west-2"
22+
registryid: ""
23+
hostname: ""
24+
gcr:
25+
key_json: 'Paste JSON data here.'
26+
hostname: ""
27+
28+
global:
29+
# Set the location of Workflow's Registry
30+
#
31+
# Valid values are:
32+
# - on-cluster: Run registry within the Kubernetes cluster
33+
# - off-cluster: Use registry outside the Kubernetes cluster (example: dockerhub,quay.io,self-hosted)
34+
# - ecr: Use Amazon's ECR
35+
# - gcr: Use Google's GCR
36+
registry_location: "on-cluster"
37+
# Prefix for the imagepull secret created when using private registry
38+
secret_prefix: "private-registry"

0 commit comments

Comments
 (0)