diff --git a/README.md b/README.md index 7e7e86b7..c174807a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ their default values. | `serviceAccount.name` | ServiceAccount name | `nil` | | `serviceAccount.annotations` | Annotations to add to the ServiceAccount | `{}` | | `deployment.annotations` | Annotations to add to the Deployment | `{}` | +| `service.create` | Create Service | `false` | | `service.port` | TCP port on which the service is exposed | `5000` | | `service.type` | service type | `ClusterIP` | | `service.clusterIP` | if `service.type` is `ClusterIP` and this is non-empty, sets the cluster IP of the service | `nil` | diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index d9d7531b..dc256c8e 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -1,4 +1,15 @@ {{/* vim: set filetype=mustache: */}} +{{/* +Allow the release namespace to be overridden for multi-namespace deployments in combined charts +*/}} +{{- define "docker-registry.namespace" -}} + {{- if .Values.namespace -}} + {{- .Values.namespace -}} + {{- else -}} + {{- .Release.Namespace -}} + {{- end -}} +{{- end -}} + {{/* Expand the name of the chart. */}} diff --git a/templates/configmap.yaml b/templates/configmap.yaml index 0f046ea7..76664f78 100644 --- a/templates/configmap.yaml +++ b/templates/configmap.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ template "docker-registry.fullname" . }}-config - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} diff --git a/templates/cronjob.yaml b/templates/cronjob.yaml index 780cf875..f1521fee 100644 --- a/templates/cronjob.yaml +++ b/templates/cronjob.yaml @@ -3,7 +3,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: {{ template "docker-registry.fullname" . }}-garbage-collector - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/deployment.yaml b/templates/deployment.yaml index dff79cb5..845d98c8 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/ingress.yaml b/templates/ingress.yaml index cb90c2f7..13236378 100644 --- a/templates/ingress.yaml +++ b/templates/ingress.yaml @@ -7,7 +7,7 @@ apiVersion: {{- if $apiVersions.Has "networking.k8s.io/v1" }} networking.k8s.io/ kind: Ingress metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/poddisruptionbudget.yaml b/templates/poddisruptionbudget.yaml index 5a551d31..289ba26c 100644 --- a/templates/poddisruptionbudget.yaml +++ b/templates/poddisruptionbudget.yaml @@ -7,7 +7,7 @@ apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/pvc.yaml b/templates/pvc.yaml index dea05397..ce092ab4 100644 --- a/templates/pvc.yaml +++ b/templates/pvc.yaml @@ -4,7 +4,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" diff --git a/templates/secret.yaml b/templates/secret.yaml index 6265dc84..ff9c5187 100644 --- a/templates/secret.yaml +++ b/templates/secret.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Secret metadata: name: {{ template "docker-registry.fullname" . }}-secret - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} diff --git a/templates/service.yaml b/templates/service.yaml index 9a650e15..23788df9 100644 --- a/templates/service.yaml +++ b/templates/service.yaml @@ -1,8 +1,9 @@ +{{- if .Values.service.create -}} apiVersion: v1 kind: Service metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} @@ -50,3 +51,4 @@ spec: selector: app: {{ template "docker-registry.name" . }} release: {{ .Release.Name }} +{{- end -}} diff --git a/templates/serviceaccount.yaml b/templates/serviceaccount.yaml index 6cef434f..6d6cb9c4 100644 --- a/templates/serviceaccount.yaml +++ b/templates/serviceaccount.yaml @@ -7,7 +7,7 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version }} heritage: {{ .Release.Service }} release: {{ .Release.Name }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} {{- if .Values.serviceAccount.name }} name: {{ .Values.serviceAccount.name }} {{- else }} diff --git a/values.yaml b/values.yaml index 4bdab458..e25a7191 100644 --- a/values.yaml +++ b/values.yaml @@ -26,6 +26,7 @@ image: deployment: {} # annotations: service: + create: false name: registry type: ClusterIP # sessionAffinity: None