...
The CAPIF APIs are generated from the OpenAPI specifications provided by 3GPP. The generate.sh script downloads the specifications from 3GPP, fixes them and then generates the APIs. While these files are checked into the repo, they can be re-generated using generate.sh. For details on running generate.sh, please see the sme/servicemanager/README.md. The specifications are downloaded from the following site; https://www.3gpp.org/ftp/Specs/archive/29_series. To see the APIs in swagger format, see the following link; https://github.com/jdegre/5GC_APIs/tree/Rel-17#common-api-framework-capif.
CAPIF core function APIs implemented by Service Manager
The table below lists the CAPIF Core Function APIs that are currently implemented in Service Manager. The Service Names are listed in the order that they would typically be called.
...
There are 2 ways that we can deploy Service Manager on Kubernetes. We can use the stand-alone scripts in the the Service Manager repo, or we can use the it/dep repo to deploy Service Manager as part of a Non Real-time RIC deployment. The stand-alone scripts were developed first, and were used in development. The it/dep deployment is more suitable for operational use.
Stand-alone Deployment on Kubernetes
For a stand-alone development deployment, please see the deploy folder for configurations to deploy Service Manager to Kubernetes. We need the following steps.
- Deploy a PV for Kong's Postgres database (depends on your Kubernetes cluster)
- Deploy a PVC for Kong's Postgres database
- Deploy Kong with Postgres
- Deploy Capifcore
- Deploy Service Manager
...
When Service Manager starts, it reads a .env file where you can configure information such as the Kong control and data planes' host and port, the CAPIF host and port, and the Service Manager port.
Sample .env
Code Block | ||
---|---|---|
| ||
KONG_DOMAIN=<string> KONG_PROTOCOL=<http or https protocol scheme> KONG_IPV4=<host string> KONG_DATA_PLANE_PORT=<port number> KONG_CONTROL_PLANE_PORT=<port number> CAPIF_PROTOCOL=<http or https protocol scheme> CAPIF_IPV4=<host> CAPIF_PORT=<port number> LOG_LEVEL=<Trace, Debug, Info, Warning, Error, Fatal or Panic> SERVICE_MANAGER_PORT=<port number> TEST_SERVICE_IPV4=<host string> TEST_SERVICE_PORT=<port number> |
...
nonrtric:
installPms: false
installA1controller: false
installA1simulator: false
installControlpanel: false
installInformationservice: false
installRappcatalogueservice: false
installRappcatalogueenhancedservice: false
installNonrtricgateway: false
installKong: true
installDmaapadapterservice: false
installDmaapmediatorservice: false
installHelmmanager: false
installOrufhrecovery: false
installRansliceassurance: false
installCapifcore: true
installServicemanager: true
installRanpm: false
# rApp Manager functionality relies on ACM for its operation
installrAppmanager: false
# DME Participant should only be activated when ACM installation is available for this participant to utilize
installDmeParticipant: false
.env Mounting
For both the stand-alone and it/dep deployments, the .env file is volume-mounted into the Docker container from a Kubernetes config map at container run-time.
Kong Clean Up
Please note that when doing an undeployment, we remove any Kong services and routes that are flagged with each of the following tags.
...