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