Skip to content

Commit 90f85fd

Browse files
authored
feat: Add explicit namespace support (#115)
1 parent 8eb293d commit 90f85fd

25 files changed

Lines changed: 166 additions & 18 deletions

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ Here's a summary of the available configuration options:
5757
| imagePullSecrets | array | `[]` | Specifies docker registry secret names as an array |
5858
| nameOverride | string | `""` | Partially overrides the fullname template with a string (includes release name) |
5959
| fullnameOverride | string | `""` | Fully overrides the fullname template with a string |
60+
| namespaceOverride | string | `""` | Sets `metadata.namespace` on namespaced resources; defaults to the release namespace. Refer to `values.yaml` for when to use it |
6061
| commonLabels | object | `{}` | Specifies labels to be applied to all created resources |
6162
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
6263
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |

templates/NOTES.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- $namespace := include "ld-relay.namespace" . -}}
12
1. Get the application URL by running these commands:
23
{{- if .Values.ingress.enabled }}
34
{{- range $host := .Values.ingress.hosts }}
@@ -6,17 +7,17 @@
67
{{- end }}
78
{{- end }}
89
{{- else if contains "NodePort" .Values.service.type }}
9-
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "ld-relay.fullname" . }})
10-
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
10+
export NODE_PORT=$(kubectl get --namespace {{ $namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "ld-relay.fullname" . }})
11+
export NODE_IP=$(kubectl get nodes --namespace {{ $namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
1112
echo http://$NODE_IP:$NODE_PORT
1213
{{- else if contains "LoadBalancer" .Values.service.type }}
1314
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14-
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "ld-relay.fullname" . }}'
15-
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "ld-relay.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
15+
You can watch the status of by running 'kubectl get --namespace {{ $namespace }} svc -w {{ include "ld-relay.fullname" . }}'
16+
export SERVICE_IP=$(kubectl get svc --namespace {{ $namespace }} {{ include "ld-relay.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
1617
echo http://$SERVICE_IP:{{ .Values.service.port }}
1718
{{- else if contains "ClusterIP" .Values.service.type }}
18-
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "ld-relay.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19-
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
19+
export POD_NAME=$(kubectl get pods --namespace {{ $namespace }} -l "app.kubernetes.io/name={{ include "ld-relay.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
20+
export CONTAINER_PORT=$(kubectl get pod --namespace {{ $namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
2021
echo "Visit http://127.0.0.1:8080 to use your application"
21-
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22+
kubectl --namespace {{ $namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
2223
{{- end }}

templates/_helpers.tpl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ Create chart name and version as used by the chart label.
3030
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
3131
{{- end }}
3232

33+
{{/*
34+
Namespace rendered into the metadata of the chart's namespaced resources.
35+
Defaults to the release namespace; override with .Values.namespaceOverride.
36+
*/}}
37+
{{- define "ld-relay.namespace" -}}
38+
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
39+
{{- end -}}
40+
3341
{{/*
3442
Common labels
3543
*/}}

templates/config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: v1
22
kind: ConfigMap
33
metadata:
44
name: "{{ include "ld-relay.fullname" . }}-config"
5+
namespace: {{ include "ld-relay.namespace" . }}
56
labels:
67
{{- include "ld-relay.labels" . | nindent 4 }}
78
data:

templates/deployment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: {{ include "ld-relay.fullname" . }}
5+
namespace: {{ include "ld-relay.namespace" . }}
56
labels:
67
{{- include "ld-relay.labels" . | nindent 4 }}
78
spec:

templates/hpa.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ apiVersion: autoscaling/v1
99
kind: HorizontalPodAutoscaler
1010
metadata:
1111
name: {{ include "ld-relay.fullname" . }}
12+
namespace: {{ include "ld-relay.namespace" . }}
1213
labels:
1314
{{- include "ld-relay.labels" . | nindent 4 }}
1415
spec:

templates/ingress.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ apiVersion: extensions/v1beta1
1515
kind: Ingress
1616
metadata:
1717
name: {{ $fullName }}
18+
namespace: {{ include "ld-relay.namespace" . }}
1819
labels:
1920
{{- include "ld-relay.labels" . | nindent 4 }}
2021
{{- with .Values.ingress.annotations }}

templates/poddisruptionbudget.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ apiVersion: policy/v1beta1
1111
kind: PodDisruptionBudget
1212
metadata:
1313
name: {{ include "ld-relay.fullname" . }}
14+
namespace: {{ include "ld-relay.namespace" . }}
1415
labels:
1516
{{- include "ld-relay.labels" . | nindent 4 }}
1617
spec:

templates/service.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: v1
22
kind: Service
33
metadata:
44
name: {{ include "ld-relay.fullname" . }}
5+
namespace: {{ include "ld-relay.namespace" . }}
56
labels:
67
{{- include "ld-relay.labels" . | nindent 4 }}
78
{{- with .Values.service.annotations }}

templates/serviceaccount.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ apiVersion: v1
33
kind: ServiceAccount
44
metadata:
55
name: {{ include "ld-relay.serviceAccountName" . }}
6+
namespace: {{ include "ld-relay.namespace" . }}
67
labels:
78
{{- include "ld-relay.labels" . | nindent 4 }}
89
{{- with .Values.serviceAccount.annotations }}

0 commit comments

Comments
 (0)