..
   SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
   SPDX-License-Identifier: Apache-2.0

.. _deployment_5G_guide:

5G Deployment Guide
===================

Deployment Overview
-------------------
SD-Core is released with Helm chart and container images.
We recommend using **Kubernetes** and **Helm** to deploy SD-Core.
SD-Core images are hosted on an ONF member-only Docker registry.
You need to obtain access token and supply that as part of the Helm value.

Hardware resource requirement
-----------------------------

SD-Core 5G has following K8s pods

  - AMF: 2 CPU Cores, 4Gi RAM
  - SMF: 2 CPU Cores, 4Gi RAM
  - NRF: 2 CPU Cores, 1Gi RAM
  - NSSF : 2 CPU Cores, 1Gi RAM
  - AUSF: 1 CPU Core, 1Gi RAM
  - PCF: 1 CPU Core, 1Gi RAM
  - UDR
  - UDM
  - MongoDB: 2 CPU Core, 4Gi RAM

Prepare access credential for SD-Core images
--------------------------------------------

Container images can be download from ONF self-hosted container registry but you have to gain the access token first.

1. Login to `Aether Harbor Registry <https://registry.aetherproject.org/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects>`_ using your ONF Crowd credential,
2. Select ``User Profile`` drop-down menu in the upper-right corner
3. Generate the CLI secret and it's the secret token you have to access the container registry via CLI tool.
4. Login to the container registry with your username and access token
   by ``docker login command`` to ensure you can access it.

.. code-block::

      ╰─$ docker login registry.aetherproject.org --username hwchiu
      Password:
      Login Succeeded

Deployment Options
------------------

Development Environments
""""""""""""""""""""""""

TODO - AIAB document link

Production Environments - 5G
""""""""""""""""""""""""""""

To install SD-Core into your Kubernetes cluster, follow instructions

Step1 - Clone SD-Core 5G Helm chart
'''''''''''''''''''''''''''''''''''
.. code-block::

  git clone ssh://gerrit.opencord.org:29418/sdcore-helm-charts
  cd sdcore-helm-charts/sdcore-helm-charts/
  helm dep update #Update Helm dependencies

Step2 - Prepare your Helm value for 5G
''''''''''''''''''''''''''''''''''''''

You can modify existing values.yaml directly, but we recommend composing another value
file myvalues.yaml using values.yaml as an example. We are highlighting a few things we
need to modify here. More explanation of the supported Helm values can be found in the
Configuration section below.

Step3 - Install 5G using SD-Core umbrella helm chart
''''''''''''''''''''''''''''''''''''''''''''''''''''

The following command will deploy the SD-Core helm chart with release name sdcore-4g in the sdcore-4g namespace.

.. code-block::

    helm install -n sdcore-5g --create-namespace -f myvaules.yaml sdcore-5g .

To verify the installation:

.. code-block::

    helm -n sdcore-5g ls

To uninstall:

.. code-block::

    helm -n sdcore-5g uninstall sdcore-5g
    kubectl delete namespace sdcore-5g # also remove the sdcore-5g if needed


