blob: ac3cebc4399ceff5a90057d4247270c57d533ab2 [file] [log] [blame]
Badhrinath987e1d82020-11-20 13:23:58 -06001{{/*
2# Copyright 2020-present Open Networking Foundation
3
4# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
5*/}}
6
7{{- if .Values.config.udm.deploy }}
8{{ tuple "udm" . | include "5g-control-plane.service_account" }}
9---
10apiVersion: apps/v1
11kind: StatefulSet
12metadata:
13 name: udm
14 labels:
15{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 4 }}
16spec:
17 replicas: 1
18 serviceName: udm-headless
19 selector:
20 matchLabels:
21{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 6 }}
22 template:
23 metadata:
24 labels:
25{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 8 }}
26 {{- with .Values.config.udm.podAnnotations }}
27 annotations:
28 {{- toYaml . | nindent 8 }}
29 {{- end }}
30 spec:
31 {{- if .Values.nodeSelectors.enabled }}
32 nodeSelector:
33 {{ .Values.nodeSelectors.udm.label }}: {{ .Values.nodeSelectors.udm.value }}
34 {{- end }}
35 serviceAccountName: udm
36 {{- if .Values.images.credentials }}
37 imagePullSecrets:
38 - name: {{ .Release.Name }}.registry
39 {{- end }}
40 initContainers:
41 - name: wait-nrf-module
42 image: {{ .Values.images.tags.init | quote }}
43 imagePullPolicy: {{ .Values.images.pullPolicy }}
44 command: ['sh', '-c', 'until nslookup nrf; do echo waiting for nrf; sleep 4; done;']
45 - name: wait-udr-module
46 image: {{ .Values.images.tags.init | quote }}
47 imagePullPolicy: {{ .Values.images.pullPolicy }}
48 command: ['sh', '-c', 'until nslookup udr; do echo waiting for udr; sleep 4; done;']
49 {{- if .Values.config.coreDump.enabled }}
50{{ tuple "udm" . | include "5g-control-plane.coredump_init" | indent 6 }}
51 {{- end }}
52 containers:
53 - name: udm
54 image: {{ .Values.images.tags.udm }}
55 imagePullPolicy: {{ .Values.images.pullPolicy }}
56 {{- if .Values.config.coreDump.enabled }}
57 securityContext:
58 runAsUser: 0
59 {{- end }}
60 stdin: true
61 tty: true
62 command: ["/opt/cp/scripts/udm-run.sh"]
63 env:
64 - name: POD_IP
65 valueFrom:
66 fieldRef:
67 fieldPath: status.podIP
68 {{- if .Values.resources.enabled }}
69 resources:
70{{ toYaml .Values.resources.udm | indent 10 }}
71 {{- end }}
72 volumeMounts:
73 - name: cp-script
74 mountPath: /opt/cp/scripts/udm-run.sh
75 subPath: udm-run.sh
76 - name: cp-config
77 mountPath: /free5gc/config
78 {{- if .Values.config.coreDump.enabled }}
79 - name: coredump
80 mountPath: /tmp/coredump
81 {{- end }}
82 volumes:
83 - name: cp-script
84 configMap:
85 name: udm
86 defaultMode: 493
87 - name: cp-config
88 configMap:
89 name: udm
90 defaultMode: 420
91 {{- if .Values.config.coreDump.enabled }}
92 - name: host-rootfs
93 hostPath:
94 path: /
95 - name: coredump
96 hostPath:
97 path: {{ .Values.config.coreDump.path }}
98 {{- end }}
99{{- end }}