Loading capif_backend/backoffice_service/__main__.py +77 −58 Original line number Diff line number Diff line Loading @@ -11,72 +11,85 @@ from flask_cors import CORS # Create Flask app app = Flask(__name__) CORS(app) CORS(app) # habilita CORS para todas las rutas en la aplicación # Register blueprints (routes) # other option modify URL -> app.register_blueprint(backoffice_routes, url_prefix="/resources") app.register_blueprint(backoffice_routes) app.register_blueprint(access_routes) # @app.route("/options", methods=["OPTIONS"]) # def handle_options(): # return "", 200 @app.route('/', defaults={'path': ''}) @app.route('/<path:path>', methods=['OPTIONS']) def handle_options(path): return 'Success', 200 # Configure JWT app.config["JWT_SECRET_KEY"] = "super-secret" jwt = JWTManager(app) # create public/PRIVATE key key = PKey() key.generate_key(TYPE_RSA, 2048) # Generate CSR req = X509Req() req.get_subject().O = 'Telefonica I+D' req.get_subject().OU = 'Innovation' req.get_subject().L = 'Madrid' req.get_subject().ST = 'Madrid' req.get_subject().C = 'ES' req.get_subject().emailAddress = 'inno@tid.es' req.set_pubkey(key) req.sign(key, 'sha256') # Get CSR csr_request = dump_certificate_request(FILETYPE_PEM, req) # Get private key private_key = dump_privatekey(FILETYPE_PEM, key) # Get ca.cert from vault config = Config().get_config() # get configuration from config.py url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/secret/data/ca headers = {'X-Vault-Token': config['ca_factory']['token']} response = requests.request("GET", url, headers=headers, verify = False) ca_cert = json.loads(response.text)["data"]["data"]["ca"] # Request Vault a CA certificate to backoffice application url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/pki_int/sign/my-ca headers = {'X-Vault-Token': config['ca_factory']['token']} # token = dev-only-token data = { 'format':'pem_bundle', 'ttl': '43000h', 'csr': csr_request, 'common_name': "superadmin" } response = requests.request("POST", url, headers=headers, data=data, verify = False) backoffice_cert = json.loads(response.text)['data']['certificate'] # Save ca_cert ca_file = open('./backoffice_service/certs/ca.crt', 'wb+') ca_file.write(bytes(ca_cert, 'utf-8')) ca_file.close() # Save private_key private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+') private_key_file.write(private_key) private_key_file.close() # Save backoffice_cert certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+') certification_file.write(bytes(backoffice_cert, 'utf-8')) certification_file.close() # # create public/PRIVATE key # key = PKey() # key.generate_key(TYPE_RSA, 2048) # # Generate CSR # req = X509Req() # req.get_subject().O = 'Telefonica I+D' # req.get_subject().OU = 'Innovation' # req.get_subject().L = 'Madrid' # req.get_subject().ST = 'Madrid' # req.get_subject().C = 'ES' # req.get_subject().emailAddress = 'inno@tid.es' # req.set_pubkey(key) # req.sign(key, 'sha256') # # Get CSR # csr_request = dump_certificate_request(FILETYPE_PEM, req) # # Get private key # private_key = dump_privatekey(FILETYPE_PEM, key) # # Get ca.cert from vault # config = Config().get_config() # get configuration from config.py # url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/secret/data/ca # headers = {'X-Vault-Token': config['ca_factory']['token']} # response = requests.request("GET", url, headers=headers, verify = False) # ca_cert = json.loads(response.text)["data"]["data"]["ca"] # # Request Vault a CA certificate to backoffice application # url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/pki_int/sign/my-ca # headers = {'X-Vault-Token': config['ca_factory']['token']} # token = dev-only-token # data = { # 'format':'pem_bundle', # 'ttl': '43000h', # 'csr': csr_request, # 'common_name': "superadmin" # } # response = requests.request("POST", url, headers=headers, data=data, verify = False) # backoffice_cert = json.loads(response.text)['data']['certificate'] # # Save ca_cert # ca_file = open('./backoffice_service/certs/ca.crt', 'wb+') # ca_file.write(bytes(ca_cert, 'utf-8')) # ca_file.close() # # Save private_key # private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+') # private_key_file.write(private_key) # private_key_file.close() # # Save backoffice_cert # certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+') # certification_file.write(bytes(backoffice_cert, 'utf-8')) # certification_file.close() #---------------------------------------- # launch Loading @@ -85,5 +98,11 @@ certification_file.close() # the applicacions starts here in every interface and port 8080 # ssl -> contains backoffice_cert.crt and backoffice_key.key if __name__ == "__main__": app.run(debug=True, host='0.0.0.0', port=8080, ssl_context=( "/usr/src/app/backoffice_service/certs/backoffice_cert.crt", "/usr/src/app/backoffice_service/certs/backoffice_key.key")) app.run(debug=True, host='0.0.0.0', port=8080) # NOS LO FUMAMOS -> SSL # if __name__ == "__main__": # app.run(debug=True, host='0.0.0.0', port=8080, ssl_context=( # "/usr/src/app/backoffice_service/certs/backoffice_cert.crt", "/usr/src/app/backoffice_service/certs/backoffice_key.key")) capif_backend/backoffice_service/controllers/default_controller.py +18 −0 Original line number Diff line number Diff line Loading @@ -3,33 +3,39 @@ from flask import Blueprint, jsonify from ..core.operations import Operations from flask_jwt_extended import jwt_required, get_jwt_identity from flask_cors import cross_origin # create blueprint backoffice_routes backoffice_routes = Blueprint("backoffice_routes", __name__) operations = Operations() # create operations object -> operations.py @cross_origin() @backoffice_routes.route("/resources/invokers", methods=["GET"]) @jwt_required() def get_invokers(): return operations.get_invokers() @cross_origin() @backoffice_routes.route("/resources/numInvokers", methods=["GET"]) @jwt_required() def get_num_ixnvokers(): return operations.get_num_invokers() @cross_origin() @backoffice_routes.route("/resources/providers", methods=["GET"]) @jwt_required() def get_providers(): return operations.get_providers() @cross_origin() @backoffice_routes.route("/resources/numProviders", methods=["GET"]) @jwt_required() def get_num_providers(): return operations.get_num_providers() @cross_origin() @backoffice_routes.route("/resources/invokers/security/<invoker_id>", methods=["GET"]) @jwt_required() def get_invoker_security_context(invoker_id): Loading @@ -39,6 +45,7 @@ def get_invoker_security_context(invoker_id): return operations.get_invoker_security_context(invoker_id) @cross_origin() @backoffice_routes.route("/events/<id>", methods=["GET"]) @jwt_required() def get_events(id): Loading @@ -47,6 +54,7 @@ def get_events(id): return operations.get_events(id) @cross_origin() @backoffice_routes.route("/resources/providers/services/<id>", methods=["GET"]) @jwt_required() def get_provider_services(id): Loading @@ -54,6 +62,7 @@ def get_provider_services(id): return jsonify(message="Invalid apf_id", object=None), 400 return operations.get_provider_services(id) @cross_origin() @backoffice_routes.route("/resources/users/<name>", methods=["GET"]) @jwt_required() def get_capif_user(name): Loading @@ -61,6 +70,7 @@ def get_capif_user(name): return jsonify(message="Invalid name", object=None), 400 return operations.get_user(name) @cross_origin() @backoffice_routes.route("/users", methods=["GET"]) @jwt_required() def get_capif_users(): Loading @@ -68,6 +78,7 @@ def get_capif_users(): return jsonify(message="Invalid id", object=None), 400 return operations.get_users() @cross_origin() @backoffice_routes.route("/resources/numUsers", methods=["GET"]) @jwt_required() def get_capif_num_users(): Loading @@ -75,6 +86,7 @@ def get_capif_num_users(): return jsonify(message="Invalid id", object=None), 400 return operations.get_num_user() @cross_origin() @backoffice_routes.route("/invokers/<id>", methods=["DELETE"]) @jwt_required() def delete_invoker(id): Loading @@ -82,6 +94,7 @@ def delete_invoker(id): return jsonify(message="Invalid id", object=None), 400 return operations.delete_invoker(id) @cross_origin() @backoffice_routes.route("/providers/<id>", methods=["DELETE"]) @jwt_required() def delete_provider(id): Loading @@ -96,6 +109,7 @@ def delete_provider(id): # return jsonify(message="Invalid id", object=None), 400 # return operations.delete_user(id) @cross_origin() @backoffice_routes.route("/invokers/security/<invoker_id>/<aef_id>/<api_id>", methods=["DELETE"]) @jwt_required() def delete_security_context(invoker_id, aef_id, api_id): Loading @@ -104,6 +118,7 @@ def delete_security_context(invoker_id, aef_id, api_id): return operations.delete_security_context(invoker_id, aef_id, api_id) @cross_origin() @backoffice_routes.route("/providers/services/<apf_id>/<api_id>", methods=["DELETE"]) @jwt_required() def delete_provider_service(apf_id, api_id): Loading @@ -111,6 +126,7 @@ def delete_provider_service(apf_id, api_id): return jsonify(message="Invalid parameters", object=None), 400 return operations.delete_provider_service(apf_id, api_id) @cross_origin() @backoffice_routes.route("/user/<username>/<password>", methods=["DELETE"]) @jwt_required() def delete_user(username, password): Loading @@ -118,11 +134,13 @@ def delete_user(username, password): return jsonify(message="Invalid parameters", object=None), 400 return operations.delete_user(username, password) @cross_origin() @backoffice_routes.route("/apis", methods=["GET"]) @jwt_required() def get_apis(): return operations.get_apis() @cross_origin() @backoffice_routes.route("/apis/num", methods=["GET"]) @jwt_required() def get_num_apis(): Loading capif_backend/backoffice_service/controllers/login.py +20 −12 Original line number Diff line number Diff line #!/usr/bin/env python3 from flask import Blueprint, jsonify, request from flask_jwt_extended import JWTManager, create_access_token, create_refresh_token, get_jwt_identity, jwt_required from flask_cors import cross_origin # create blueprint backoffice_routes access_routes = Blueprint("acces_routes", __name__) @access_routes.route("/login", methods=["POST"]) @cross_origin() @access_routes.route("/login", methods=["POST", "OPTIONS"]) def login(): if request.method == "POST": username = request.form.get("username", None) password = request.form.get("password", None) Loading @@ -23,6 +26,10 @@ def login(): return jsonify(access_token=access_token, refresh_token=refresh_token) elif request.method == "OPTIONS": return jsonify("messaje: options CORS OK"), 200 @cross_origin() @access_routes.route('/refresh', methods=["POST"]) @jwt_required def refresh(): Loading @@ -34,6 +41,7 @@ def refresh(): # 401 si el token no es válido, para que el front lo refresque # 200 si es válido @cross_origin() @access_routes.route('/auth/me', methods=["GET"]) @jwt_required() def authme(): Loading capif_backend/backoffice_service/db/db.py +5 −2 Original line number Diff line number Diff line Loading @@ -33,7 +33,10 @@ class MongoDatabse(): # print ("MONGO HOSTNAME: ", mongo_hostname) # print ("MONGO PORT: ", mongo_port) uri = f"mongodb://{self.config['mongo']['user']}:{self.config['mongo']['password']}@mongo:27017" uri1 = f"mongodb://{self.config['mongo']['user']}:{self.config['mongo']['password']}@mongo:27017" print ("URI MONGO: ", uri1) uri = "mongodb://root:example@mongo:27017" print ("URI MONGO: ", uri) #uri = "mongodb://" + self.config['mongo']['user'] + ":" + self.config['mongo']['password'] + "@" + os.getenv('MONGO_HOSTNAME') + ":" + os.getenv('MONGO_PORT') Loading docker-compose.yml +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ services: - host.docker.internal:host-gateway - capifcore:host-gateway - register:host-gateway - mongo:host-gateway - vault:host-gateway environment: - CAPIF_HOSTNAME=capifcore Loading Loading
capif_backend/backoffice_service/__main__.py +77 −58 Original line number Diff line number Diff line Loading @@ -11,72 +11,85 @@ from flask_cors import CORS # Create Flask app app = Flask(__name__) CORS(app) CORS(app) # habilita CORS para todas las rutas en la aplicación # Register blueprints (routes) # other option modify URL -> app.register_blueprint(backoffice_routes, url_prefix="/resources") app.register_blueprint(backoffice_routes) app.register_blueprint(access_routes) # @app.route("/options", methods=["OPTIONS"]) # def handle_options(): # return "", 200 @app.route('/', defaults={'path': ''}) @app.route('/<path:path>', methods=['OPTIONS']) def handle_options(path): return 'Success', 200 # Configure JWT app.config["JWT_SECRET_KEY"] = "super-secret" jwt = JWTManager(app) # create public/PRIVATE key key = PKey() key.generate_key(TYPE_RSA, 2048) # Generate CSR req = X509Req() req.get_subject().O = 'Telefonica I+D' req.get_subject().OU = 'Innovation' req.get_subject().L = 'Madrid' req.get_subject().ST = 'Madrid' req.get_subject().C = 'ES' req.get_subject().emailAddress = 'inno@tid.es' req.set_pubkey(key) req.sign(key, 'sha256') # Get CSR csr_request = dump_certificate_request(FILETYPE_PEM, req) # Get private key private_key = dump_privatekey(FILETYPE_PEM, key) # Get ca.cert from vault config = Config().get_config() # get configuration from config.py url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/secret/data/ca headers = {'X-Vault-Token': config['ca_factory']['token']} response = requests.request("GET", url, headers=headers, verify = False) ca_cert = json.loads(response.text)["data"]["data"]["ca"] # Request Vault a CA certificate to backoffice application url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/pki_int/sign/my-ca headers = {'X-Vault-Token': config['ca_factory']['token']} # token = dev-only-token data = { 'format':'pem_bundle', 'ttl': '43000h', 'csr': csr_request, 'common_name': "superadmin" } response = requests.request("POST", url, headers=headers, data=data, verify = False) backoffice_cert = json.loads(response.text)['data']['certificate'] # Save ca_cert ca_file = open('./backoffice_service/certs/ca.crt', 'wb+') ca_file.write(bytes(ca_cert, 'utf-8')) ca_file.close() # Save private_key private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+') private_key_file.write(private_key) private_key_file.close() # Save backoffice_cert certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+') certification_file.write(bytes(backoffice_cert, 'utf-8')) certification_file.close() # # create public/PRIVATE key # key = PKey() # key.generate_key(TYPE_RSA, 2048) # # Generate CSR # req = X509Req() # req.get_subject().O = 'Telefonica I+D' # req.get_subject().OU = 'Innovation' # req.get_subject().L = 'Madrid' # req.get_subject().ST = 'Madrid' # req.get_subject().C = 'ES' # req.get_subject().emailAddress = 'inno@tid.es' # req.set_pubkey(key) # req.sign(key, 'sha256') # # Get CSR # csr_request = dump_certificate_request(FILETYPE_PEM, req) # # Get private key # private_key = dump_privatekey(FILETYPE_PEM, key) # # Get ca.cert from vault # config = Config().get_config() # get configuration from config.py # url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/secret/data/ca # headers = {'X-Vault-Token': config['ca_factory']['token']} # response = requests.request("GET", url, headers=headers, verify = False) # ca_cert = json.loads(response.text)["data"]["data"]["ca"] # # Request Vault a CA certificate to backoffice application # url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT')) # http://vault:8200/v1/pki_int/sign/my-ca # headers = {'X-Vault-Token': config['ca_factory']['token']} # token = dev-only-token # data = { # 'format':'pem_bundle', # 'ttl': '43000h', # 'csr': csr_request, # 'common_name': "superadmin" # } # response = requests.request("POST", url, headers=headers, data=data, verify = False) # backoffice_cert = json.loads(response.text)['data']['certificate'] # # Save ca_cert # ca_file = open('./backoffice_service/certs/ca.crt', 'wb+') # ca_file.write(bytes(ca_cert, 'utf-8')) # ca_file.close() # # Save private_key # private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+') # private_key_file.write(private_key) # private_key_file.close() # # Save backoffice_cert # certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+') # certification_file.write(bytes(backoffice_cert, 'utf-8')) # certification_file.close() #---------------------------------------- # launch Loading @@ -85,5 +98,11 @@ certification_file.close() # the applicacions starts here in every interface and port 8080 # ssl -> contains backoffice_cert.crt and backoffice_key.key if __name__ == "__main__": app.run(debug=True, host='0.0.0.0', port=8080, ssl_context=( "/usr/src/app/backoffice_service/certs/backoffice_cert.crt", "/usr/src/app/backoffice_service/certs/backoffice_key.key")) app.run(debug=True, host='0.0.0.0', port=8080) # NOS LO FUMAMOS -> SSL # if __name__ == "__main__": # app.run(debug=True, host='0.0.0.0', port=8080, ssl_context=( # "/usr/src/app/backoffice_service/certs/backoffice_cert.crt", "/usr/src/app/backoffice_service/certs/backoffice_key.key"))
capif_backend/backoffice_service/controllers/default_controller.py +18 −0 Original line number Diff line number Diff line Loading @@ -3,33 +3,39 @@ from flask import Blueprint, jsonify from ..core.operations import Operations from flask_jwt_extended import jwt_required, get_jwt_identity from flask_cors import cross_origin # create blueprint backoffice_routes backoffice_routes = Blueprint("backoffice_routes", __name__) operations = Operations() # create operations object -> operations.py @cross_origin() @backoffice_routes.route("/resources/invokers", methods=["GET"]) @jwt_required() def get_invokers(): return operations.get_invokers() @cross_origin() @backoffice_routes.route("/resources/numInvokers", methods=["GET"]) @jwt_required() def get_num_ixnvokers(): return operations.get_num_invokers() @cross_origin() @backoffice_routes.route("/resources/providers", methods=["GET"]) @jwt_required() def get_providers(): return operations.get_providers() @cross_origin() @backoffice_routes.route("/resources/numProviders", methods=["GET"]) @jwt_required() def get_num_providers(): return operations.get_num_providers() @cross_origin() @backoffice_routes.route("/resources/invokers/security/<invoker_id>", methods=["GET"]) @jwt_required() def get_invoker_security_context(invoker_id): Loading @@ -39,6 +45,7 @@ def get_invoker_security_context(invoker_id): return operations.get_invoker_security_context(invoker_id) @cross_origin() @backoffice_routes.route("/events/<id>", methods=["GET"]) @jwt_required() def get_events(id): Loading @@ -47,6 +54,7 @@ def get_events(id): return operations.get_events(id) @cross_origin() @backoffice_routes.route("/resources/providers/services/<id>", methods=["GET"]) @jwt_required() def get_provider_services(id): Loading @@ -54,6 +62,7 @@ def get_provider_services(id): return jsonify(message="Invalid apf_id", object=None), 400 return operations.get_provider_services(id) @cross_origin() @backoffice_routes.route("/resources/users/<name>", methods=["GET"]) @jwt_required() def get_capif_user(name): Loading @@ -61,6 +70,7 @@ def get_capif_user(name): return jsonify(message="Invalid name", object=None), 400 return operations.get_user(name) @cross_origin() @backoffice_routes.route("/users", methods=["GET"]) @jwt_required() def get_capif_users(): Loading @@ -68,6 +78,7 @@ def get_capif_users(): return jsonify(message="Invalid id", object=None), 400 return operations.get_users() @cross_origin() @backoffice_routes.route("/resources/numUsers", methods=["GET"]) @jwt_required() def get_capif_num_users(): Loading @@ -75,6 +86,7 @@ def get_capif_num_users(): return jsonify(message="Invalid id", object=None), 400 return operations.get_num_user() @cross_origin() @backoffice_routes.route("/invokers/<id>", methods=["DELETE"]) @jwt_required() def delete_invoker(id): Loading @@ -82,6 +94,7 @@ def delete_invoker(id): return jsonify(message="Invalid id", object=None), 400 return operations.delete_invoker(id) @cross_origin() @backoffice_routes.route("/providers/<id>", methods=["DELETE"]) @jwt_required() def delete_provider(id): Loading @@ -96,6 +109,7 @@ def delete_provider(id): # return jsonify(message="Invalid id", object=None), 400 # return operations.delete_user(id) @cross_origin() @backoffice_routes.route("/invokers/security/<invoker_id>/<aef_id>/<api_id>", methods=["DELETE"]) @jwt_required() def delete_security_context(invoker_id, aef_id, api_id): Loading @@ -104,6 +118,7 @@ def delete_security_context(invoker_id, aef_id, api_id): return operations.delete_security_context(invoker_id, aef_id, api_id) @cross_origin() @backoffice_routes.route("/providers/services/<apf_id>/<api_id>", methods=["DELETE"]) @jwt_required() def delete_provider_service(apf_id, api_id): Loading @@ -111,6 +126,7 @@ def delete_provider_service(apf_id, api_id): return jsonify(message="Invalid parameters", object=None), 400 return operations.delete_provider_service(apf_id, api_id) @cross_origin() @backoffice_routes.route("/user/<username>/<password>", methods=["DELETE"]) @jwt_required() def delete_user(username, password): Loading @@ -118,11 +134,13 @@ def delete_user(username, password): return jsonify(message="Invalid parameters", object=None), 400 return operations.delete_user(username, password) @cross_origin() @backoffice_routes.route("/apis", methods=["GET"]) @jwt_required() def get_apis(): return operations.get_apis() @cross_origin() @backoffice_routes.route("/apis/num", methods=["GET"]) @jwt_required() def get_num_apis(): Loading
capif_backend/backoffice_service/controllers/login.py +20 −12 Original line number Diff line number Diff line #!/usr/bin/env python3 from flask import Blueprint, jsonify, request from flask_jwt_extended import JWTManager, create_access_token, create_refresh_token, get_jwt_identity, jwt_required from flask_cors import cross_origin # create blueprint backoffice_routes access_routes = Blueprint("acces_routes", __name__) @access_routes.route("/login", methods=["POST"]) @cross_origin() @access_routes.route("/login", methods=["POST", "OPTIONS"]) def login(): if request.method == "POST": username = request.form.get("username", None) password = request.form.get("password", None) Loading @@ -23,6 +26,10 @@ def login(): return jsonify(access_token=access_token, refresh_token=refresh_token) elif request.method == "OPTIONS": return jsonify("messaje: options CORS OK"), 200 @cross_origin() @access_routes.route('/refresh', methods=["POST"]) @jwt_required def refresh(): Loading @@ -34,6 +41,7 @@ def refresh(): # 401 si el token no es válido, para que el front lo refresque # 200 si es válido @cross_origin() @access_routes.route('/auth/me', methods=["GET"]) @jwt_required() def authme(): Loading
capif_backend/backoffice_service/db/db.py +5 −2 Original line number Diff line number Diff line Loading @@ -33,7 +33,10 @@ class MongoDatabse(): # print ("MONGO HOSTNAME: ", mongo_hostname) # print ("MONGO PORT: ", mongo_port) uri = f"mongodb://{self.config['mongo']['user']}:{self.config['mongo']['password']}@mongo:27017" uri1 = f"mongodb://{self.config['mongo']['user']}:{self.config['mongo']['password']}@mongo:27017" print ("URI MONGO: ", uri1) uri = "mongodb://root:example@mongo:27017" print ("URI MONGO: ", uri) #uri = "mongodb://" + self.config['mongo']['user'] + ":" + self.config['mongo']['password'] + "@" + os.getenv('MONGO_HOSTNAME') + ":" + os.getenv('MONGO_PORT') Loading
docker-compose.yml +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ services: - host.docker.internal:host-gateway - capifcore:host-gateway - register:host-gateway - mongo:host-gateway - vault:host-gateway environment: - CAPIF_HOSTNAME=capifcore Loading