initial sdcore-helm-charts update
Change-Id: I91788de083b0f906ce4b32ac226f616fb2647ef9
diff --git a/5g-control-plane/.gitignore b/5g-control-plane/.gitignore
new file mode 100644
index 0000000..ed7d37a
--- /dev/null
+++ b/5g-control-plane/.gitignore
@@ -0,0 +1,7 @@
+# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+charts/
+requirements.lock
+Chart.lock
diff --git a/5g-control-plane/Chart.yaml b/5g-control-plane/Chart.yaml
new file mode 100644
index 0000000..8cfff9d
--- /dev/null
+++ b/5g-control-plane/Chart.yaml
@@ -0,0 +1,17 @@
+---
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+apiVersion: v2
+description: Free5G control plane services
+name: 5g-control-plane
+icon: https://guide.opencord.org/logos/cord.svg
+
+version: 0.3.14
+
+dependencies:
+ - name: mongodb
+ version: 10.7.1
+ repository: https://charts.bitnami.com/bitnami
+ condition: mongodb.deploy
diff --git a/5g-control-plane/templates/NOTES.txt b/5g-control-plane/templates/NOTES.txt
new file mode 100644
index 0000000..fb2a925
--- /dev/null
+++ b/5g-control-plane/templates/NOTES.txt
@@ -0,0 +1,9 @@
+{{- /*
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+*/ -}}
+
+Notes - Instructions to use 5g helm charts
diff --git a/5g-control-plane/templates/_helpers.tpl b/5g-control-plane/templates/_helpers.tpl
new file mode 100644
index 0000000..87f1ec6
--- /dev/null
+++ b/5g-control-plane/templates/_helpers.tpl
@@ -0,0 +1,115 @@
+{{- /*
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+*/ -}}
+
+{{/*
+Renders a set of standardised labels
+*/}}
+{{- define "5g-control-plane.metadata_labels" -}}
+{{- $application := index . 0 -}}
+{{- $context := index . 1 -}}
+release: {{ $context.Release.Name }}
+app: {{ $application }}
+{{- end -}}
+
+{{/*
+Render the given template.
+*/}}
+{{- define "5g-control-plane.template" -}}
+{{- $name := index . 0 -}}
+{{- $context := index . 1 -}}
+{{- $last := base $context.Template.Name }}
+{{- $wtf := $context.Template.Name | replace $last $name -}}
+{{ include $wtf $context }}
+{{- end -}}
+
+{{/*
+Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
+*/}}
+{{- define "5g-control-plane.service_account" -}}
+{{- $context := index . 1 -}}
+{{- $saName := index . 0 -}}
+{{- $saNamespace := $context.Release.Namespace }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ $saName }}
+ namespace: {{ $saNamespace }}
+ labels:
+{{ tuple $saName $context | include "5g-control-plane.metadata_labels" | indent 4 }}
+---
+{{- if semverCompare ">=1.16-0" $context.Capabilities.KubeVersion.GitVersion }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: rbac.authorization.k8s.io/v1beta1
+{{- end }}
+kind: RoleBinding
+metadata:
+ name: {{ $saName }}
+ namespace: {{ $saNamespace }}
+ labels:
+{{ tuple $saName $context | include "5g-control-plane.metadata_labels" | indent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ $saName }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ $saName }}
+ namespace: {{ $saNamespace }}
+---
+{{- if semverCompare ">=1.16-0" $context.Capabilities.KubeVersion.GitVersion }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: rbac.authorization.k8s.io/v1beta1
+{{- end }}
+kind: Role
+metadata:
+ name: {{ $saName }}
+ namespace: {{ $saNamespace }}
+ labels:
+{{ tuple $saName $context | include "5g-control-plane.metadata_labels" | indent 4 }}
+rules:
+ - apiGroups:
+ - ""
+ - extensions
+ - batch
+ - apps
+ verbs:
+ - get
+ - list
+ - patch
+ resources:
+ - statefulsets
+ - daemonsets
+ - jobs
+ - pods
+ - services
+ - endpoints
+ - configmaps
+{{- end -}}
+
+{{/*
+Render init container for coredump.
+*/}}
+{{- define "5g-control-plane.coredump_init" -}}
+{{- $pod := index . 0 -}}
+{{- $context := index . 1 -}}
+- name: {{ $pod }}-coredump-init
+ image: {{ $context.Values.images.tags.init | quote }}
+ imagePullPolicy: {{ $context.Values.images.pullPolicy }}
+ securityContext:
+ privileged: true
+ runAsUser: 0
+ command: ["bash", "-xc"]
+ args:
+ - echo '/tmp/coredump/core.%h.%e.%t' > /mnt/host-rootfs/proc/sys/kernel/core_pattern
+ volumeMounts:
+ - name: host-rootfs
+ mountPath: /mnt/host-rootfs
+{{- end -}}
diff --git a/5g-control-plane/templates/bin/_amf-run.sh.tpl b/5g-control-plane/templates/bin/_amf-run.sh.tpl
new file mode 100644
index 0000000..2a9d174
--- /dev/null
+++ b/5g-control-plane/templates/bin/_amf-run.sh.tpl
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/amf/amf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+cat config/amfcfg.conf
+
+GOTRACEBACK=crash ./amf/amf -amfcfg config/amfcfg.conf
diff --git a/5g-control-plane/templates/bin/_ausf-run.sh.tpl b/5g-control-plane/templates/bin/_ausf-run.sh.tpl
new file mode 100644
index 0000000..0307aed
--- /dev/null
+++ b/5g-control-plane/templates/bin/_ausf-run.sh.tpl
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/ausf/ausf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+cat config/ausfcfg.conf
+
+GOTRACEBACK=crash ./ausf/ausf -ausfcfg config/ausfcfg.conf
diff --git a/5g-control-plane/templates/bin/_nrf-run.sh.tpl b/5g-control-plane/templates/bin/_nrf-run.sh.tpl
new file mode 100644
index 0000000..7caa2e9
--- /dev/null
+++ b/5g-control-plane/templates/bin/_nrf-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/nrf/nrf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/nrfcfg.conf
+
+GOTRACEBACK=crash ./nrf/nrf -nrfcfg config/nrfcfg.conf
diff --git a/5g-control-plane/templates/bin/_nssf-run.sh.tpl b/5g-control-plane/templates/bin/_nssf-run.sh.tpl
new file mode 100644
index 0000000..2aae4a0
--- /dev/null
+++ b/5g-control-plane/templates/bin/_nssf-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/nssf/nssf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/nssfcfg.conf
+
+GOTRACEBACK=crash ./nssf/nssf -nssfcfg config/nssfcfg.conf
diff --git a/5g-control-plane/templates/bin/_pcf-run.sh.tpl b/5g-control-plane/templates/bin/_pcf-run.sh.tpl
new file mode 100644
index 0000000..9dfee3f
--- /dev/null
+++ b/5g-control-plane/templates/bin/_pcf-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/pcf/pcf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/pcfcfg.conf
+
+GOTRACEBACK=crash ./pcf/pcf -pcfcfg config/pcfcfg.conf
diff --git a/5g-control-plane/templates/bin/_smf-run.sh.tpl b/5g-control-plane/templates/bin/_smf-run.sh.tpl
new file mode 100644
index 0000000..aafc97c
--- /dev/null
+++ b/5g-control-plane/templates/bin/_smf-run.sh.tpl
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/smf/smf /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/smfcfg.conf
+cat uerouting/uerouting.conf
+
+GOTRACEBACK=crash ./smf/smf -smfcfg config/smfcfg.conf -uerouting uerouting/uerouting.conf
diff --git a/5g-control-plane/templates/bin/_udm-run.sh.tpl b/5g-control-plane/templates/bin/_udm-run.sh.tpl
new file mode 100644
index 0000000..a171cea
--- /dev/null
+++ b/5g-control-plane/templates/bin/_udm-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/udm/udm /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/udmcfg.conf
+
+GOTRACEBACK=crash ./udm/udm -udmcfg config/udmcfg.conf
diff --git a/5g-control-plane/templates/bin/_udr-run.sh.tpl b/5g-control-plane/templates/bin/_udr-run.sh.tpl
new file mode 100644
index 0000000..900f72a
--- /dev/null
+++ b/5g-control-plane/templates/bin/_udr-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/udr/udr /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/udrcfg.conf
+
+GOTRACEBACK=crash ./udr/udr -udrcfg config/udrcfg.conf
diff --git a/5g-control-plane/templates/bin/_webui-run.sh.tpl b/5g-control-plane/templates/bin/_webui-run.sh.tpl
new file mode 100644
index 0000000..5e91d50
--- /dev/null
+++ b/5g-control-plane/templates/bin/_webui-run.sh.tpl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+set -xe
+
+{{- if .Values.config.coreDump.enabled }}
+cp /free5gc/webconsole/webconsole /tmp/coredump/
+{{- end }}
+
+cd /free5gc
+
+cat config/webuicfg.conf
+
+GOTRACEBACK=crash ./webconsole/webconsole -webuicfg config/webuicfg.conf
diff --git a/5g-control-plane/templates/configmap-amf.yaml b/5g-control-plane/templates/configmap-amf.yaml
new file mode 100644
index 0000000..5747fed
--- /dev/null
+++ b/5g-control-plane/templates/configmap-amf.yaml
@@ -0,0 +1,40 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.amf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $amfcfg := index .Values.config.amf.cfgFiles "amfcfg.conf" }}
+{{- $sbi := index $amfcfg.configuration "sbi" }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.amf.sbi.port | set $sbi "port" -}}
+{{- end }}
+
+{{- if not (hasKey $amfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $amfcfg "logger" -}}
+{{- end }}
+
+{{- end }}
+
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: amf
+ labels:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ amf-run.sh: |
+{{ tuple "bin/_amf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.amf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-ausf.yaml b/5g-control-plane/templates/configmap-ausf.yaml
new file mode 100644
index 0000000..2a8a2b1
--- /dev/null
+++ b/5g-control-plane/templates/configmap-ausf.yaml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.ausf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $ausfcfg := index .Values.config.ausf.cfgFiles "ausfcfg.conf" }}
+{{- $sbi := index $ausfcfg.configuration "sbi" }}
+
+{{- if not (hasKey $ausfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $ausfcfg "logger" -}}
+{{- end }}
+
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.ausf.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: ausf
+ labels:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ ausf-run.sh: |
+{{ tuple "bin/_ausf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.ausf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-nrf.yaml b/5g-control-plane/templates/configmap-nrf.yaml
new file mode 100644
index 0000000..ccb236b
--- /dev/null
+++ b/5g-control-plane/templates/configmap-nrf.yaml
@@ -0,0 +1,47 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nrf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $nrfcfg := index .Values.config.nrf.cfgFiles "nrfcfg.conf" }}
+{{- $config := index $nrfcfg "configuration" }}
+{{- $sbi := index $config "sbi" }}
+
+{{- if not (hasKey $config "MongoDBName") -}}
+{{- $_ := .Values.config.mongodb.name | set $config "MongoDBName" -}}
+{{- end }}
+
+{{- if not (hasKey $config "MongoDBUrl") -}}
+{{- $_ := .Values.config.mongodb.url | set $config "MongoDBUrl" -}}
+{{- end }}
+
+{{- if not (hasKey $nrfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $nrfcfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.nrf.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: nrf
+ labels:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ nrf-run.sh: |
+{{ tuple "bin/_nrf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.nrf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-nssf.yaml b/5g-control-plane/templates/configmap-nssf.yaml
new file mode 100644
index 0000000..f6a8808
--- /dev/null
+++ b/5g-control-plane/templates/configmap-nssf.yaml
@@ -0,0 +1,38 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nssf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $nssfcfg := index .Values.config.nssf.cfgFiles "nssfcfg.conf" }}
+{{- $sbi := index $nssfcfg.configuration "sbi" }}
+
+{{- if not (hasKey $nssfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $nssfcfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.nssf.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: nssf
+ labels:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ nssf-run.sh: |
+{{ tuple "bin/_nssf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.nssf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-pcf.yaml b/5g-control-plane/templates/configmap-pcf.yaml
new file mode 100644
index 0000000..dcb9bfe
--- /dev/null
+++ b/5g-control-plane/templates/configmap-pcf.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.pcf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $pcfcfg := index .Values.config.pcf.cfgFiles "pcfcfg.conf" }}
+{{- $sbi := index $pcfcfg.configuration "sbi" }}
+{{- $config := index $pcfcfg "configuration" }}
+
+{{- if not (hasKey $pcfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $pcfcfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.pcf.sbi.port | set $sbi "port" -}}
+{{- end }}
+
+{{- if not (hasKey $config "mongodb") -}}
+{{- $_ := dict "name" .Values.config.mongodb.name "url" .Values.config.mongodb.url | set $config "mongodb" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: pcf
+ labels:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ pcf-run.sh: |
+{{ tuple "bin/_pcf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.pcf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-smf.yaml b/5g-control-plane/templates/configmap-smf.yaml
new file mode 100644
index 0000000..429499c
--- /dev/null
+++ b/5g-control-plane/templates/configmap-smf.yaml
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.smf.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $smfcfg := index .Values.config.smf.cfgFiles "smfcfg.conf" }}
+{{- $sbi := index $smfcfg.configuration "sbi" }}
+
+{{- if not (hasKey $smfcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $smfcfg "logger" -}}
+{{- end }}
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.smf.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: smf
+ labels:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ smf-run.sh: |
+{{ tuple "bin/_smf-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.smf.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-udm.yaml b/5g-control-plane/templates/configmap-udm.yaml
new file mode 100644
index 0000000..79f98c6
--- /dev/null
+++ b/5g-control-plane/templates/configmap-udm.yaml
@@ -0,0 +1,38 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udm.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $udmcfg := index .Values.config.udm.cfgFiles "udmcfg.conf" }}
+{{- $sbi := index $udmcfg.configuration "sbi" }}
+
+{{- if not (hasKey $udmcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $udmcfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.udm.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: udm
+ labels:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ udm-run.sh: |
+{{ tuple "bin/_udm-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.udm.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-udr.yaml b/5g-control-plane/templates/configmap-udr.yaml
new file mode 100644
index 0000000..8bbac77
--- /dev/null
+++ b/5g-control-plane/templates/configmap-udr.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udr.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $udrcfg := index .Values.config.udr.cfgFiles "udrcfg.conf" }}
+{{- $config := index $udrcfg "configuration" }}
+{{- $sbi := index $config "sbi" }}
+
+{{- if not (hasKey $config "mongodb") -}}
+{{- $_ := dict "name" .Values.config.mongodb.name "url" .Values.config.mongodb.url | set $config "mongodb" -}}
+{{- end }}
+
+{{- if not (hasKey $udrcfg "logger") -}}
+{{- $_ := .Values.config.logger | set $udrcfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $sbi "port") -}}
+{{- $_ := .Values.config.udr.sbi.port | set $sbi "port" -}}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: udr
+ labels:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ udr-run.sh: |
+{{ tuple "bin/_udr-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.udr.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/configmap-webui.yaml b/5g-control-plane/templates/configmap-webui.yaml
new file mode 100644
index 0000000..07435ea
--- /dev/null
+++ b/5g-control-plane/templates/configmap-webui.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.webui.deploy }}
+
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- $webuicfg := index .Values.config.webui.cfgFiles "webuicfg.conf" }}
+{{- $config := index $webuicfg "configuration" }}
+
+{{- if not (hasKey $webuicfg "logger") -}}
+{{- $_ := .Values.config.logger | set $webuicfg "logger" -}}
+{{- end }}
+
+{{- if not (hasKey $config "managedByConfigPod") -}}
+{{- $_ := .Values.config.managedByConfigPod | set $config "managedByConfigPod" -}}
+{{- end }}
+
+{{- if not (hasKey $config "mongodb") -}}
+{{- $_ := dict "name" .Values.config.mongodb.name "url" .Values.config.mongodb.url | set $config "mongodb" -}}
+{{- end }}
+
+{{- end }}
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: webui
+ labels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+data:
+ webui-run.sh: |
+{{ tuple "bin/_webui-run.sh.tpl" . | include "5g-control-plane.template" | indent 4 }}
+{{- if not .Values.config.useExistingConfigMap -}}
+{{- range $key, $value := .Values.config.webui.cfgFiles }}
+ {{ $key }}: |-
+{{ toYaml $value | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-amf.yaml b/5g-control-plane/templates/deployment-amf.yaml
new file mode 100644
index 0000000..05aa29c
--- /dev/null
+++ b/5g-control-plane/templates/deployment-amf.yaml
@@ -0,0 +1,103 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.amf.deploy }}
+{{ tuple "amf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: amf
+ labels:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: amf-headless
+ selector:
+ matchLabels:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.amf.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: amf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-nrf-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup nrf; do echo waiting for nrf; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "amf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: amf
+ image: {{ .Values.images.tags.amf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/amf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.amf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/amf-run.sh
+ subPath: amf-run.sh
+ - name: amf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: amf
+ defaultMode: 493
+ - name: amf-config
+ configMap:
+ name: amf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-ausf.yaml b/5g-control-plane/templates/deployment-ausf.yaml
new file mode 100644
index 0000000..295e198
--- /dev/null
+++ b/5g-control-plane/templates/deployment-ausf.yaml
@@ -0,0 +1,105 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.ausf.deploy }}
+{{ tuple "ausf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: ausf
+ labels:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: ausf-headless
+ selector:
+ matchLabels:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.ausf.podAnnotations }}
+ annotations:
+ helm.sh/hook: pre-install
+ helm.sh/hook-weight: "5"
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: ausf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-ausf-module2
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup ausf; do echo waiting for ausf; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "ausf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: ausf
+ image: {{ .Values.images.tags.ausf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/ausf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.ausf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/ausf-run.sh
+ subPath: ausf-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: ausf
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: ausf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-nrf.yaml b/5g-control-plane/templates/deployment-nrf.yaml
new file mode 100644
index 0000000..80075f8
--- /dev/null
+++ b/5g-control-plane/templates/deployment-nrf.yaml
@@ -0,0 +1,101 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nrf.deploy }}
+{{ tuple "nrf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nrf
+ labels:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: nrf-headless
+ selector:
+ matchLabels:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.nrf.podAnnotations }}
+ annotations:
+ helm.sh/hook: pre-install
+ helm.sh/hook-weight: "2"
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: nrf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ {{- if .Values.config.coreDump.enabled }}
+ initContainers:
+{{ tuple "nrf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: nrf
+ image: {{ .Values.images.tags.nrf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/nrf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.nrf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/nrf-run.sh
+ subPath: nrf-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: nrf
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: nrf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-nssf.yaml b/5g-control-plane/templates/deployment-nssf.yaml
new file mode 100644
index 0000000..2cce254
--- /dev/null
+++ b/5g-control-plane/templates/deployment-nssf.yaml
@@ -0,0 +1,103 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nssf.deploy }}
+{{ tuple "nssf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nssf
+ labels:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: nssf-headless
+ selector:
+ matchLabels:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.nssf.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: nssf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-nssf-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup nssf; do echo waiting for nssf; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "nssf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: nssf
+ image: {{ .Values.images.tags.nssf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/nssf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.nssf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/nssf-run.sh
+ subPath: nssf-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: nssf
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: nssf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-pcf.yaml b/5g-control-plane/templates/deployment-pcf.yaml
new file mode 100644
index 0000000..6829ffe
--- /dev/null
+++ b/5g-control-plane/templates/deployment-pcf.yaml
@@ -0,0 +1,103 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.pcf.deploy }}
+{{ tuple "pcf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: pcf
+ labels:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: pcf-headless
+ selector:
+ matchLabels:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.pcf.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: pcf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-pcf-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup pcf; do echo waiting for pcf; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "pcf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: pcf
+ image: {{ .Values.images.tags.pcf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/pcf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.pcf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/pcf-run.sh
+ subPath: pcf-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: pcf
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: pcf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-smf.yaml b/5g-control-plane/templates/deployment-smf.yaml
new file mode 100644
index 0000000..296bc50
--- /dev/null
+++ b/5g-control-plane/templates/deployment-smf.yaml
@@ -0,0 +1,107 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.smf.deploy }}
+{{ tuple "smf" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: smf
+ labels:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: smf-headless
+ selector:
+ matchLabels:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.smf.podAnnotations }}
+ annotations:
+ helm.sh/hook: pre-install
+ helm.sh/hook-weight: "5"
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: smf
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-smf-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup smf; do echo waiting for smf; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "smf" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: smf
+ image: {{ .Values.images.tags.smf }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/smf-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.smf | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/smf-run.sh
+ subPath: smf-run.sh
+ - name: nf-config
+ mountPath: /free5gc/uerouting
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: smf
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: smf
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-udm.yaml b/5g-control-plane/templates/deployment-udm.yaml
new file mode 100644
index 0000000..2714ef0
--- /dev/null
+++ b/5g-control-plane/templates/deployment-udm.yaml
@@ -0,0 +1,109 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udm.deploy }}
+{{ tuple "udm" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: udm
+ labels:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: udm-headless
+ selector:
+ matchLabels:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.udm.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: udm
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-udm-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup udm; do echo waiting for udm; sleep 4; done;']
+ - name: wait-udr-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup udr; do echo waiting for udr; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "udm" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: udm
+ image: {{ .Values.images.tags.udm }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/udm-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.udm | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/udm-run.sh
+ subPath: udm-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: udm
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: udm
+ defaultMode: 493
+ - name: config-dir
+ emptyDir: {}
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-udr.yaml b/5g-control-plane/templates/deployment-udr.yaml
new file mode 100644
index 0000000..abe6e64
--- /dev/null
+++ b/5g-control-plane/templates/deployment-udr.yaml
@@ -0,0 +1,103 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udr.deploy }}
+{{ tuple "udr" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: udr
+ labels:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ #serviceName: udr-headless
+ selector:
+ matchLabels:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.udr.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: udr
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-udr-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup udr; do echo waiting for udr; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "udr" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: udr
+ image: {{ .Values.images.tags.udr }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/udr-run.sh"]
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.config.managedByConfigPod.enabled }}
+ - name: MANAGED_BY_CONFIG_POD
+ value: "true"
+ {{- end }}
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.udr | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/udr-run.sh
+ subPath: udr-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: udr
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: udr
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/deployment-webui.yaml b/5g-control-plane/templates/deployment-webui.yaml
new file mode 100644
index 0000000..c71becb
--- /dev/null
+++ b/5g-control-plane/templates/deployment-webui.yaml
@@ -0,0 +1,96 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.webui.deploy }}
+{{ tuple "webui" . | include "5g-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: webui
+ labels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 8 }}
+ {{- with .Values.config.webui.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: webui
+ {{- if hasKey .Values.images "pullSecrets" }}
+ imagePullSecrets:
+{{ toYaml .Values.images.pullSecrets | indent 8 }}
+ {{- end }}
+ initContainers:
+ - name: wait-webui-module
+ image: {{ .Values.images.tags.init | quote }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ command: ['sh', '-c', 'until nslookup webui; do echo waiting for webui; sleep 4; done;']
+ {{- if .Values.config.coreDump.enabled }}
+{{ tuple "webui" . | include "5g-control-plane.coredump_init" | indent 6 }}
+ {{- end }}
+ containers:
+ - name: webui
+ image: {{ .Values.images.tags.webui }}
+ env:
+ - name: GRPC_GO_LOG_VERBOSITY_LEVEL
+ value: {{ .Values.config.grpc.golog_verbosity | quote }}
+ - name: GRPC_GO_LOG_SEVERITY_LEVEL
+ value: {{ .Values.config.grpc.severity | quote }}
+ - name: GRPC_TRACE
+ value: {{ .Values.config.grpc.trace | quote }}
+ - name: GRPC_VERBOSITY
+ value: {{ .Values.config.grpc.verbosity | quote }}
+ - name: CONFIGPOD_DEPLOYMENT
+ value: "5G"
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ {{- if .Values.config.coreDump.enabled }}
+ securityContext:
+ runAsUser: 0
+ {{- end }}
+ stdin: true
+ tty: true
+ command: ["/free5gc/script/webui-run.sh"]
+ {{- if .Values.resources.enabled }}
+ resources:
+{{ toYaml .Values.resources.webui | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: run-script
+ mountPath: /free5gc/script/webui-run.sh
+ subPath: webui-run.sh
+ - name: nf-config
+ mountPath: /free5gc/config
+ {{- if .Values.config.coreDump.enabled }}
+ - name: coredump
+ mountPath: /tmp/coredump
+ {{- end }}
+ volumes:
+ - name: run-script
+ configMap:
+ name: webui
+ defaultMode: 493
+ - name: nf-config
+ configMap:
+ name: webui
+ defaultMode: 493
+ {{- if .Values.config.coreDump.enabled }}
+ - name: host-rootfs
+ hostPath:
+ path: /
+ - name: coredump
+ hostPath:
+ path: {{ .Values.config.coreDump.path }}
+ {{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/ingress-webui.yaml b/5g-control-plane/templates/ingress-webui.yaml
new file mode 100644
index 0000000..b41c736
--- /dev/null
+++ b/5g-control-plane/templates/ingress-webui.yaml
@@ -0,0 +1,26 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.webui.ingress.enabled }}
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: webui
+ labels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ rules:
+ - host: {{ .Values.config.webui.ingress.hostname }}
+ http:
+ paths:
+ - path: {{ .Values.config.webui.ingress.path }}
+ pathType: {{ .Values.config.webui.ingress.pathType }}
+ backend:
+ service:
+ name: webui
+ port:
+ number: {{ .Values.config.webui.urlport.port }}
+{{- end }}
\ No newline at end of file
diff --git a/5g-control-plane/templates/service-amf.yaml b/5g-control-plane/templates/service-amf.yaml
new file mode 100644
index 0000000..d02f57f
--- /dev/null
+++ b/5g-control-plane/templates/service-amf.yaml
@@ -0,0 +1,48 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.amf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: amf
+ labels:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.amf.serviceType }}
+{{- if .Values.config.amf.ngapp.externalIp }}
+ externalIPs:
+ - {{ .Values.config.amf.ngapp.externalIp }}
+{{- end }}
+ selector:
+{{ tuple "amf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: prometheus-exporter
+ port: {{ .Values.config.amf.prometheus.port }}
+ protocol: TCP
+{{- if eq .Values.config.amf.serviceType "NodePort" }}
+{{- if .Values.config.amf.prometheus.nodePort }}
+ nodePort: {{ .Values.config.amf.prometheus.nodePort }}
+{{- end }}
+{{- end }}
+ - name: sbi
+ port: {{ .Values.config.amf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.amf.serviceType "NodePort" }}
+{{- if .Values.config.amf.sbi.nodePort }}
+ nodePort: {{ .Values.config.amf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+ - name: ngapp
+ port: {{ .Values.config.amf.ngapp.port }}
+ protocol: SCTP
+{{- if eq .Values.config.amf.serviceType "NodePort" }}
+{{- if .Values.config.amf.ngapp.nodePort }}
+ nodePort: {{ .Values.config.amf.ngapp.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-ausf.yaml b/5g-control-plane/templates/service-ausf.yaml
new file mode 100644
index 0000000..a7c815d
--- /dev/null
+++ b/5g-control-plane/templates/service-ausf.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.ausf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: ausf
+ labels:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.ausf.serviceType }}
+ selector:
+{{ tuple "ausf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.ausf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.ausf.serviceType "NodePort" }}
+{{- if .Values.config.ausf.sbi.nodePort }}
+ nodePort: {{ .Values.config.ausf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-nrf.yaml b/5g-control-plane/templates/service-nrf.yaml
new file mode 100644
index 0000000..07fcfe3
--- /dev/null
+++ b/5g-control-plane/templates/service-nrf.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nrf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: nrf
+ labels:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.nrf.serviceType }}
+ selector:
+{{ tuple "nrf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.nrf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.nrf.serviceType "NodePort" }}
+{{- if .Values.config.nrf.sbi.nodePort }}
+ nodePort: {{ .Values.config.nrf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-nssf.yaml b/5g-control-plane/templates/service-nssf.yaml
new file mode 100644
index 0000000..4bcfcde
--- /dev/null
+++ b/5g-control-plane/templates/service-nssf.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.nssf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: nssf
+ labels:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.nssf.serviceType }}
+ selector:
+{{ tuple "nssf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.nssf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.nssf.serviceType "NodePort" }}
+{{- if .Values.config.nssf.sbi.nodePort }}
+ nodePort: {{ .Values.config.nssf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-pcf.yaml b/5g-control-plane/templates/service-pcf.yaml
new file mode 100644
index 0000000..1f9f7c4
--- /dev/null
+++ b/5g-control-plane/templates/service-pcf.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.pcf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: pcf
+ labels:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.pcf.serviceType }}
+ selector:
+{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.pcf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.pcf.serviceType "NodePort" }}
+{{- if .Values.config.pcf.sbi.nodePort }}
+ nodePort: {{ .Values.config.pcf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-smf.yaml b/5g-control-plane/templates/service-smf.yaml
new file mode 100644
index 0000000..6141455
--- /dev/null
+++ b/5g-control-plane/templates/service-smf.yaml
@@ -0,0 +1,44 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.smf.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: smf
+ labels:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.smf.serviceType }}
+ selector:
+{{ tuple "smf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: pfcp
+ port: {{ .Values.config.smf.n4.port }}
+ protocol: UDP
+{{- if eq .Values.config.smf.serviceType "NodePort" }}
+{{- if .Values.config.smf.n4.nodePort }}
+ nodePort: {{ .Values.config.smf.n4.nodePort }}
+{{- end }}
+{{- end }}
+ - name: prometheus-exporter
+ port: {{ .Values.config.smf.prometheus.port }}
+ protocol: TCP
+{{- if eq .Values.config.smf.serviceType "NodePort" }}
+{{- if .Values.config.smf.prometheus.nodePort }}
+ nodePort: {{ .Values.config.smf.prometheus.nodePort }}
+{{- end }}
+{{- end }}
+ - name: sbi
+ port: {{ .Values.config.smf.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.smf.serviceType "NodePort" }}
+{{- if .Values.config.smf.sbi.nodePort }}
+ nodePort: {{ .Values.config.smf.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-udm.yaml b/5g-control-plane/templates/service-udm.yaml
new file mode 100644
index 0000000..fe6fdd9
--- /dev/null
+++ b/5g-control-plane/templates/service-udm.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udm.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: udm
+ labels:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.udm.serviceType }}
+ selector:
+{{ tuple "udm" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.udm.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.udm.serviceType "NodePort" }}
+{{- if .Values.config.udm.sbi.nodePort }}
+ nodePort: {{ .Values.config.udm.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-udr.yaml b/5g-control-plane/templates/service-udr.yaml
new file mode 100644
index 0000000..3c13170
--- /dev/null
+++ b/5g-control-plane/templates/service-udr.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.udr.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: udr
+ labels:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.udr.serviceType }}
+ selector:
+{{ tuple "udr" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: sbi
+ port: {{ .Values.config.udr.sbi.port }}
+ protocol: TCP
+{{- if eq .Values.config.udr.serviceType "NodePort" }}
+{{- if .Values.config.udr.sbi.nodePort }}
+ nodePort: {{ .Values.config.udr.sbi.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/templates/service-webui.yaml b/5g-control-plane/templates/service-webui.yaml
new file mode 100644
index 0000000..b91e094
--- /dev/null
+++ b/5g-control-plane/templates/service-webui.yaml
@@ -0,0 +1,36 @@
+{{/*
+# Copyright 2020-present Open Networking Foundation
+
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+*/}}
+
+{{- if .Values.config.webui.deploy }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: webui
+ labels:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+spec:
+ type: {{ .Values.config.webui.serviceType }}
+ selector:
+{{ tuple "webui" . | include "5g-control-plane.metadata_labels" | indent 4 }}
+ ports:
+ - name: urlport-http
+ port: {{ .Values.config.webui.urlport.port }}
+ protocol: TCP
+{{- if eq .Values.config.webui.serviceType "NodePort" }}
+{{- if .Values.config.webui.urlport.nodePort }}
+ nodePort: {{ .Values.config.webui.urlport.nodePort }}
+{{- end }}
+{{- end }}
+ - name: grpc
+ port: {{ .Values.config.webui.grpc.port }}
+ protocol: TCP
+{{- if eq .Values.config.webui.serviceType "NodePort" }}
+{{- if .Values.config.webui.grpc.nodePort }}
+ nodePort: {{ .Values.config.webui.grpc.nodePort }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/5g-control-plane/values.yaml b/5g-control-plane/values.yaml
new file mode 100644
index 0000000..4d5f602
--- /dev/null
+++ b/5g-control-plane/values.yaml
@@ -0,0 +1,595 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+images:
+ tags:
+ init: docker.io/omecproject/pod-init:1.0.0
+ amf: registry.aetherproject.org/omecproject/5gc-amf:onf-release3.0.5-03d3c6d
+ nrf: registry.aetherproject.org/omecproject/5gc-nrf:onf-release3.0.5-13304e8
+ smf: registry.aetherproject.org/omecproject/5gc-smf:onf-release3.0.5-bcbcd33
+ ausf: registry.aetherproject.org/omecproject/5gc-ausf:onf-release3.0.5-be7d4ac
+ nssf: registry.aetherproject.org/omecproject/5gc-nssf:onf-release3.0.5-aa3a60b
+ pcf: registry.aetherproject.org/omecproject/5gc-pcf:onf-release3.0.5-9f7734b
+ udr: registry.aetherproject.org/omecproject/5gc-udr:onf-release3.0.5-deef506
+ udm: registry.aetherproject.org/omecproject/5gc-udm:onf-release3.0.5-c28433a
+ webui: registry.aetherproject.org/omecproject/5gc-webui:onf-release3.0.5-0534804
+ pullPolicy: IfNotPresent
+ # Optionally specify an array of imagePullSecrets.
+ # Secrets must be manually created in the namespace.
+ pullSecrets:
+ - name: aether.registry
+
+resources:
+ enabled: false
+ amf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ nrf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ smf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ ausf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ nssf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ pcf:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ udr:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ udm:
+ requests:
+ cpu: 2
+ memory: 1Gi
+ limits:
+ cpu: 2
+ memory: 1Gi
+ webui:
+ requests:
+ cpu: 1
+ memory: 1Gi
+ limits:
+ cpu: 1
+ memory: 1Gi
+
+mongodb:
+ deploy: true
+ fullnameOverride: mongodb
+ persistence:
+ enabled: false
+ auth:
+ enabled: false
+ serviceAccount:
+ create: false
+ #clusterDomain: cluster.local
+ #architecture: replicaset
+ #replicaCount: 3
+
+config:
+ managedByConfigPod: # config comes from helm by default, if enabled true, then discard
+ enabled: false # helm chart config and use the config from config Pod
+ syncUrl: "" # Get the config from adapater in case control plane is down
+ useExistingConfigMap: false
+ coreDump:
+ enabled: false
+ path: /tmp/coredump
+ mongodb:
+ name: free5gc
+ url: mongodb://mongodb
+ grpc:
+ golog_verbosity: "99"
+ severity: "info"
+ trace: "all"
+ verbosity: "debug"
+ logger:
+ # network function
+ AMF:
+ debugLevel: info
+ ReportCaller: false
+ SMF:
+ debugLevel: info
+ ReportCaller: false
+ UDR:
+ debugLevel: info
+ ReportCaller: false
+ UDM:
+ debugLevel: info
+ ReportCaller: false
+ NRF:
+ debugLevel: info
+ ReportCaller: false
+ PCF:
+ debugLevel: info
+ ReportCaller: false
+ AUSF:
+ debugLevel: info
+ ReportCaller: false
+ N3IWF:
+ debugLevel: info
+ ReportCaller: false
+ # library
+ NAS:
+ debugLevel: info
+ ReportCaller: false
+ FSM:
+ debugLevel: info
+ ReportCaller: false
+ NGAP:
+ debugLevel: info
+ ReportCaller: false
+ NamfComm:
+ debugLevel: info
+ ReportCaller: false
+ NamfEventExposure:
+ debugLevel: info
+ ReportCaller: false
+ NsmfPDUSession:
+ debugLevel: info
+ ReportCaller: false
+ NudrDataRepository:
+ debugLevel: info
+ ReportCaller: false
+ OpenApi:
+ debugLevel: info
+ ReportCaller: false
+ Aper:
+ debugLevel: info
+ ReportCaller: false
+ CommonConsumerTest:
+ debugLevel: info
+ ReportCaller: false
+ PFCP:
+ debugLevel: info
+ ReportCaller: false
+ MongoDBLibrary:
+ debugLevel: info
+ ReportCaller: false
+ PathUtil:
+ debugLevel: info
+ ReportCaller: false
+ # webui
+ WEBUI:
+ debugLevel: info
+ ReportCaller: false
+ webui:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ urlport:
+ port: 5000
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 35000
+ grpc:
+ port: 9876
+ ingress:
+ enabled: false
+ hostname: free5gc.local
+ path: /
+ pathType: Prefix
+ # extraHosts:
+ # - host: free5gc.local
+ # path: /
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/webuicfg.yaml
+ webuicfg.conf:
+ info:
+ version: 1.0.0
+ description: WebUI initial local configuration
+ configuration: {}
+ udm:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29503
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30074
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/udmcfg.yaml
+ udmcfg.conf:
+ info:
+ version: 1.0.0
+ description: UDM initial local configuration
+ configuration:
+ nrfUri: http://nrf:29510
+ plmnList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ - plmnId:
+ mcc: 222
+ mnc: 88
+ serviceNameList:
+ - nudm-sdm
+ - nudm-uecm
+ - nudm-ueau
+ - nudm-ee
+ - nudm-pp
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: udm
+ tls:
+ log: free5gc/udmsslkey.log
+ pem: free5gc/support/TLS/udm.pem
+ key: free5gc/support/TLS/udm.key
+ keys:
+ udmProfileAHNPublicKey: 5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650
+ udmProfileAHNPrivateKey: c53c22208b61860b06c62e5406a7b330c2b577aa5558981510d128247d38bd1d
+ udmProfileBHNPublicKey: 0472DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD15A7DED52FCBB097A4ED250E036C7B9C8C7004C4EEDC4F068CD7BF8D3F900E3B4
+ udmProfileBHNPrivateKey: F1AB1074477EBCC7F554EA1C5FC368B1616730155E0041AC447D6301975FECDA
+ udr:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29504
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30074
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/udrcfg.yaml
+ udrcfg.conf:
+ info:
+ version: 1.0.0
+ description: UDR initial local configuration
+ configuration:
+ nrfUri: http://nrf:29510
+ plmnSupportList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ - plmnId:
+ mcc: 333
+ mnc: 88
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: udr
+ pcf:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29507
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30077
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/pcfcfg.yaml
+ pcfcfg.conf:
+ info:
+ version: 1.0.0
+ description: PCF initial local configuration
+ configuration:
+ pcfName: PCF
+ nrfUri: http://nrf:29510
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: pcf
+ defaultBdtRefId: BdtPolicyId-
+ plmnList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ - plmnId:
+ mcc: 333
+ mnc: 88
+ serviceList:
+ - serviceName: npcf-am-policy-control
+ - serviceName: npcf-smpolicycontrol
+ suppFeat: 3fff
+ - serviceName: npcf-bdtpolicycontrol
+ - serviceName: npcf-policyauthorization
+ suppFeat: 3
+ - serviceName: npcf-eventexposure
+ - serviceName: npcf-ue-policy-control
+ nssf:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29531
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30081
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/nssfcfg.yaml
+ nssfcfg.conf:
+ info:
+ version: 1.0.0
+ description: NSSF initial local configuration
+ configuration:
+ nssfName: NSSF
+ nrfUri: http://nrf:29510
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: nssf
+ serviceNameList:
+ - nnssf-nsselection
+ - nnssf-nssaiavailability
+ supportedPlmnList:
+ - mcc: 208
+ mnc: 93
+ supportedNssaiInPlmnList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ supportedSnssaiList:
+ - sst: 1
+ sd: "010203"
+ nsiList:
+ - snssai:
+ sst: 1
+ sd: "010203"
+ nsiInformationList:
+ - nrfId: http://nrf:29510/nnrf-nfm/v1/nf-instances
+ nsiId: 22
+ amf:
+ deploy: true
+ podAnnotations:
+ field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
+ serviceType: ClusterIP
+ prometheus:
+ port: 9089
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30084
+ sbi:
+ port: 29518
+ #nodePort: 30088
+ ngapp:
+ #externalIp:
+ port: 38412
+ #nodePort: 30071
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/amfcfg.yaml
+ amfcfg.conf:
+ info:
+ version: 1.0.0
+ description: AMF initial local configuration
+ configuration:
+ ngapIpList:
+ - "0.0.0.0"
+ amfName: AMF
+ nrfUri: http://nrf:29510
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: amf
+ serviceNameList:
+ - namf-comm
+ - namf-evts
+ - namf-mt
+ - namf-loc
+ - namf-oam
+ servedGuamiList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ amfId: cafe00
+ supportTaiList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ tac: 1
+ plmnSupportList:
+ - plmnId:
+ mcc: 208
+ mnc: 93
+ snssaiList:
+ - sst: 1
+ sd: "010203"
+ supportDnnList:
+ - internet
+ security:
+ integrityOrder:
+ - NIA2
+ cipheringOrder:
+ - NEA0
+ networkName:
+ full: Aether5G
+ short: Aether
+ networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501
+ enable: true # append this IE in Registration accept or not
+ imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1)
+ emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3)
+ emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3)
+ iwkN26: 0 # Interworking without N26 interface indicator (uinteger, range: 0~1)
+ mpsi: 0 # MPS indicator (uinteger, range: 0~1)
+ emcN3: 0 # Emergency service support indicator for Non-3GPP access (uinteger, range: 0~1)
+ mcsi: 0 # MCS indicator (uinteger, range: 0~1)
+ t3502Value: 720 # timer value (seconds) at UE side
+ t3512Value: 3600 # timer value (seconds) at UE side
+ non3gppDeregistrationTimerValue: 3240 # timer value (seconds) at UE side
+ # retransmission timer for paging message
+ t3513:
+ enable: true # true or false
+ expireTime: 6s # default is 6 seconds
+ maxRetryTimes: 4 # the max number of retransmission
+ # retransmission timer for NAS Deregistration Request message
+ t3522:
+ enable: true # true or false
+ expireTime: 6s # default is 6 seconds
+ maxRetryTimes: 4 # the max number of retransmission
+ # retransmission timer for NAS Registration Accept message
+ t3550:
+ enable: true # true or false
+ expireTime: 6s # default is 6 seconds
+ maxRetryTimes: 4 # the max number of retransmission
+ # retransmission timer for NAS Authentication Request/Security Mode Command message
+ t3560:
+ enable: true # true or false
+ expireTime: 6s # default is 6 seconds
+ maxRetryTimes: 4 # the max number of retransmission
+ # retransmission timer for NAS Notification message
+ t3565:
+ enable: true # true or false
+ expireTime: 6s # default is 6 seconds
+ maxRetryTimes: 4 # the max number of retransmission
+ nrf:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29510
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30070
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/nrfcfg.yaml
+ nrfcfg.conf:
+ info:
+ version: 1.0.0
+ description: NRF initial local configuration
+ configuration:
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: nrf
+ DefaultPlmnId:
+ mcc: 208
+ mnc: 93
+ serviceNameList:
+ - nnrf-nfm
+ - nnrf-disc
+ smf:
+ deploy: true
+ podAnnotations:
+ field.cattle.io/workloadMetrics: '[{"path":"/metrics","port":9089,"schema":"HTTP"}]'
+ serviceType: ClusterIP
+ n4:
+ port: 8805
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30021
+ prometheus:
+ port: 9089
+ #nodePort: 30084
+ sbi:
+ port: 29502
+ #nodePort: 30080
+ cfgFiles:
+ uerouting.conf:
+ info:
+ version: 1.0.0
+ description: Routing information for UE
+ # https://github.com/free5gc/free5gc/blob/main/config/smfcfg.yaml
+ smfcfg.conf:
+ info:
+ version: 1.0.0
+ description: SMF initial local configuration
+ configuration:
+ pfcp:
+ addr: "POD_IP"
+ smfName: SMF
+ nrfUri: http://nrf:29510
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: smf
+ tls:
+ key: gofree5gc/support/TLS/smf.key
+ pem: gofree5gc/support/TLS/smf.pem
+ serviceNameList:
+ - nsmf-pdusession
+ - nsmf-event-exposure
+ snssaiInfos:
+ - dnnInfos:
+ - dnn: internet
+ dns: # the IP address of DNS
+ ipv4: 8.8.8.8
+ ipv6: 2001:4860:4860::8888
+ ueSubnet: 172.250.0.0/16 # should be CIDR type
+ sNssai:
+ sd: "010203"
+ sst: 1
+ userplane_information:
+ up_nodes:
+ gNB1:
+ type: AN
+ UPF:
+ type: UPF
+ node_id: upf
+ sNssaiUpfInfos: # S-NSSAI information list for this UPF
+ - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
+ sst: 1 # Slice/Service Type (uinteger, range: 0~255)
+ sd: "010203" # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
+ dnnUpfInfoList: # DNN information list for this S-NSSAI
+ - dnn: internet
+ plmnId:
+ mcc: "208"
+ mnc: "93"
+ - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
+ sst: 1 # Slice/Service Type (uinteger, range: 0~255)
+ sd: "112233" # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
+ dnnUpfInfoList: # DNN information list for this S-NSSAI
+ - dnn: internet
+ plmnId:
+ mcc: "208"
+ mnc: "93"
+ interfaces: # Interface list for this UPF
+ - interfaceType: N3 # the type of the interface (N3 or N9)
+ endpoints: # the IP address of this N3/N9 interface on this UPF
+ - upf
+ networkInstance: internet # Data Network Name (DNN)
+
+ links:
+ - A: gNB1
+ B: UPF
+ ausf:
+ deploy: true
+ #podAnnotations:
+ serviceType: ClusterIP
+ sbi:
+ port: 29509
+ # Provide nodePort when serviceType is NodePort
+ #nodePort: 30082
+ cfgFiles:
+ # https://github.com/free5gc/free5gc/blob/main/config/ausfcfg.yaml
+ ausfcfg.conf:
+ info:
+ version: 1.0.0
+ description: AUSF initial local configuration
+ configuration:
+ nrfUri: http://nrf:29510
+ sbi:
+ scheme: http
+ bindingIPv4: "0.0.0.0"
+ registerIPv4: ausf
+ serviceNameList:
+ - nausf-auth
+ plmnSupportList:
+ - mcc: 208
+ mnc: 93
+ groupId: ausfGroup001