diff --git a/omec/omec-control-plane/Chart.yaml b/omec/omec-control-plane/Chart.yaml
index a3ba319..f6018f7 100644
--- a/omec/omec-control-plane/Chart.yaml
+++ b/omec/omec-control-plane/Chart.yaml
@@ -18,4 +18,4 @@
 appVersion: "1.0"
 description: OMEC control plane services
 name: omec-control-plane
-version: 0.1.1
+version: 0.1.2
diff --git a/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl b/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl
new file mode 100644
index 0000000..096a434
--- /dev/null
+++ b/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl
@@ -0,0 +1,92 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+# Copyright 2018 Intel Corporation
+#
+# 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.
+
+set -ex
+
+function provision_users() {
+    imsi=$1
+    msisdn=$2
+    apn=$3
+    key=$4
+    opc=$5
+    no_of_users=$6
+    cassandra_ip=$7
+    mmeidentity=$8
+    mmerealm=$9
+
+    for (( i=1; i<=$no_of_users; i++ )); do
+        echo "IMSI=$imsi MSISDN=$msisdn"
+        cqlsh $cassandra_ip -e "INSERT INTO vhss.users_imsi (imsi, msisdn, access_restriction, key, opc, mmehost, mmeidentity_idmmeidentity, mmerealm, rand, sqn, subscription_data) VALUES ('$imsi', $msisdn, 41, '$key', '$opc', '$mmeidentity', 3, '$mmerealm', '2683b376d1056746de3b254012908e0e', 96, '{\"Subscription-Data\":{\"Access-Restriction-Data\":41,\"Subscriber-Status\":0,\"Network-Access-Mode\":2,\"Regional-Subscription-Zone-Code\":[\"0x0123\",\"0x4567\",\"0x89AB\",\"0xCDEF\",\"0x1234\",\"0x5678\",\"0x9ABC\",\"0xDEF0\",\"0x2345\",\"0x6789\"],\"MSISDN\":\"0x$msisdn\",\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"APN-Configuration-Profile\":{\"Context-Identifier\":0,\"All-APN-Configurations-Included-Indicator\":0,\"APN-Configuration\":{\"Context-Identifier\":0,\"PDN-Type\":0,\"Served-Party-IP-Address\":[\"10.0.0.1\",\"10.0.0.2\"],\"Service-Selection\":\"apn1\",\"EPS-Subscribed-QoS-Profile\":{\"QoS-Class-Identifier\":9,\"Allocation-Retention-Priority\":{\"Priority-Level\":15,\"Pre-emption-Capability\":0,\"Pre-emption-Vulnerability\":0}},\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"PDN-GW-Allocation-Type\":0,\"MIP6-Agent-Info\":{\"MIP-Home-Agent-Address\":[\"172.26.17.183\"]}}},\"Subscribed-Periodic-RAU-TAU-Timer\":0}}');"
+        if [ $? -ne 0 ];then
+           echo -e "oops! Something went wrong adding to vhss.users_imsi!\n"
+           exit 1
+        fi
+
+        cqlsh $cassandra_ip -e "INSERT INTO vhss.msisdn_imsi (msisdn, imsi) VALUES ($msisdn, '$imsi');"
+        if [ $? -ne 0 ];then
+           echo -e "oops! Something went wrong adding to vhss.msisdn_imsi!\n"
+           exit 1
+        fi
+
+        imsi=`expr $imsi + 1`;
+        msisdn=`expr $msisdn + 1`
+    done
+
+    echo -e "The provisioning is successful\n"
+}
+
+function provision_mme() {
+    id=$1
+    isdn=$2
+    host=$3
+    realm=$4
+    uereachability=$5
+    cassandra_ip=$6
+
+    cqlsh $cassandra_ip -e "INSERT INTO vhss.mmeidentity (idmmeidentity, mmeisdn, mmehost, mmerealm, ue_reachability) VALUES ($id, '$isdn', '$host', '$realm', $uereachability);"
+    if [ $? -ne 0 ];then
+       echo -e "oops! Something went wrong adding to vhss.mmeidentity!\n"
+       exit 1
+    fi
+
+    cqlsh $cassandra_ip -e "INSERT INTO vhss.mmeidentity_host (idmmeidentity, mmeisdn, mmehost, mmerealm, ue_reachability) VALUES ($id, '$isdn', '$host', '$realm', $uereachability);"
+    if [ $? -ne 0 ];then
+       echo -e "oops! Something went wrong adding to vhss.mmeidentity_host!\n"
+       exit 1
+    fi
+
+    echo -e "The mme identity provisioning is successfull\n"
+}
+
+provision_users \
+    {{ .Values.config.hss.bootstrap.users.imsi }} \
+    {{ .Values.config.hss.bootstrap.users.msisdn }} \
+    {{ .Values.config.hss.bootstrap.users.apn }} \
+    {{ .Values.config.hss.bootstrap.users.key }} \
+    {{ .Values.config.hss.bootstrap.users.opc }} \
+    {{ .Values.config.hss.bootstrap.users.numbers }} \
+    {{ .Values.config.hss.hssdb }} \
+    {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" }} \
+    {{ tuple "mme" "reaml" . | include "omec-control-plane.endpoint_lookup" }}
+
+provision_mme \
+    {{ .Values.config.hss.bootstrap.mme.id }} \
+    {{ .Values.config.hss.bootstrap.mme.isdn }} \
+    {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" }} \
+    {{ tuple "mme" "realm" . | include "omec-control-plane.endpoint_lookup" }} \
+    {{ .Values.config.hss.bootstrap.mme.unreachability }} \
+    {{ .Values.config.hss.hssdb }}
diff --git a/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl b/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl
new file mode 100644
index 0000000..9782de2
--- /dev/null
+++ b/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# 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.
+
+set -ex
+
+CONF_DIR="/opt/c3po/hss/conf"
+LOGS_DIR="/opt/c3po/hss/logs"
+mkdir -p $CONF_DIR $LOGS_DIR
+
+cp /etc/hss/conf/{acl.conf,hss.json,hss.conf,oss.json} $CONF_DIR
+cat $CONF_DIR/{hss.json,hss.conf}
+
+cd $CONF_DIR
+make_certs.sh {{ tuple "hss" "host" . | include "omec-control-plane.endpoint_lookup" }} {{ tuple "hss" "realm" . | include "omec-control-plane.endpoint_lookup" }}
+
+cd ..
+hss -j $CONF_DIR/hss.json
diff --git a/omec/omec-control-plane/templates/configmap-hss.yaml b/omec/omec-control-plane/templates/configmap-hss.yaml
new file mode 100644
index 0000000..76760e0
--- /dev/null
+++ b/omec/omec-control-plane/templates/configmap-hss.yaml
@@ -0,0 +1,110 @@
+{{/*
+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.
+
+Default values for mcord-vepc-helm.
+This is a YAML-formatted file.
+Declare variables to be passed into your templates.
+*/}}
+
+{{- $hssJson := index .Values.config.hss.cfgFiles "hss.json" }}
+{{- $hssJsonCommon := index $hssJson "common" }}
+{{- $hssJsonHss := index $hssJson "hss" }}
+
+{{- if not (hasKey $hssJsonCommon "originhost") -}}
+{{- $_ := tuple "hss" "identity" . | include "omec-control-plane.endpoint_lookup" | set $hssJsonCommon "originhost" -}}
+{{- end }}
+{{- if not (hasKey $hssJsonCommon "originrealm") -}}
+{{- $_ := tuple "hss" "realm" . | include "omec-control-plane.endpoint_lookup" | set $hssJsonCommon "originrealm" -}}
+{{- end }}
+{{- if not (hasKey $hssJsonHss "casssrv") -}}
+{{- $_ := .Values.cassandra.fullnameOverride | set $hssJsonHss "casssrv" -}}
+{{- end }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: hss
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+data:
+  acl.conf: |
+  {{- if hasKey .Values.config.hss.acl "oldTls" }}
+    ALLOW_OLD_TLS {{ .Values.config.hss.acl.oldTls }}
+  {{- end }}
+  {{- if hasKey .Values.config.hss.acl "ipSec" }}
+    ALLOW_IPSEC {{ .Values.config.hss.acl.ipSec }}
+  {{- end }}
+  hss.conf: |
+    Identity = {{ tuple "hss" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }};
+    Realm = {{ tuple "hss" "realm" . | include "omec-control-plane.endpoint_lookup" | quote }};
+    TLS_Cred = "/opt/c3po/hss/conf/{{ tuple "hss" "host" . | include "omec-control-plane.endpoint_lookup" }}.cert.pem",
+               "/opt/c3po/hss/conf/{{ tuple "hss" "host" . | include "omec-control-plane.endpoint_lookup" }}.key.pem";
+    TLS_CA = "/opt/c3po/hss/conf/cacert.pem";
+    No_SCTP;
+    Prefer_TCP;
+    No_IPv6;
+    SCTP_streams = 3;
+    NoRelay;
+    AppServThreads = 4;
+    Port = 3868;
+    SecPort = 5868;
+    LoadExtension = "/usr/local/lib/freeDiameter/acl_wl.fdx" : "/opt/c3po/hss/conf/acl.conf";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
+    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
+  hss-run.sh: |
+{{ tuple "bin/_hss-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
+  hss-bootstrap.sh: |
+{{ tuple "bin/_hss-bootstrap.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
+{{- range $key, $value := .Values.config.hss.cfgFiles }}
+  {{ $key }}: {{ toJson $value | quote }}
+{{- end }}
diff --git a/omec/omec-control-plane/templates/configmap-mme.yaml b/omec/omec-control-plane/templates/configmap-mme.yaml
index 7ca3852..663af63 100644
--- a/omec/omec-control-plane/templates/configmap-mme.yaml
+++ b/omec/omec-control-plane/templates/configmap-mme.yaml
@@ -14,11 +14,14 @@
 limitations under the License.
 */}}
 
-{{- if not (hasKey .Values.config.mme.appConfig.s6a "host") -}}
-{{- $_ := tuple "hss" "identity" . | include "omec-control-plane.endpoint_lookup" | set .Values.config.mme.appConfig.s6a "host" -}}
+{{- $configJson := index .Values.config.mme.cfgFiles "config.json" }}
+{{- $configJsonS6a := index $configJson "s6a" }}
+
+{{- if not (hasKey $configJsonS6a "host") -}}
+{{- $_ := tuple "hss" "identity" . | include "omec-control-plane.endpoint_lookup" | set $configJsonS6a "host" -}}
 {{- end }}
-{{- if not (hasKey .Values.config.mme.appConfig.s6a "realm") -}}
-{{- $_ := tuple "hss" "realm" . | include "omec-control-plane.endpoint_lookup" | set .Values.config.mme.appConfig.s6a "realm" -}}
+{{- if not (hasKey $configJsonS6a "realm") -}}
+{{- $_ := tuple "hss" "realm" . | include "omec-control-plane.endpoint_lookup" | set $configJsonS6a "realm" -}}
 {{- end }}
 ---
 apiVersion: v1
@@ -28,26 +31,21 @@
   labels:
 {{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
 data:
-  config.json: {{ toJson .Values.config.mme.appConfig | quote }}
   s6a_fd.conf: |
+    Identity = {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }};
+    Realm = {{ tuple "mme" "realm" . | include "omec-control-plane.endpoint_lookup" | quote }};
+    TLS_Cred = "conf/{{ tuple "mme" "host" . | include "omec-control-plane.endpoint_lookup" }}.cert.pem",
+               "conf/{{ tuple "mme" "host" . | include "omec-control-plane.endpoint_lookup" }}.key.pem";
+    TLS_CA = "conf/cacert.pem";
     AppServThreads = 40;
     SCTP_streams = 3;
     NoRelay;
     No_IPv6;
-
-    # Identity = "<diameter_host>.<diameter_realm>";
-    Identity = {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }};
-    Realm = {{ tuple "mme" "realm" . | include "omec-control-plane.endpoint_lookup" | quote }};
-    # Port = 3868;
-    # SecPort = 3869;
+    #Port = 3868;
+    #SecPort = 3869;
 
     ConnectPeer = {{ tuple "hss" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }} { No_TLS; port = 3868; };
 
-    # TLS_Cred = "<diameter_host>.cert.pem", "<diameter_host>.key.pem";
-    TLS_Cred = "conf/{{ tuple "mme" "host" . | include "omec-control-plane.endpoint_lookup" }}.cert.pem",
-               "conf/{{ tuple "mme" "host" . | include "omec-control-plane.endpoint_lookup" }}.key.pem";
-    TLS_CA = "conf/cacert.pem";
-
     LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
     LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
     LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
@@ -98,3 +96,6 @@
   mme-ip.sh: |
 {{ tuple "bin/_mme-ip.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
 {{- end }}
+{{- range $key, $value := .Values.config.mme.cfgFiles }}
+  {{ $key }}: {{ toJson $value | quote }}
+{{- end }}
diff --git a/omec/omec-control-plane/templates/hss.yaml b/omec/omec-control-plane/templates/hss.yaml
deleted file mode 100644
index f773eb1..0000000
--- a/omec/omec-control-plane/templates/hss.yaml
+++ /dev/null
@@ -1,297 +0,0 @@
-{{/*
-Copyright 2018-present Open Networking Foundation
-Copyright 2018 Intel Corporation
-
-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.
-
-Default values for mcord-vepc-helm.
-This is a YAML-formatted file.
-Declare variables to be passed into your templates.
-*/}}
-
-{{- if not (hasKey .Values.config.hss "hssdb") -}}
-{{- $_ := .Values.cassandra.fullnameOverride | set .Values.config.hss "hssdb" -}}
-{{- end }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-data:
-  acl.conf: |
-    ALLOW_OLD_TLS   *.cluster.local
-  hss.conf: |
-    Identity = "HSS_IDENTITY";
-    Realm = "HSS_REALM";
-    TLS_Cred = "CONF_DIR/HSS_HOST.cert.pem", "CONF_DIR/HSS_HOST.key.pem";
-    TLS_CA = "CONF_DIR/cacert.pem";
-    No_SCTP;
-    Prefer_TCP;
-    No_IPv6;
-    SCTP_streams = 3;
-    NoRelay;
-    AppServThreads = 4;
-    Port = 3868;
-    SecPort = 5868;
-    LoadExtension = "/usr/local/lib/freeDiameter/acl_wl.fdx" : "CONF_DIR/acl.conf";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
-  hss.json: |
-    {"common": {
-        "fdcfg": "CONF_DIR/hss.conf",
-        "originhost": "HSS_IDENTITY",
-        "originrealm": "HSS_REALM"
-    },
-    "hss": {
-        "gtwhost": "*",
-        "gtwport" : 9080,
-        "restport" : 9081,
-        "ossport" : 9082,
-        "casssrv": "HSSDB_ADDR",
-        "cassusr": "root",
-        "casspwd": "root",
-        "cassdb" : "vhss",
-        "casscoreconnections" : 2,
-        "cassmaxconnections" : 8,
-        "cassioqueuesize" : 32768,
-        "cassiothreads" : 2,
-        "randv"  : true,
-        "optkey" : "63bfa50ee6523365ff14c1f45f88737d",
-        "reloadkey"  : true,
-        "logsize": 20,
-        "lognumber": 5,
-        "logname": "LOGS_DIR/hss.log",
-        "logqsize": 8192,
-        "statlogsize": 20,
-        "statlognumber": 5,
-        "statlogname": "LOGS_DIR/hss_stat.log",
-        "auditlogsize": 20,
-        "auditlognumber": 5,
-        "auditlogname": "LOGS_DIR/hss_audit.log",
-        "statfreq": 2000,
-        "numworkers": 4,
-        "concurrent": 10,
-        "ossfile": "CONF_DIR/oss.json"
-    }
-    }
-  oss.json: |
-    {
-      "option": {
-        "id": "url",
-        "type": "string"
-      },
-      "services": [
-        {
-          "id": "logger",
-          "commands": [
-            {
-              "id": "describe_loggers"
-            },
-            {
-              "id": "set_logger_level",
-              "options": [
-                {
-                  "id": "name",
-                  "type": "string"
-                },
-                {
-                  "id": "level",
-                  "type": "integer"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "id": "stats",
-          "commands": [
-            {
-              "id": "describe_stats_frequency"
-            },
-            {
-              "id": "describe_stats_live"
-            },
-            {
-              "id": "set_stats_frequency",
-              "options": [
-                {
-                  "id": "frequency",
-                  "type": "integer"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    }
-  launch.sh: |
-    #!/bin/bash -x
-
-    CONF_DIR="/opt/c3po/hss/conf"
-    LOGS_DIR="/opt/c3po/hss/logs"
-    mkdir -p $CONF_DIR $LOGS_DIR
-
-    cp /etc/hss/conf/{acl.conf,hss.json,hss.conf,oss.json} $CONF_DIR
-
-    HSS_HOST=$(hostname)
-    HSS_DOMAIN=$(dnsdomainname)
-
-    # from hss.json
-    sed -i "s!HSS_IDENTITY!$HSS_HOST.$HSS_DOMAIN!g" $CONF_DIR/hss.json
-    sed -i "s!HSS_REALM!$HSS_DOMAIN!g" $CONF_DIR/hss.json
-    sed -i "s!HSSDB_ADDR!$HSSDB_ADDR!g" $CONF_DIR/hss.json
-    sed -i "s!CONF_DIR!$CONF_DIR!g" $CONF_DIR/hss.json
-    sed -i "s!LOGS_DIR!$LOGS_DIR!g" $CONF_DIR/hss.json
-
-    # from hss.conf
-    sed -i "s!HSS_IDENTITY!$HSS_HOST.$HSS_DOMAIN!g" $CONF_DIR/hss.conf
-    sed -i "s!HSS_REALM!$HSS_DOMAIN!g" $CONF_DIR/hss.conf
-    sed -i "s!HSS_HOST!$HSS_HOST!g" $CONF_DIR/hss.conf
-    sed -i "s!CONF_DIR!$CONF_DIR!g" $CONF_DIR/hss.conf
-    cat $CONF_DIR/{hss.json,hss.conf}
-
-    # If necessary, calculate the OPc value for each UE (User Equipment).
-    #./bin/hss -j conf/hss.json --onlyloadkey
-    cd $CONF_DIR
-    make_certs.sh $(hostname) $(dnsdomainname)
-    cd ..
-    # finally, launch
-    hss -j $CONF_DIR/hss.json
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  clusterIP: None
-  ports:
-  - name: s6a
-    port: 3868
-    protocol: TCP
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 6 }}
-  serviceName: hss
-  template:
-    metadata:
-      labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
-    {{- end }}
-      initContainers:
-      - name: init-hss
-        image: {{ .Values.images.tags.hssdb }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: [ "bash", "-xc"]
-        # TODO: Move the SIM card configuration into values.yaml
-        args:
-        - until nslookup $HSSDB_ADDR; do echo "waiting for hssdb"; sleep 2; done;
-          until cqlsh --file /opt/c3po/hssdb/oai_db.cql $HSSDB_ADDR; do echo "provisioning hssdb"; sleep 2; done;
-          until data_provisioning_users.sh 208014567891200 1122334455 apn1 465B5CE8B199B49FAA5F0A2EE238A6BC 10 $HSSDB_ADDR $MME_HOST.$MME_REALM $MME_REALM;
-          do echo "setting up users"; sleep 2; done;
-          until data_provisioning_mme.sh 1 19136246000 $MME_HOST.$MME_REALM $MME_REALM 1 $HSSDB_ADDR; do echo "setting up mme"; sleep 2; done;
-          until data_provisioning_mme.sh 1 19136246000 smsrouter.test3gpp.net test3gpp.net 0 $HSSDB_ADDR; do echo "setting up smsrouter"; sleep 2; done;
-        env:
-        - name: HSSDB_ADDR
-          value: {{ .Values.config.hss.hssdb }}
-        - name: MME_HOST
-          value: {{ tuple "mme" "host" . | include "omec-control-plane.endpoint_lookup" | quote }}
-        - name: MME_REALM
-          value: {{ tuple "mme" "realm" . | include "omec-control-plane.endpoint_lookup" | quote }}
-      containers:
-      - name: hss
-        image: {{ .Values.images.tags.hss }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        stdin: true
-        tty: true
-        env:
-        - name: HSSDB_ADDR
-          value: {{ .Values.config.hss.hssdb }}
-        - name: MME_IDENTITY
-          value: {{ tuple "mme" "identity" . | include "omec-control-plane.endpoint_lookup" | quote }}
-        command: ["bash", "-c", "/opt/c3po/hss/launch.sh; sleep 3600"]
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.hss | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: hss-script
-          mountPath: /opt/c3po/hss/launch.sh
-          subPath: launch.sh
-        - name: hss-config
-          mountPath: /etc/hss/conf
-      volumes:
-      - name: hss-script
-        configMap:
-          name: hss
-          defaultMode: 493
-      - name: hss-config
-        configMap:
-          name: hss
-          defaultMode: 420
diff --git a/omec/omec-control-plane/templates/job-hss-bootstrap.yaml b/omec/omec-control-plane/templates/job-hss-bootstrap.yaml
new file mode 100644
index 0000000..03ac80d
--- /dev/null
+++ b/omec/omec-control-plane/templates/job-hss-bootstrap.yaml
@@ -0,0 +1,74 @@
+{{/*
+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 .Values.config.hss.bootstrap }}
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: job-hss-bootstrap
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  template:
+    metadata:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
+    {{- end }}
+      restartPolicy: OnFailure
+      serviceAccountName: hss
+      initContainers:
+      - name: job-bootstrap-dep-check
+        image: {{ .Values.images.tags.depCheck | quote }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+          - 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_JOBS
+            value: job-hss-db-sync
+        command:
+          - kubernetes-entrypoint
+        volumeMounts:
+          []
+      containers:
+      - name: hss-bootstrap
+        image: {{ .Values.images.tags.hssdb }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        command: ["/opt/c3po/hss/hss-bootstrap.sh"]
+        volumeMounts:
+        - name: hss-script
+          mountPath: /opt/c3po/hss/hss-bootstrap.sh
+          subPath: hss-bootstrap.sh
+      volumes:
+      - name: hss-script
+        configMap:
+          name: hss
+          defaultMode: 493
+{{- end }}
diff --git a/omec/omec-control-plane/templates/job-hss-db-sync.yaml b/omec/omec-control-plane/templates/job-hss-db-sync.yaml
new file mode 100644
index 0000000..17f3213
--- /dev/null
+++ b/omec/omec-control-plane/templates/job-hss-db-sync.yaml
@@ -0,0 +1,67 @@
+{{/*
+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.
+*/}}
+
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: job-hss-db-sync
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  template:
+    metadata:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
+    {{- end }}
+      restartPolicy: OnFailure
+      serviceAccountName: hss
+      initContainers:
+    {{- if .Values.cassandra.deploy }}
+      - name: job-db-sync-dep-check
+        image: {{ .Values.images.tags.depCheck | quote }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+          - 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_SERVICE
+            value: {{ .Values.config.hss.hssdb }}
+        command:
+          - kubernetes-entrypoint
+        volumeMounts:
+          []
+    {{- end }}
+      containers:
+        - name: hss-db-sync
+          image: {{ .Values.images.tags.hssdb }}
+          imagePullPolicy: {{ .Values.images.pullPolicy }}
+          command: ["bash", "-xc"]
+          args:
+            - until cqlsh --file /opt/c3po/hssdb/oai_db.cql {{ .Values.config.hss.hssdb }}; do echo "Provisioning HSSDB"; sleep 2;done
diff --git a/omec/omec-control-plane/templates/service-hss.yaml b/omec/omec-control-plane/templates/service-hss.yaml
new file mode 100644
index 0000000..849e713
--- /dev/null
+++ b/omec/omec-control-plane/templates/service-hss.yaml
@@ -0,0 +1,51 @@
+{{/*
+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.
+*/}}
+
+---
+# Additional service for identity
+apiVersion: v1
+kind: Service
+metadata:
+  name: hss
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+  ports:
+  - name: s6a
+    port: 3868
+    protocol: TCP
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: hss-s6a
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+{{- if .Values.config.hss.s6a.nodePort.enabled }}
+  type: NodePort
+{{- end }}
+  ports:
+  - name: s6a
+    port: 3868
+    protocol: TCP
+  {{- if .Values.config.hss.s6a.nodePort.enabled }}
+    nodePort: {{ .Values.config.hss.s6a.nodePort.port }}
+  {{- end }}
diff --git a/omec/omec-control-plane/templates/service-mme.yaml b/omec/omec-control-plane/templates/service-mme.yaml
index 0747919..24ddc0f 100644
--- a/omec/omec-control-plane/templates/service-mme.yaml
+++ b/omec/omec-control-plane/templates/service-mme.yaml
@@ -14,6 +14,24 @@
 limitations under the License.
 */}}
 
+{{- $configJson := index .Values.config.mme.cfgFiles "config.json" }}
+{{- $configJsonS11 := index $configJson "s11" }}
+{{- $configJsonS1ap := index $configJson "s1ap" }}
+---
+# Additional service for identity
+apiVersion: v1
+kind: Service
+metadata:
+  name: mme
+  labels:
+{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+  ports:
+  - name: s6a
+    port: 3868
+    protocol: TCP
 ---
 apiVersion: v1
 kind: Service
@@ -29,7 +47,7 @@
 {{- end }}
   ports:
   - name: s11
-    port: {{ .Values.config.mme.appConfig.s11.egtp_default_port }}
+    port: {{ index $configJsonS11 "egtp_default_port" }}
     protocol: UDP
   {{- if .Values.config.mme.s11.nodePort.enabled }}
     nodePort: {{ .Values.config.mme.s11.nodePort.port }}
@@ -41,6 +59,9 @@
   name: mme-s6a
   labels:
 {{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+{{- if .Values.config.mme.s6a.nodePort.enabled }}
+  type: NodePort
+{{- end }}
 spec:
   selector:
 {{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
@@ -48,6 +69,9 @@
   - name: s6a
     port: 3868
     protocol: TCP
+  {{- if .Values.config.mme.s6a.nodePort.enabled }}
+    nodePort: {{ .Values.config.mme.s6a.nodePort.port }}
+  {{- end }}
 ---
 apiVersion: v1
 kind: Service
@@ -61,6 +85,6 @@
   type: NodePort
   ports:
     - name: s1ap
-      port: {{ .Values.config.mme.appConfig.s1ap.sctp_port }}
-      nodePort: {{ .Values.config.mme.appConfig.s1ap.sctp_port_external }}
+      port: {{ index $configJsonS1ap "sctp_port" }}
+      nodePort: {{ index $configJsonS1ap "sctp_port_external" }}
       protocol: SCTP
diff --git a/omec/omec-control-plane/templates/statefulset-hss.yaml b/omec/omec-control-plane/templates/statefulset-hss.yaml
new file mode 100644
index 0000000..53cb687
--- /dev/null
+++ b/omec/omec-control-plane/templates/statefulset-hss.yaml
@@ -0,0 +1,98 @@
+{{/*
+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.
+
+Default values for mcord-vepc-helm.
+This is a YAML-formatted file.
+Declare variables to be passed into your templates.
+*/}}
+
+{{ tuple "hss" . | include "omec-control-plane.service_account" }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: hss
+  labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 6 }}
+  serviceName: hss
+  template:
+    metadata:
+      labels:
+{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
+    {{- end }}
+      serviceAccountName: hss
+      initContainers:
+      - name: hss-dep-check
+        image: {{ .Values.images.tags.depCheck | quote }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+          - 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_JOBS
+          {{- if .Values.config.hss.bootstrap }}
+            value: job-hss-db-sync,job-hss-bootstrap
+          {{- else }}
+            value: job-hss-db-sync
+          {{- end }}
+        command:
+          - kubernetes-entrypoint
+        volumeMounts:
+          []
+      containers:
+      - name: hss
+        image: {{ .Values.images.tags.hss }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        stdin: true
+        tty: true
+        command: ["bash", "-c", "/opt/c3po/hss/hss-run.sh; sleep 3600"]
+      {{- if .Values.resources.enabled }}
+        resources:
+{{ toYaml .Values.resources.hss | indent 10 }}
+      {{- end }}
+        volumeMounts:
+        - name: hss-script
+          mountPath: /opt/c3po/hss/hss-run.sh
+          subPath: hss-run.sh
+        - name: hss-config
+          mountPath: /etc/hss/conf
+      volumes:
+      - name: hss-script
+        configMap:
+          name: hss
+          defaultMode: 493
+      - name: hss-config
+        configMap:
+          name: hss
+          defaultMode: 420
diff --git a/omec/omec-control-plane/templates/statefulset-mme.yaml b/omec/omec-control-plane/templates/statefulset-mme.yaml
index 745388b..f478cb8 100644
--- a/omec/omec-control-plane/templates/statefulset-mme.yaml
+++ b/omec/omec-control-plane/templates/statefulset-mme.yaml
@@ -27,6 +27,7 @@
   selector:
     matchLabels:
 {{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 6 }}
+  serviceName: mme
   template:
     metadata:
       labels:
diff --git a/omec/omec-control-plane/values.yaml b/omec/omec-control-plane/values.yaml
index 42deb61..945e669 100644
--- a/omec/omec-control-plane/values.yaml
+++ b/omec/omec-control-plane/values.yaml
@@ -86,43 +86,131 @@
     #  cpu: 2
 
 config:
-  hss: {}
-    # hssdb will be set to cassandra if unset
-    #hssdb:
+  hss:
+    hssdb: cassandra
+    s6a:
+      nodePort:
+        enabled: false
+        port: 33868
+    # Provide the peer whitelist extension
+    # The peer name must be a fqdn. We allow also a special "*" character as the
+    # first label of the fqdn, to allow all fqdn with the same domain name.
+    # Example: *.example.net will allow host1.example.net and host2.example.net
+    acl:
+      oldTls: "*.cluster.local"
+      #ipSec:
+    bootstrap:
+      enabled: true
+      users:
+        imsi: "208014567891200"
+        msisdn: "1122334455"
+        apn: apn1
+        key: "465b5ce8b199b49faa5f0a2ee238a6bc"
+        opc: "d4416644f6154936193433dd20a0ace0"
+        numbers: 2
+      mme:
+        id: 1
+        isdn: "19136246000"
+        unreachability: 1
+    # See https://github.com/omec-project/c3po for details of config options
+    cfgFiles:
+      hss.json:
+        common:
+          fdcfg: conf/hss.conf
+          # Origin host and realm will be set automatically if unset
+          #originhost: ""
+          #originrealm: ""
+        hss:
+          gtwhost: "*"
+          gtwport: 9080
+          restport: 9081
+          ossport: 9082
+          # casssrv will be set to cassandra in the same cluster if unset
+          #casssrv: ""
+          cassusr: root
+          casspwd: root
+          cassdb: vhss
+          casscoreconnections: 2
+          cassmaxconnections: 8
+          cassioqueuesize: 32768
+          cassiothreads: 2
+          randv: true
+          optkey: "63bfa50ee6523365ff14c1f45f88737d"
+          reloadkey: false
+          logsize: 20
+          lognumber: 5
+          logname: logs/hss.log
+          logqsize: 8192
+          statlogsize: 20
+          statlognumber: 5
+          statlogname: logs/hss_stat.log
+          auditlogsize: 20
+          auditlognumber: 5
+          auditlogname: logs/hss_audit.log
+          statfreq: 2000
+          numworkers: 4
+          concurrent: 10
+          ossfile: conf/oss.json
+      oss.json:
+        option:
+          id: url
+          type: string
+        services:
+          - id: logger
+            commands:
+              - id: describe_loggers
+              - id: set_logger_level
+                options:
+                  - id: name
+                    type: string
+                  - id: level
+                    type: integer
+          - id: stats
+            commands:
+              - id: describe_stats_frequency
+              - id: describe_stats_live
+              - id: set_stats_frequency
+                options:
+                  - id: frequency
+                    type: integer
   mme:
     spgwAddr: spgwc-s11
     s11:
       nodePort:
         enabled: false
         port: 32124
-    # appConfig is directly converted to config.json
+    s6a:
+      nodePort:
+        enabled: false
+        port: 33869
     # See https://github.com/omec-project/openmme/blob/master/README.txt for more config options
-    appConfig:
-      mme:
-        name: vmmestandalone
-        group_id: 1
-        code: 1
-        mcc:
-          dig1: 2
-          dig2: 0
-          dig3: 8
-        mnc:
-          dig1: 0
-          dig2: 1
-          dig3: -1
-      s1ap:
-        sctp_port: 36412
-        sctp_port_external: 36412
-      s11:
-        egtp_default_port: 2123
-        # sgw_addr and pgw_addr will be set dynamically if unset
-        #sgw_addr:
-        #pgw_addr:
-      s6a:
-        host_type: freediameter
-        # host and realm will be set dynamically if unset
-        #host:
-        #realm:
+    cfgFiles:
+      config.json:
+        mme:
+          name: vmmestandalone
+          group_id: 1
+          code: 1
+          mcc:
+            dig1: 2
+            dig2: 0
+            dig3: 8
+          mnc:
+            dig1: 0
+            dig2: 1
+            dig3: -1
+        s1ap:
+          sctp_port: 36412
+          sctp_port_external: 36412
+        s11:
+          egtp_default_port: 2123
+          # sgw_addr and pgw_addr will be set dynamically if unset
+          #sgw_addr:
+          #pgw_addr:
+        s6a:
+          host_type: freediameter
+          # host and realm will be set dynamically if unset
+          #host:
+          #realm:
   spgwc:
     apn: apn1
     ueIpPool:
