Skip to content

Commit

Permalink
Existing secret support for helm chart (#267)
Browse files Browse the repository at this point in the history
* Enable use of existsing secret for server key/cert

* type fix

* Bump chart version

* defaults for crt/key, conditional changed, Readme fixed
  • Loading branch information
schegi authored and rojer committed Dec 8, 2019
1 parent 65e063b commit df57cca
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 3 deletions.
2 changes: 1 addition & 1 deletion chart/docker-auth/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v1
appVersion: "1.4.0"
description: Docker Registry V2 authentication server
name: docker-auth
version: 1.0.0
version: 1.0.1
keywords:
- docker
- registry
Expand Down
7 changes: 5 additions & 2 deletions chart/docker-auth/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,11 @@ The following table lists the configurable parameters of the docker-auth chart a
| Parameter | Description | Default |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| **Secret** |
| `secret.data.server.certificate` | Content of server.pem | |
| `secret.data.server.key` | Content of server.key | |
| `secret.data.server.certificate` | Content of server.pem (mutually exclusive with secretName, keyName, certificateName) | |
| `secret.data.server.key` | Content of server.key (mutually exclusive with secretName, keyName, certificateName) | |
| `secret.secretName` | The name of the secret containing server key and certificate (mutually exclusive with secret.data.server.key/certificate) | |
| `secret.certificateFileName` | The name of the server certificate file (mutually exclusive with secret.data.server.key/certificate) | tls.crt |
| `secret.keyFileName` | The name of the server key file (mutually exclusive with secret.data.server.key/certificate) | tls.key |
| **Configmap** |
| `configmap.data.token.issuer` | Must match issuer in the Registry config | `Acme auth server` |
| `configmap.data.token.expiration` | Token Expiration | `900` |
Expand Down
5 changes: 5 additions & 0 deletions chart/docker-auth/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@ data:
token:
issuer: "{{ .Values.configmap.data.token.issuer }}" # Must match issuer in the Registry config.
expiration: {{ .Values.configmap.data.token.expiration }}
{{- if .Values.secret.secretName }}
certificate: "/config/certs/{{ default "tls.crt" .Values.secret.certificateFileName }}"
key: "/config/certs/{{ default "tls.key" .Values.secret.keyFileName }}"
{{- else }}
certificate: "/config/certs/server.pem"
key: "/config/certs/server.key"
{{- end }}
users:
{{ .Values.configmap.data.users | toYaml | nindent 6 }}
acl:
Expand Down
4 changes: 4 additions & 0 deletions chart/docker-auth/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ spec:
name: {{ include "docker-auth.name" . }}
- name: {{ include "docker-auth.name" . }}-secret
secret:
{{- if .Values.secret.secretName }}
secretName: {{ .Values.secret.secretName }}
{{- else }}
secretName: {{ include "docker-auth.name" . }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
Expand Down
3 changes: 3 additions & 0 deletions chart/docker-auth/templates/secret.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{{- if not .Values.secret.secretName }}
---
apiVersion: v1
kind: Secret
metadata:
Expand All @@ -6,3 +8,4 @@ type: Opaque
data:
server.pem: {{ .Values.secret.data.server.certificate | b64enc | quote }}
server.key: {{ .Values.secret.data.server.key | b64enc | quote }}
{{- end }}
6 changes: 6 additions & 0 deletions chart/docker-auth/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ secret:
key: |+
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
# For reusing an existing secret (e.g. generated by cert-manager), define secretName, certificateFileName and keyFileName
# These settings are mutually exclusive with the values provided in secret.data. Once secretName is set the secret
# generated with the values above will be not be used in the deployment.
# secretName:
# certificateFileName: tls.crt
# keyFileName: tls.key
configmap:
data:
token:
Expand Down

0 comments on commit df57cca

Please sign in to comment.