diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl index 9c6c892..3fbc2ac 100644 --- a/chart/templates/_helpers.tpl +++ b/chart/templates/_helpers.tpl @@ -53,3 +53,14 @@ app.kubernetes.io/version: {{ .Chart.AppVersion }} {{ include "system_default_registry" . }} {{- end -}} {{- end -}} + +{{- /* + define the longhorn release namespace +*/ -}} +{{- define "release_namespace" -}} +{{- if .Values.namespaceOverride -}} +{{- .Values.namespaceOverride -}} +{{- else -}} +{{- .Release.Namespace -}} +{{- end -}} +{{- end -}} diff --git a/chart/templates/clusterrolebinding.yaml b/chart/templates/clusterrolebinding.yaml index 30c7fa7..66ac62f 100644 --- a/chart/templates/clusterrolebinding.yaml +++ b/chart/templates/clusterrolebinding.yaml @@ -10,4 +10,4 @@ roleRef: subjects: - kind: ServiceAccount name: longhorn-service-account - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} diff --git a/chart/templates/daemonset-sa.yaml b/chart/templates/daemonset-sa.yaml index f6e323b..e4c4ff1 100644 --- a/chart/templates/daemonset-sa.yaml +++ b/chart/templates/daemonset-sa.yaml @@ -4,7 +4,7 @@ metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-manager name: longhorn-manager - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} spec: selector: matchLabels: @@ -97,7 +97,7 @@ metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-manager name: longhorn-backend - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} spec: type: {{ .Values.service.manager.type }} sessionAffinity: ClientIP diff --git a/chart/templates/default-setting.yaml b/chart/templates/default-setting.yaml index 48283c9..14c264e 100644 --- a/chart/templates/default-setting.yaml +++ b/chart/templates/default-setting.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: longhorn-default-setting - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} data: default-setting.yaml: |- diff --git a/chart/templates/deployment-driver.yaml b/chart/templates/deployment-driver.yaml index 232358c..c4b6e35 100644 --- a/chart/templates/deployment-driver.yaml +++ b/chart/templates/deployment-driver.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: longhorn-driver-deployer - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} spec: replicas: 1 diff --git a/chart/templates/deployment-ui.yaml b/chart/templates/deployment-ui.yaml index 027d54e..da7c0ea 100644 --- a/chart/templates/deployment-ui.yaml +++ b/chart/templates/deployment-ui.yaml @@ -4,7 +4,7 @@ metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-ui name: longhorn-ui - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} spec: replicas: 1 selector: @@ -41,7 +41,7 @@ metadata: kubernetes.io/cluster-service: "true" {{- end }} name: longhorn-frontend - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} spec: {{- if eq .Values.service.ui.type "Rancher-Proxy" }} type: ClusterIP diff --git a/chart/templates/ingress.yaml b/chart/templates/ingress.yaml index e3e9e3e..5b3a405 100644 --- a/chart/templates/ingress.yaml +++ b/chart/templates/ingress.yaml @@ -3,6 +3,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: name: longhorn-ingress + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-ingress annotations: diff --git a/chart/templates/postupgrade-job.yaml b/chart/templates/postupgrade-job.yaml index e3559eb..6b6a385 100644 --- a/chart/templates/postupgrade-job.yaml +++ b/chart/templates/postupgrade-job.yaml @@ -5,7 +5,7 @@ metadata: "helm.sh/hook": post-upgrade "helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation name: longhorn-post-upgrade - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} spec: activeDeadlineSeconds: 900 diff --git a/chart/templates/psp.yaml b/chart/templates/psp.yaml index 66479b4..a2dfc05 100644 --- a/chart/templates/psp.yaml +++ b/chart/templates/psp.yaml @@ -35,7 +35,7 @@ kind: Role metadata: name: longhorn-psp-role labels: {{- include "longhorn.labels" . | nindent 4 }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} rules: - apiGroups: - policy @@ -51,7 +51,7 @@ kind: RoleBinding metadata: name: longhorn-psp-binding labels: {{- include "longhorn.labels" . | nindent 4 }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -59,8 +59,8 @@ roleRef: subjects: - kind: ServiceAccount name: longhorn-service-account - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} - kind: ServiceAccount name: default - namespace: {{ .Release.Namespace }} -{{- end }} \ No newline at end of file + namespace: {{ include "release_namespace" . }} +{{- end }} diff --git a/chart/templates/registry-secret.yml b/chart/templates/registry-secret.yml index 7112c89..1c7565f 100644 --- a/chart/templates/registry-secret.yml +++ b/chart/templates/registry-secret.yml @@ -3,6 +3,7 @@ apiVersion: v1 kind: Secret metadata: name: {{ .Values.privateRegistry.registrySecret }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} type: kubernetes.io/dockerconfigjson data: diff --git a/chart/templates/serviceaccount.yaml b/chart/templates/serviceaccount.yaml index a2280b4..ad576c3 100644 --- a/chart/templates/serviceaccount.yaml +++ b/chart/templates/serviceaccount.yaml @@ -2,5 +2,5 @@ apiVersion: v1 kind: ServiceAccount metadata: name: longhorn-service-account - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} diff --git a/chart/templates/storageclass.yaml b/chart/templates/storageclass.yaml index 6b82d41..dea6aaf 100644 --- a/chart/templates/storageclass.yaml +++ b/chart/templates/storageclass.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: longhorn-storageclass - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} data: storageclass.yaml: | diff --git a/chart/templates/tls-secrets.yaml b/chart/templates/tls-secrets.yaml index 7a75df0..a7ebf13 100644 --- a/chart/templates/tls-secrets.yaml +++ b/chart/templates/tls-secrets.yaml @@ -4,6 +4,7 @@ apiVersion: v1 kind: Secret metadata: name: longhorn + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn type: kubernetes.io/tls diff --git a/chart/templates/uninstall-job.yaml b/chart/templates/uninstall-job.yaml index 6a36a16..e7e9f14 100644 --- a/chart/templates/uninstall-job.yaml +++ b/chart/templates/uninstall-job.yaml @@ -5,7 +5,7 @@ metadata: "helm.sh/hook": pre-delete "helm.sh/hook-delete-policy": hook-succeeded name: longhorn-uninstall - namespace: {{ .Release.Namespace }} + namespace: {{ include "release_namespace" . }} labels: {{- include "longhorn.labels" . | nindent 4 }} spec: activeDeadlineSeconds: 900 diff --git a/chart/values.yaml b/chart/values.yaml index 2afe094..b6476a3 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -153,3 +153,7 @@ ingress: # Configure a pod security policy in the Longhorn namespace to allow privileged pods enablePSP: true + +## Specify override namespace, specifically this is useful for using longhorn as sub-chart +## and its release namespace is not the `longhorn-system` +namespaceOverride: ""