diff --git a/doc/architecture.md b/doc/architecture.md index ef7fcf9a38faa9536fdd57260489b48507513c07..e347e39c26546b619a9261323db3c523a60c8709 100644 --- a/doc/architecture.md +++ b/doc/architecture.md @@ -2,4 +2,35 @@ # Architecture +The CAPIF architecture has three main components, Register Service, Vault and CCF, which are represented in the following image: + + +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: + +- 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. + +## Register NS + +This namespace belongs to the Register service, and we find 2 components: + +- 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. + +## Vault NS + +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. + +## Mon NS + +This is the main namespace of CAPIF, since it contains all the CCF services in addition to other components: + +- 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. diff --git a/doc/images/architecture/New_Architecture.png b/doc/images/architecture/New_Architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef7755c59136332a25d9c4ac735fa0784d24442 Binary files /dev/null and b/doc/images/architecture/New_Architecture.png differ