blob: eaf31001810093b3d73c8fb54ba3aa8479365d49 [file] [log] [blame]
Jeremy Ronquillo223db002020-06-05 10:28:22 -07001{{/*
Jeremy Ronquilloec2d3e42020-06-05 11:33:39 -07002# Copyright 2019-present Open Networking Foundation
Jeremy Ronquillo223db002020-06-05 10:28:22 -07003
Jeremy Ronquillo6046ce32020-06-18 11:06:29 -07004# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
Jeremy Ronquillo223db002020-06-05 10:28:22 -07005*/}}
6
7{{ tuple "spgwc" . | include "omec-control-plane.service_account" }}
8---
9apiVersion: apps/v1
10kind: StatefulSet
11metadata:
12 name: spgwc
13 labels:
14{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
15spec:
16 replicas: 1
17 serviceName: spgwc-headless
18 selector:
19 matchLabels:
20{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 6 }}
21 template:
22 metadata:
23 labels:
24{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 8 }}
25 spec:
26 {{- if .Values.nodeSelectors.enabled }}
27 nodeSelector:
28 {{ .Values.nodeSelectors.spgwc.label }}: {{ .Values.nodeSelectors.spgwc.value }}
29 {{- end }}
30 serviceAccountName: spgwc
31 initContainers:
32 - name: spgwc-dep-check
33 image: {{ .Values.images.tags.depCheck | quote }}
34 imagePullPolicy: {{ .Values.images.pullPolicy }}
35 securityContext:
36 allowPrivilegeEscalation: false
37 readOnlyRootFilesystem: false
38 runAsUser: 0
39 env:
40 - name: POD_NAME
41 valueFrom:
42 fieldRef:
43 apiVersion: v1
44 fieldPath: metadata.name
45 - name: NAMESPACE
46 valueFrom:
47 fieldRef:
48 apiVersion: v1
49 fieldPath: metadata.namespace
50 - name: PATH
51 value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
52 - name: COMMAND
53 value: "echo done"
54 - name: DEPENDENCY_POD_JSON
55 value: '[{"labels": {"app": "mme"}, "requireSameNode": false}]'
56 {{- if .Values.config.coreDump.enabled }}
57{{ tuple "spgwc" . | include "omec-control-plane.coredump_init" | indent 6 }}
58 {{- end }}
59 containers:
60 - name: spgwc
61 image: {{ .Values.images.tags.spgwc }}
62 imagePullPolicy: {{ .Values.images.pullPolicy }}
63 {{- if .Values.config.coreDump.enabled }}
64 securityContext:
65 privileged: true
66 runAsUser: 0
67 {{- end }}
68 stdin: true
69 tty: true
70 command: ["/opt/cp/scripts/spgwc-run.sh"]
71 env:
72 - name: MEM_LIMIT
73 valueFrom:
74 resourceFieldRef:
75 containerName: spgwc
76 resource: limits.memory
77 divisor: 1Mi
78 - name: POD_IP
79 valueFrom:
80 fieldRef:
81 fieldPath: status.podIP
82 {{- if .Values.resources.enabled }}
83 resources:
84{{ toYaml .Values.resources.spgwc | indent 10 }}
85 {{- end }}
86 volumeMounts:
87 - name: cp-script
88 mountPath: /opt/cp/scripts/spgwc-run.sh
89 subPath: spgwc-run.sh
90 - name: cp-config
91 mountPath: /etc/cp/config
92 {{- if .Values.config.coreDump.enabled }}
93 - name: coredump
94 mountPath: /tmp/coredump
95 {{- end }}
96 volumes:
97 - name: cp-script
98 configMap:
99 name: spgwc
100 defaultMode: 493
101 - name: cp-config
102 configMap:
103 name: spgwc
104 defaultMode: 420
105 {{- if .Values.config.coreDump.enabled }}
106 - name: host-rootfs
107 hostPath:
108 path: /
109 - name: coredump
110 hostPath:
111 path: {{ .Values.config.coreDump.path }}
112 {{- end }}