networkslice: Added free5gc helm charts.
[icn.git] / demo / networkslice / free5gc / helm / f5gc-nssf / templates / deployment.yaml
1 apiVersion: apps/v1
2 kind: Deployment
3 metadata:
4   name: f5gc-nssf
5   labels:
6     app: f5gc-nssf
7   annotations:
8     free5gc.org/nssi-id: '27394d25-dbf5-428e-8fc3-f5b2add67115'
9     free5gc.org/nsi-ids: '[
10         { "id": "4e6db941-47d6-4fce-9c71-f7eb35a75d03" },
11     ]'
12     free5gc.org/supported-snssais: '[
13         { "st": 1,
14           "ssd": "010203",
15         },
16         { "st": 1,
17           "ssd": "112233",
18         },
19     ]'
20 spec:
21   replicas: 1
22   selector:
23     matchLabels:
24       app: f5gc-nssf
25   strategy:
26     type: Recreate
27   template:
28     metadata:
29       labels:
30         app: f5gc-nssf
31     spec:
32       securityContext:
33         runAsUser: 0
34         runAsGroup: 0
35       nodeSelector:
36 {{ .Values.nodeSelector | toYaml | indent 8 }}
37       initContainers:
38       - name: init-myservice
39         image: busybox:1.31.1
40         command: ['sh', '-c', "until wget -qO- $nrfUri &> /dev/null; do echo waiting for $nrfUri; sleep 2; done"]
41         env:
42         - name: nrfUri
43           value: {{ .Values.configuration.nrfUri }}
44       containers:
45         - name: free5g-304-nssf 
46           image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
47           imagePullPolicy: {{ .Values.image.pullPolicy }}
48           command: ["./nssf"]
49           args:
50             - -nssfcfg
51             - ../config/nssfcfg.conf
52           securityContext:
53             privileged: false
54           volumeMounts:
55             - name: f5gc-nssf-config
56               mountPath: /free5gc/config
57             - name: f5gc-nssf-cert
58               mountPath: /free5gc/support/TLS
59           ports:
60             - containerPort: {{ .Values.service.port }}
61               name: f5gc-nssf
62               protocol: TCP
63         - name: tcpdump
64           image: corfr/tcpdump
65           imagePullPolicy: IfNotPresent
66           command:
67             - /bin/sleep
68             - infinity
69       dnsPolicy: ClusterFirst
70       restartPolicy: Always
71       schedulerName: default-scheduler
72       serviceAccountName: f5gc-nssf-sa
73       terminationGracePeriodSeconds: 30
74       volumes:
75         - name: f5gc-nssf-cert
76           secret:
77             secretName: f5gc-nssf-tls-secret
78         - name: f5gc-nssf-config
79           configMap:
80             name: f5gc-nssf-config