mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
72 lines
2.6 KiB
YAML
72 lines
2.6 KiB
YAML
{{- 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
|
|
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: "netbirdio/kubectl:latest"
|
|
command:
|
|
- sh
|
|
- -c
|
|
args:
|
|
- kubectl wait --for 'jsonpath={.status.networkID}' -n {{ $routerNS }} nbroutingpeer router;
|
|
containers:
|
|
- name: apply-nbresource
|
|
image: "netbirdio/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 }}
|
|
{{ toYaml .Values.ingress.kubernetesAPI.groups }}
|
|
{{- else }}
|
|
- {{ .Values.cluster.name }}-default-api-access
|
|
{{- end }}
|
|
name: {{ .Values.ingress.kubernetesAPI.resourceName | default "default-kubernetes-api" }}
|
|
networkID: ${NETWORK_ID}
|
|
{{- if .Values.ingress.kubernetesAPI.policies }}
|
|
policyName: "{{ join "," .Values.ingress.kubernetesAPI.policies }}"
|
|
{{- end }}
|
|
tcpPorts:
|
|
- 443
|
|
command:
|
|
- sh
|
|
- -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 }}
|