blob: 65c63a05bb93ab7ac85d940113754d73774df3fc [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.pcf.deploy }}
8{{ tuple "pcf" . | include "5g-control-plane.service_account" }}
9---
10apiVersion: apps/v1
Hyunsun Moon6a651482021-02-26 01:46:44 -080011kind: Deployment
Badhrinath987e1d82020-11-20 13:23:58 -060012metadata:
13 name: pcf
14 labels:
15{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
16spec:
17 replicas: 1
Hyunsun Moon6a651482021-02-26 01:46:44 -080018 #serviceName: pcf-headless
Badhrinath987e1d82020-11-20 13:23:58 -060019 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:
Badhrinath987e1d82020-11-20 13:23:58 -060031 serviceAccountName: pcf
Hyunsun Moon6a651482021-02-26 01:46:44 -080032 {{- if hasKey .Values.images "pullSecrets" }}
Badhrinath987e1d82020-11-20 13:23:58 -060033 imagePullSecrets:
Hyunsun Moon6a651482021-02-26 01:46:44 -080034{{ toYaml .Values.images.pullSecrets | indent 8 }}
Badhrinath987e1d82020-11-20 13:23:58 -060035 {{- end }}
36 initContainers:
Hyunsun Moon6a651482021-02-26 01:46:44 -080037 - name: wait-pcf-module
Badhrinath987e1d82020-11-20 13:23:58 -060038 image: {{ .Values.images.tags.init | quote }}
39 imagePullPolicy: {{ .Values.images.pullPolicy }}
Hyunsun Moon6a651482021-02-26 01:46:44 -080040 command: ['sh', '-c', 'until nslookup pcf; do echo waiting for pcf; sleep 4; done;']
Badhrinath987e1d82020-11-20 13:23:58 -060041 {{- 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
Hyunsun Moon6a651482021-02-26 01:46:44 -080054 command: ["/free5gc/script/pcf-run.sh"]
Badhrinath987e1d82020-11-20 13:23:58 -060055 env:
56 - name: POD_IP
57 valueFrom:
58 fieldRef:
59 fieldPath: status.podIP
60 {{- if .Values.resources.enabled }}
61 resources:
62{{ toYaml .Values.resources.pcf | indent 10 }}
63 {{- end }}
64 volumeMounts:
Hyunsun Moon6a651482021-02-26 01:46:44 -080065 - name: run-script
66 mountPath: /free5gc/script/pcf-run.sh
Badhrinath987e1d82020-11-20 13:23:58 -060067 subPath: pcf-run.sh
Hyunsun Moon6a651482021-02-26 01:46:44 -080068 - name: config-dir
Badhrinath987e1d82020-11-20 13:23:58 -060069 mountPath: /free5gc/config
Hyunsun Moon6a651482021-02-26 01:46:44 -080070 - name: common-config
71 mountPath: /tmp/config/free5GC.conf
72 subPath: free5GC.conf
73 - name: nf-config
74 mountPath: /tmp/config/pcfcfg.conf
75 subPath: pcfcfg.conf
Badhrinath987e1d82020-11-20 13:23:58 -060076 {{- if .Values.config.coreDump.enabled }}
77 - name: coredump
78 mountPath: /tmp/coredump
79 {{- end }}
80 volumes:
Hyunsun Moon6a651482021-02-26 01:46:44 -080081 - name: run-script
Badhrinath987e1d82020-11-20 13:23:58 -060082 configMap:
83 name: pcf
84 defaultMode: 493
Hyunsun Moon6a651482021-02-26 01:46:44 -080085 - name: common-config
86 configMap:
87 name: common
88 defaultMode: 493
89 - name: nf-config
Badhrinath987e1d82020-11-20 13:23:58 -060090 configMap:
91 name: pcf
Hyunsun Moon6a651482021-02-26 01:46:44 -080092 defaultMode: 493
93 - name: config-dir
94 emptyDir: {}
Badhrinath987e1d82020-11-20 13:23:58 -060095 {{- 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 }}