# CAPIF_Provider_ONE This is the implementation of a Provider (AEF) for the Opennebula service ## Prerequisites In order to use the Provider you must use the public CAPIF or create a [CAPIF](https://github.com/EVOLVED-5G/CAPIF_API_Services) instance. ## Important This code is intended for testing in a local docker environment. If it is going to be deployed in an environment such as kubernetes, it is necessary to make modifications to the following file: ``` ./capif_ops/config_files/service_api_description_one.json ``` ``` "ipv4Addr": ``` ## Set Up This repo is designed to be executed from docker, to create the images and raise the instance it is only necessary to execute the following command: ``` ./run.sh ``` - Before executing the run.sh command, note that it supports one parameter, this parameter is the CAPIF hostname, by default this field is 'capifcore'. Modify it if necessary or add the hostname when executing the run.sh command ``` ./run.sh ``` - It is important to have the following environment variables in the docker-compose file: ``` - REGISTER_HOSTNAME = register - CAPIF_PORT=8080 - REGISTER_PORT=8084 extra_hosts: - host.docker.internal:host-gateway - capifcore:host-gateway - register:host-gateway ``` By default, these are the ports and names that the CAPIF script uses when launching the different services. If during the deployment of CAPIF you modify these parameters, you must modify them so that they correspond to the new ones. If the hostname environment variables are modified, the extra host must also be modified so that the hostnames correspond and be able to reach the services deployed in docker. Now it is only necessary to enter inside the container by executing this command ``` ./terminal_to_py_aef.sh ``` Once inside the container you can run the provider command GUI by running ``` ./python main.py ``` ## Interacting with the GUI The provider is prepared to make the necessary previous provisions automatically. The different .json files that must be saved in CAPIF are also added. To make the necessary provisions you just have to execute the following commands within the GUI ``` register_provider ``` ``` publish_service ``` *If the first command returns a 401, it means that the token to interact the first time with CAPIF has expired, run the following command ``` provider_get_auth ``` ## Run ONE Service This service has Apified some of the functions of ONE. To start the service run the following command: ``` python service/service_oauth.py ``` - It is necessary to modify the URL and the ONE credentials to be used in the python service itself The endpoints that are implemented are the following ``` /hello [POST] Request Body: { "name": "ocf_user" } ```