Loading Dockerfile +3 −1 Original line number Diff line number Diff line Loading @@ -6,8 +6,10 @@ WORKDIR /usr/src/app COPY requirements.txt /usr/src/app/requirements.txt COPY config.yaml /usr/src/app/config.yaml ENV CAPIF_HOSTNAME="nginx" ENV CAPIF_HOSTNAME="capifcore" ENV CAPIF_PORT="8080" ENV EASY_RSA_HOSTNAME="easy-rsa" ENV EASY_RSA_PORT="8083" ENV BACKOFFICE_HOSTNAME="backoffice-microservice" ENV BACKOFFICE_PORT="8085" Loading certs/create_cert_to_capif.py +5 −5 Original line number Diff line number Diff line from dis import dis import requests import json import os Loading @@ -8,8 +7,8 @@ from OpenSSL.SSL import FILETYPE_PEM from OpenSSL.crypto import (dump_certificate_request, dump_privatekey, PKey, TYPE_RSA, X509Req) HOSTNAME = os.getenv('CAPIF_HOSTNAME') PORT = os.getenv('CAPIF_PORT') EASY_RSA_HOSTNAME = os.getenv('EASY_RSA_HOSTNAME') EASY_RSA_PORT = os.getenv('EASY_RSA_PORT') def create_csr(): Loading Loading @@ -41,7 +40,7 @@ def create_csr(): def sign_certificate(publick_key): url = f"http://{HOSTNAME}:{PORT}/sign-csr" url = f"https://{EASY_RSA_HOSTNAME}:{EASY_RSA_PORT}/sign-csr" payload = dict() payload['csr'] = publick_key.decode("utf-8") Loading @@ -64,7 +63,8 @@ def sign_certificate(publick_key): def get_ca_root(): url = f"http://{HOSTNAME}:{PORT}/ca-root" url = f"https://{EASY_RSA_HOSTNAME}:{EASY_RSA_PORT}/ca-root" headers = { 'Content-Type': "application/json" Loading core/capif_ops.py +11 −12 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ class CapifOps(): def __init__(self): self.CAPIF_HOSTNAME = os.getenv('CAPIF_HOSTNAME') self.CAPIF_PORT = os.getenv('CAPIF_PORT') self.BACKOFFICE_HOSTNAME = os.getenv('BACKOFFICE_HOSTNAME') self.BACKOFFICE_PORT = os.getenv('BACKOFFICE_PORT') self.headers = { Loading @@ -25,52 +24,52 @@ class CapifOps(): } def get_invokers(self): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/invokers" url = f"https://{self.BACKOFFICE_HOSTNAME}/invokers" response = self.__make_request(url, GET) return response def get_security_context(self, invoker_id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/resources/invokers/security/{invoker_id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/resources/invokers/security/{invoker_id}" response = self.__make_request(url, GET) return response def get_providers(self): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/providers" url = f"https://{self.BACKOFFICE_HOSTNAME}/providers" response = self.__make_request(url, GET) return response def get_provider_service(self, id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/resources/providers/services/{id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/resources/providers/services/{id}" response = self.__make_request(url, GET) return response def get_events(self, id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/events/{id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/events/{id}" response = self.__make_request(url, GET) return response def delete_security_context(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/capif-security/v1/trustedInvokers/{id}" url = f"https://{self.CAPIF_HOSTNAME}/capif-security/v1/trustedInvokers/{id}" response = self.__make_request(url, DELETE) return response def delete_provider_service(self, id, service_id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/published-apis/v1/{id}/service-apis/{service_id}" url = f"https://{self.CAPIF_HOSTNAME}/published-apis/v1/{id}/service-apis/{service_id}" response = self.__make_request(url, DELETE) return response def delete_events(self, id, subscription_id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/capif-events/v1/{id}/subscriptions/{subscription_id}" url = f"https://{self.CAPIF_HOSTNAME}/capif-events/v1/{id}/subscriptions/{subscription_id}" response = self.__make_request(url, DELETE) return response def delete_invoker(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/api-invoker-management/v1/onboardedInvokers/{id}" url = f"https://{self.CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{id}" response = self.__make_request(url, DELETE) return response def delete_provider(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/api-provider-management/v1/registrations/{id}" url = f"https://{self.CAPIF_HOSTNAME}/api-provider-management/v1/registrations/{id}" response = self.__make_request(url, DELETE) return response Loading @@ -78,7 +77,7 @@ class CapifOps(): try: if method == DELETE: response = requests.delete(url, headers=self.headers, cert=( response = requests.request(method, url, headers=self.headers, cert=( 'certs/cert_backoffice.crt', 'certs/private.key'), verify="certs/ca.crt") if response.status_code == 404: logger.error("Resource not found") Loading docker-compose.yml +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ services: extra_hosts: - host.docker.internal:host-gateway - backoffice-microservice:host-gateway - nginx:host-gateway - capifcore:host-gateway - easy-rsa:host-gateway restart: unless-stopped image: dockerhub.hi.inet/evolved-5g/capif/backoffice-backend:latest requirements.txt +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ pycparser==2.21 pydantic==1.10.4 PyJWT==1.7.1 pymongo==4.0.1 pyOpenSSL==20.0.1 pyOpenSSL python-multipart==0.0.5 PyYAML requests Loading Loading
Dockerfile +3 −1 Original line number Diff line number Diff line Loading @@ -6,8 +6,10 @@ WORKDIR /usr/src/app COPY requirements.txt /usr/src/app/requirements.txt COPY config.yaml /usr/src/app/config.yaml ENV CAPIF_HOSTNAME="nginx" ENV CAPIF_HOSTNAME="capifcore" ENV CAPIF_PORT="8080" ENV EASY_RSA_HOSTNAME="easy-rsa" ENV EASY_RSA_PORT="8083" ENV BACKOFFICE_HOSTNAME="backoffice-microservice" ENV BACKOFFICE_PORT="8085" Loading
certs/create_cert_to_capif.py +5 −5 Original line number Diff line number Diff line from dis import dis import requests import json import os Loading @@ -8,8 +7,8 @@ from OpenSSL.SSL import FILETYPE_PEM from OpenSSL.crypto import (dump_certificate_request, dump_privatekey, PKey, TYPE_RSA, X509Req) HOSTNAME = os.getenv('CAPIF_HOSTNAME') PORT = os.getenv('CAPIF_PORT') EASY_RSA_HOSTNAME = os.getenv('EASY_RSA_HOSTNAME') EASY_RSA_PORT = os.getenv('EASY_RSA_PORT') def create_csr(): Loading Loading @@ -41,7 +40,7 @@ def create_csr(): def sign_certificate(publick_key): url = f"http://{HOSTNAME}:{PORT}/sign-csr" url = f"https://{EASY_RSA_HOSTNAME}:{EASY_RSA_PORT}/sign-csr" payload = dict() payload['csr'] = publick_key.decode("utf-8") Loading @@ -64,7 +63,8 @@ def sign_certificate(publick_key): def get_ca_root(): url = f"http://{HOSTNAME}:{PORT}/ca-root" url = f"https://{EASY_RSA_HOSTNAME}:{EASY_RSA_PORT}/ca-root" headers = { 'Content-Type': "application/json" Loading
core/capif_ops.py +11 −12 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ class CapifOps(): def __init__(self): self.CAPIF_HOSTNAME = os.getenv('CAPIF_HOSTNAME') self.CAPIF_PORT = os.getenv('CAPIF_PORT') self.BACKOFFICE_HOSTNAME = os.getenv('BACKOFFICE_HOSTNAME') self.BACKOFFICE_PORT = os.getenv('BACKOFFICE_PORT') self.headers = { Loading @@ -25,52 +24,52 @@ class CapifOps(): } def get_invokers(self): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/invokers" url = f"https://{self.BACKOFFICE_HOSTNAME}/invokers" response = self.__make_request(url, GET) return response def get_security_context(self, invoker_id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/resources/invokers/security/{invoker_id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/resources/invokers/security/{invoker_id}" response = self.__make_request(url, GET) return response def get_providers(self): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/providers" url = f"https://{self.BACKOFFICE_HOSTNAME}/providers" response = self.__make_request(url, GET) return response def get_provider_service(self, id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/resources/providers/services/{id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/resources/providers/services/{id}" response = self.__make_request(url, GET) return response def get_events(self, id): url = f"https://{self.BACKOFFICE_HOSTNAME}:{self.BACKOFFICE_PORT}/events/{id}" url = f"https://{self.BACKOFFICE_HOSTNAME}/events/{id}" response = self.__make_request(url, GET) return response def delete_security_context(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/capif-security/v1/trustedInvokers/{id}" url = f"https://{self.CAPIF_HOSTNAME}/capif-security/v1/trustedInvokers/{id}" response = self.__make_request(url, DELETE) return response def delete_provider_service(self, id, service_id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/published-apis/v1/{id}/service-apis/{service_id}" url = f"https://{self.CAPIF_HOSTNAME}/published-apis/v1/{id}/service-apis/{service_id}" response = self.__make_request(url, DELETE) return response def delete_events(self, id, subscription_id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/capif-events/v1/{id}/subscriptions/{subscription_id}" url = f"https://{self.CAPIF_HOSTNAME}/capif-events/v1/{id}/subscriptions/{subscription_id}" response = self.__make_request(url, DELETE) return response def delete_invoker(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/api-invoker-management/v1/onboardedInvokers/{id}" url = f"https://{self.CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{id}" response = self.__make_request(url, DELETE) return response def delete_provider(self, id): url = f"https://{self.CAPIF_HOSTNAME}:{self.CAPIF_PORT}/api-provider-management/v1/registrations/{id}" url = f"https://{self.CAPIF_HOSTNAME}/api-provider-management/v1/registrations/{id}" response = self.__make_request(url, DELETE) return response Loading @@ -78,7 +77,7 @@ class CapifOps(): try: if method == DELETE: response = requests.delete(url, headers=self.headers, cert=( response = requests.request(method, url, headers=self.headers, cert=( 'certs/cert_backoffice.crt', 'certs/private.key'), verify="certs/ca.crt") if response.status_code == 404: logger.error("Resource not found") Loading
docker-compose.yml +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ services: extra_hosts: - host.docker.internal:host-gateway - backoffice-microservice:host-gateway - nginx:host-gateway - capifcore:host-gateway - easy-rsa:host-gateway restart: unless-stopped image: dockerhub.hi.inet/evolved-5g/capif/backoffice-backend:latest
requirements.txt +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ pycparser==2.21 pydantic==1.10.4 PyJWT==1.7.1 pymongo==4.0.1 pyOpenSSL==20.0.1 pyOpenSSL python-multipart==0.0.5 PyYAML requests Loading