Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit d1cb123b authored by Andre Marcelo FERREIRA FREIRE TEIXEIRA's avatar Andre Marcelo FERREIRA FREIRE TEIXEIRA
Browse files

Some improvements in csui application

parent 20c3cd0e
Branches EDELIVERY-13982-upgrade-libraries-and-plugins
No related tags found
No related merge requests found
...@@ -5,6 +5,20 @@ import base64 ...@@ -5,6 +5,20 @@ import base64
import socket import socket
from library.vault.client import clientV from library.vault.client import clientV
#approle: csui-change-mgmt-dev
#role_id a3b2fdf3-8e8a-55d9-2688-13409145c7b2
#secret_id fc9674f1-5187-51e8-f8c8-29273b5f6951
#read access to: apps-kv/dev/SNOW/*
#approle: csui-change-mgmt-acc
#role_id 0743cc2f-ee65-3bf8-fe3d-27550db27d00
#secret_id 225cc7f7-1e02-aca8-d84b-45da9a605012
#read access to: apps-kv/acc/SNOW/*
#approle: csui-change-mgmt-prod
#role_id 041f50d0-ece2-f9d7-8155-cbe2377081a8
#secret_id d83c9e67-98d0-9d51-afa0-0a4c680aa0ad
#read access to: apps-kv/prod/SNOW/*
HOSTNAME = socket.getfqdn() HOSTNAME = socket.getfqdn()
IS_DEV = ('.dev.' in HOSTNAME) IS_DEV = ('.dev.' in HOSTNAME)
...@@ -22,28 +36,43 @@ namespace_used = "EC/DIGIT_C4_SNET_ADMIN-ACC" ...@@ -22,28 +36,43 @@ namespace_used = "EC/DIGIT_C4_SNET_ADMIN-ACC"
base_url = "https://digituat.service-now.com/api/emdig/v1/itsm" base_url = "https://digituat.service-now.com/api/emdig/v1/itsm"
vault_url = "https://sam-hcavault.cec.eu.int" vault_url = "https://sam-hcavault.cec.eu.int"
#approle: csui-change-mgmt-dev
#role_id a3b2fdf3-8e8a-55d9-2688-13409145c7b2
#secret_id fc9674f1-5187-51e8-f8c8-29273b5f6951
#read access to: apps-kv/dev/SNOW/*
#approle: csui-change-mgmt-acc
#role_id 0743cc2f-ee65-3bf8-fe3d-27550db27d00
#secret_id 225cc7f7-1e02-aca8-d84b-45da9a605012
#read access to: apps-kv/acc/SNOW/*
#approle: csui-change-mgmt-prod
#role_id 041f50d0-ece2-f9d7-8155-cbe2377081a8
#secret_id d83c9e67-98d0-9d51-afa0-0a4c680aa0ad
#read access to: apps-kv/prod/SNOW/*
if IS_DEV: if IS_DEV:
print('IS DEV') print('IS DEV')
engine = "dev" engine = "dev"
role_id_read = '3d20c565-ae1f-25dc-ba39-f17f20beb18e' role_id_read = 'a3b2fdf3-8e8a-55d9-2688-13409145c7b2'
secret_approle_read = '50cf5e80-e509-708c-707a-29c127714bc5' secret_approle_read = 'fc9674f1-5187-51e8-f8c8-29273b5f6951'
elif IS_ACC : elif IS_ACC :
print('IS ACC') print('IS ACC')
engine = "acc" engine = "acc"
role_id_read = 'a516f820-6f9f-d963-9807-2aef7aeb3612' role_id_read = '0743cc2f-ee65-3bf8-fe3d-27550db27d00'
secret_approle_read = '37dfe79f-33f7-2fde-c412-86c43d7bbe50' secret_approle_read = '225cc7f7-1e02-aca8-d84b-45da9a605012'
else : else :
print('IS PROD') print('IS PROD')
namespace_used = "EC/DIGIT_C4_SNET_ADMIN-PROD" namespace_used = "EC/DIGIT_C4_SNET_ADMIN-PROD"
base_url = "https://digit.service-now.com/api/emdig/v1/itsm" base_url = "https://digit.service-now.com/api/emdig/v1/itsm"
vault_url = "https://sam-hcpvault.cec.eu.int" vault_url = "https://sam-hcpvault.cec.eu.int"
engine = 'prod' engine = 'prod'
#Approle approle-prod-csui-change-mgmt role_id_read = '041f50d0-ece2-f9d7-8155-cbe2377081a8'
role_id_read = 'd6717ad9-75db-37f2-363d-50f21a52408a' secret_approle_read = 'd83c9e67-98d0-9d51-afa0-0a4c680aa0ad'
secret_approle_read = 'f13d0bbb-03ce-d470-27b3-8f606f3e86bf'
#password = clientV.getPasswordByAppRole("apps-kv/"+engine+"/SNOW", vault_url, namespace_used, role_id_read, secret_approle_read) #necessary check with Javier
password = "+Xg76;CwCr4TgBCs" password = clientV.getPasswordByAppRole("apps-kv/"+engine+"/SNOW/csui", vault_url, namespace_used, role_id_read, secret_approle_read)
credentials = f"{username}:{password}" credentials = f"{username}:{password}"
encoded_credentials = base64.b64encode(credentials.encode("utf-8")).decode("utf-8") encoded_credentials = base64.b64encode(credentials.encode("utf-8")).decode("utf-8")
authorization = f"Basic {encoded_credentials}" authorization = f"Basic {encoded_credentials}"
......
...@@ -17,7 +17,7 @@ class Vault(object): ...@@ -17,7 +17,7 @@ class Vault(object):
def __init__(self): def __init__(self):
self.session = requests.Session() self.session = requests.Session()
#curl -H "X-Vault-Namespace: EC/DIGIT_C4_SNET_ADMIN-ACC" -X POST --tlsv1.2 --data '{"password": "password"}' https://sam-hcavault.cec.eu.int/v1/auth/userpass/login/fandrem
def getPasswordByAppRole(self, key, vault_url, namespace_used, role_id, secret_id): def getPasswordByAppRole(self, key, vault_url, namespace_used, role_id, secret_id):
# Create a client instance # Create a client instance
client = hvac.Client(url=vault_url, namespace=namespace_used, verify=False) client = hvac.Client(url=vault_url, namespace=namespace_used, verify=False)
...@@ -26,7 +26,7 @@ class Vault(object): ...@@ -26,7 +26,7 @@ class Vault(object):
client.token = response['auth']['client_token'] client.token = response['auth']['client_token']
secret = self.getPasswordViaToken(key, vault_url, namespace_used, client.token ) secret = self.getPasswordViaToken(key, vault_url, namespace_used, client.token )
secret_data = False secret_data = False
if secret is not None and len(secret['errors']) == 0 and 'data' in secret: if secret is not None and 'data' in secret:
secret_data = secret['data']['data']['password'] secret_data = secret['data']['data']['password']
#print(secret_data) #print(secret_data)
else: else:
...@@ -46,6 +46,5 @@ class Vault(object): ...@@ -46,6 +46,5 @@ class Vault(object):
return response.json() return response.json()
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
clientV = Vault() clientV = Vault()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment