Files
netbird-kubernetes-operator/helm/kubernetes-operator/templates/kubernetes-nbresource.yaml
T

72 lines
2.6 KiB
YAML
Raw Normal View History

2025-03-30 21:16:44 +02:00
{{- if and .Values.ingress.enabled .Values.ingress.kubernetesAPI.enabled }}
{{- $routerNS := .Release.Namespace }}
{{- if .Values.ingress.namespacedNetworks }}
{{- $routerNS = "default" }}
{{- end }}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "kubernetes-operator.fullname" . }}-kubernetes-service-expose
labels:
app.kubernetes.io/component: operator
{{- include "kubernetes-operator.labels" . | nindent 4 }}
annotations:
helm.sh/hook: post-upgrade,post-install
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
spec:
backoffLimit: 3
2025-03-30 21:16:44 +02:00
template:
metadata:
name: {{ include "kubernetes-operator.fullname" . }}
labels:
app.kubernetes.io/component: operator
{{- include "kubernetes-operator.labels" . | nindent 8 }}
{{- with .Values.operator.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
initContainers:
- name: wait-network-ready
image: "bitnami/kubectl:latest"
command:
- bash
- -c
args:
- kubectl wait --for 'jsonpath={.status.networkID}' -n {{ $routerNS }} nbroutingpeer router;
containers:
- name: apply-nbresource
image: "bitnami/kubectl:latest"
env:
- name: NBRESOURCE_VALUE
value: |
apiVersion: netbird.io/v1
kind: NBResource
metadata:
finalizers:
- netbird.io/cleanup
name: kubernetes
namespace: default
spec:
address: kubernetes.default.{{.Values.cluster.dns}}
groups:
{{- if .Values.ingress.kubernetesAPI.groups }}
2025-03-31 17:27:42 +02:00
{{ toYaml .Values.ingress.kubernetesAPI.groups }}
2025-03-30 21:16:44 +02:00
{{- else }}
2025-03-31 17:27:42 +02:00
- {{ .Values.cluster.name }}-default-api-access
2025-03-30 21:16:44 +02:00
{{- end }}
2025-03-31 17:27:42 +02:00
name: {{ .Values.ingress.kubernetesAPI.resourceName | default "default-kubernetes-api" }}
2025-03-30 21:16:44 +02:00
networkID: ${NETWORK_ID}
{{- if .Values.ingress.kubernetesAPI.policies }}
policyName: "{{ join "," .Values.ingress.kubernetesAPI.policies }}"
{{- end }}
tcpPorts:
- 443
command:
- bash
- -c
args:
- kubectl delete NBResource --ignore-not-found -n default kubernetes; export NETWORK_ID=$(kubectl get NBRoutingPeer -n {{ $routerNS }} router -o 'jsonpath={.status.networkID}'); echo "$NBRESOURCE_VALUE" | envsubst | kubectl apply -f -
serviceAccountName: {{ include "kubernetes-operator.serviceAccountName" . }}
restartPolicy: Never
{{- end }}