Skip to content
Snippets Groups Projects
architecture.md 2.09 KiB
Newer Older
<img src="../images/logos/OpenCAPIF.png" alt="drawing" width="200"/>

torrespel's avatar
torrespel committed
# **Architecture**
torrespel's avatar
torrespel committed
The CAPIF architecture has three main components, Register Service, Vault and CCF, which are represented in the following image:
torrespel's avatar
torrespel committed
![New Architecture](./images/architecture/New_Architecture.png)

Each component is separated into different namespaces and all communications between them use Rest APIs.

Apart from the communication between components, there are 2 other entities that can use them:

torrespel's avatar
torrespel committed
- **Admin/superadmin**: Responsible for managing users with the Register or carrying out special operations in the CCF.
- **Users**: They are those who want to use CAPIF, registering as a user in the Register and as Invoker or Provider in the CCF.
torrespel's avatar
torrespel committed

torrespel's avatar
torrespel committed
## **Register NS**
torrespel's avatar
torrespel committed

This namespace belongs to the Register service, and we find 2 components:

torrespel's avatar
torrespel committed
- **Register Service**: It is responsible for managing all users who use CAPIF, in addition to providing the necessary information for its use.
- **Register MONGO DATABASE**: It is the Register database, in it we store all the information about registered users.
torrespel's avatar
torrespel committed

torrespel's avatar
torrespel committed
## **Vault NS**
torrespel's avatar
torrespel committed

This namespace belongs to Vault. 

This component is responsible for managing all CAPIF certificates, so other components such as the Register or the CCF communicate with it to create new certificates or request keys.

torrespel's avatar
torrespel committed
## **Mon NS**
torrespel's avatar
torrespel committed

This is the main namespace of CAPIF, since it contains all the CCF services in addition to other components:

torrespel's avatar
torrespel committed
- **NGINX**: Responsible for acting as a reverse proxy to distribute CAPIF requests to the different services, controlling whether or not they are authorized to access them.
- **REDIS**: Used for internal communication of services.
- **CAPIF MONGO DATABASE**: CAPIF database, where all information related to CAPIF services such as invokers, registered providers or published services is stored.
- **HELPER**: Service that simplifies integration with third parties such as external management portals.
torrespel's avatar
torrespel committed

## **New Architecture**

You can check the details of all these changes in the conversation on the [OCF wiki](https://labs.etsi.org/rep/ocf/community/-/wikis/New%20architecture).