blob: f2ece70e873de507e2773d4f76eb6995fe18e1a9 [file] [log] [blame]
---
# Copyright 2019-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{- if eq .Values.mme.type "openmme" }}
{{- $releaseName := .Release.Name }}
{{- $namespace := .Values.global.namespace }}
{{- $name := .Values.mme.name }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ $releaseName }}-{{ $name }}
namespace: {{ $namespace }}
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ $releaseName }}-{{ $name }}
namespace: {{ $namespace }}
rules:
- apiGroups:
- ""
- extensions
- batch
- apps
verbs:
- get
- list
resources:
- daemonsets
- jobs
- pods
- services
- endpoints
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ $releaseName }}-{{ $name }}
namespace: {{ $namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ $releaseName }}-{{ $name }}
subjects:
- kind: ServiceAccount
name: {{ $releaseName }}-{{ $name }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ $name }}
namespace: {{ $namespace }}
labels:
app: {{ $name }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ $name }}
serviceName: {{ $name | quote }}
template:
metadata:
labels:
app: {{ $name }}
spec:
serviceAccountName: {{ $releaseName }}-{{ $name }}
initContainers:
- name: mme-dep-check
image: {{ .Values.mme.images.tags.dep_check | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsUser: 0
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: PATH
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
- name: COMMAND
value: "echo done"
- name: DEPENDENCY_POD_JSON
value: '[{"labels": {"app": {{ .Values.spgwc.name | quote }}}, "requireSameNode": false}, {"labels": {"app": {{ .Values.hss.name | quote }}}, "requireSameNode": false}]'
# add dependency job for make_certs.sh
command:
- kubernetes-entrypoint
volumeMounts:
[]
- name: mme-init
image: {{ .Values.mme.images.tags.mme | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
command: ["/opt/mme/scripts/mme-init.sh"]
env:
- name: MME_LOCAL_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
volumeMounts:
- name: scripts
mountPath: /opt/mme/scripts/mme-init.sh
subPath: mme-init.sh
- name: configs
mountPath: /opt/mme/config
- name: shared-data
mountPath: /opt/mme/config/shared
containers:
- name: mme-app
image: {{ .Values.mme.images.tags.mme | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
command: ["bash", "-xc"]
args:
- /opt/mme/scripts/mme-run.sh mme-app
volumeMounts:
- name: scripts
mountPath: /opt/mme/scripts/mme-run.sh
subPath: mme-run.sh
- name: shared-data
mountPath: /opt/mme/config/shared
- name: shared-app
mountPath: /tmp
- name: s1ap-app
image: {{ .Values.mme.images.tags.mme | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
command: ["bash", "-xc"]
args:
- /opt/mme/scripts/mme-run.sh s1ap-app
volumeMounts:
- name: scripts
mountPath: /opt/mme/scripts/mme-run.sh
subPath: mme-run.sh
- name: shared-data
mountPath: /opt/mme/config/shared
- name: shared-app
mountPath: /tmp
- name: s6a-app
image: {{ .Values.mme.images.tags.mme | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
command: ["bash", "-xc"]
args:
- /opt/mme/scripts/mme-run.sh s6a-app
volumeMounts:
- name: scripts
mountPath: /opt/mme/scripts/mme-run.sh
subPath: mme-run.sh
- name: shared-data
mountPath: /opt/mme/config/shared
- name: shared-app
mountPath: /tmp
- name: s11-app
image: {{ .Values.mme.images.tags.mme | quote }}
imagePullPolicy: {{ .Values.mme.images.pullPolicy }}
command: ["bash", "-xc"]
args:
- /opt/mme/scripts/mme-run.sh s11-app
volumeMounts:
- name: scripts
mountPath: /opt/mme/scripts/mme-run.sh
subPath: mme-run.sh
- name: shared-data
mountPath: /opt/mme/config/shared
- name: shared-app
mountPath: /tmp
volumes:
- name: scripts
configMap:
name: {{ $name }}
defaultMode: 493
- name: configs
configMap:
name: {{ $name }}
defaultMode: 420
- name: shared-data
emptyDir: {}
- name: shared-app
emptyDir: {}
{{- end }}