blob: a725cdf37dd6fb4852c8557d0e86b0f6a77e970e [file] [log] [blame]
Hyunsun Mooned19c092019-07-10 15:24:45 -06001{{/*
2Copyright 2019-present Open Networking Foundation
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/}}
16
Hyunsun Moon10152302019-10-24 20:23:35 -050017{{ tuple "enb" . | include "oaisim.service_account" }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060018---
19apiVersion: apps/v1
20kind: StatefulSet
21metadata:
Hyunsun Moon10152302019-10-24 20:23:35 -050022 name: enb
Hyunsun Mooned19c092019-07-10 15:24:45 -060023 labels:
Hyunsun Moon10152302019-10-24 20:23:35 -050024{{ tuple "enb" . | include "oaisim.metadata_labels" | indent 4 }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060025spec:
26 replicas: 1
Scott Bakeracbd36c2020-09-29 23:35:08 -070027 serviceName: oaisim-enb
Hyunsun Mooned19c092019-07-10 15:24:45 -060028 selector:
29 matchLabels:
Hyunsun Moon10152302019-10-24 20:23:35 -050030{{ tuple "enb" . | include "oaisim.metadata_labels" | indent 6 }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060031 template:
32 metadata:
33 labels:
Hyunsun Moon10152302019-10-24 20:23:35 -050034{{ tuple "enb" . | include "oaisim.metadata_labels" | indent 8 }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060035 spec:
Hyunsun Moon43eadcc2019-08-20 16:16:08 -060036 {{- if .Values.nodeSelectors.enabled }}
37 nodeSelector:
38 {{ .Values.nodeSelectors.enb.label }}: {{ .Values.nodeSelectors.enb.value }}
39 {{- end }}
Hyunsun Moon10152302019-10-24 20:23:35 -050040 serviceAccountName: enb
Hyunsun Mooned19c092019-07-10 15:24:45 -060041 hostNetwork: true
42 initContainers:
Hyunsun Mooncbb34e52022-03-19 22:16:23 -060043 {{- if .Values.config.enb.mme.isLocal }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060044 - name: enb-dep-check
45 image: {{ .Values.images.tags.dep_check | quote }}
46 imagePullPolicy: {{ .Values.images.pullPolicy }}
47 securityContext:
48 allowPrivilegeEscalation: false
49 readOnlyRootFilesystem: false
50 runAsUser: 0
51 env:
52 - name: POD_NAME
53 valueFrom:
54 fieldRef:
55 apiVersion: v1
56 fieldPath: metadata.name
57 - name: NAMESPACE
58 valueFrom:
59 fieldRef:
60 apiVersion: v1
61 fieldPath: metadata.namespace
62 - name: PATH
63 value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
64 - name: COMMAND
65 value: "echo done"
66 - name: DEPENDENCY_POD_JSON
67 value: '[{"labels": {"app": "mme"}, "requireSameNode": false}]'
68 command:
69 - kubernetes-entrypoint
70 volumeMounts:
71 []
Hyunsun Mooncbb34e52022-03-19 22:16:23 -060072 {{- end }}
Hyunsun Mooned19c092019-07-10 15:24:45 -060073 - name: enb-init
74 image: {{ .Values.images.tags.enb | quote }}
75 imagePullPolicy: {{ .Values.images.pullPolicy }}
76 securityContext:
77 capabilities:
78 add:
79 - NET_ADMIN
80 command:
81 - /opt/oaisim/enb/scripts/enb-init.sh
82 env:
83 - name: ENB_LOCAL_IP
84 valueFrom:
85 fieldRef:
86 fieldPath: status.podIP
87 volumeMounts:
88 - name: script
89 mountPath: /opt/oaisim/enb/scripts/enb-init.sh
90 subPath: enb-init.sh
91 - name: config
92 mountPath: /opt/oaisim/enb/config
93 - name: pod-share
94 mountPath: /etc/oaisim/enb
95 containers:
Hyunsun Moon10152302019-10-24 20:23:35 -050096 - name: enb
Hyunsun Mooned19c092019-07-10 15:24:45 -060097 image: {{ .Values.images.tags.enb | quote }}
98 imagePullPolicy: {{ .Values.images.pullPolicy }}
99 securityContext:
100 privileged: true
101 command:
102 - /opt/oaisim/enb/scripts/enb-run.sh
103 - start
104 lifecycle:
105 preStop:
106 exec:
107 command:
108 - /opt/oaisim/enb/scripts/enb-run.sh
109 - stop
110 env:
111 - name: ENB_LOCAL_IP
112 valueFrom:
113 fieldRef:
114 fieldPath: status.podIP
115 volumeMounts:
116 - name: script
117 mountPath: /opt/oaisim/enb/scripts/enb-run.sh
118 subPath: enb-run.sh
119 - name: pod-share
120 mountPath: /etc/oaisim/enb
121 volumes:
122 - name: config
123 configMap:
Hyunsun Moon10152302019-10-24 20:23:35 -0500124 name: enb
Hyunsun Mooned19c092019-07-10 15:24:45 -0600125 defaultMode: 420
126 - name: script
127 configMap:
Hyunsun Moon10152302019-10-24 20:23:35 -0500128 name: enb
Hyunsun Mooned19c092019-07-10 15:24:45 -0600129 defaultMode: 493
130 - name: pod-share
131 emptyDir: {}