From bc5b47485d5808951a0bc626fc0791bc9793a24b Mon Sep 17 00:00:00 2001 From: Marcio Nemec Date: Tue, 16 Jan 2024 12:10:43 -0300 Subject: [PATCH] #17: Vault connection through Jenkins Credentials --- Jenkinsfile_Cron | 2 +- src/main.py | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile_Cron b/Jenkinsfile_Cron index 9867fcd..a4f4f86 100644 --- a/Jenkinsfile_Cron +++ b/Jenkinsfile_Cron @@ -28,7 +28,7 @@ pipeline { } stage('execute-data-sync') { steps{ - withCredentials([usernamePassword(credentialsId: 'IDTESTE_SPAR', passwordVariable: 'Psw_Test', usernameVariable: 'Usr_teste')]) { + withCredentials([string(credentialsId: 'VltEndPoint', variable: 'vltEndPoint'), string(credentialsId: 'VltToken', variable: 'vltToken'), usernamePassword(credentialsId: 'IDTESTE_SPAR', passwordVariable: 'Psw_Test', usernameVariable: 'Usr_teste')]) { bat ''' source ve/bin/activate python -m pip install -r ./requirements.txt --cache-dir ./data diff --git a/src/main.py b/src/main.py index f23da8c..d4e303b 100644 --- a/src/main.py +++ b/src/main.py @@ -1,9 +1,9 @@ import module.data_synchronization as data_sync from logging import config as logging_config -import os +import os, requests, json def do_tests_in_jenkins(): - print("Starting tests") + print("Starting Jenkins Tests") # Testing Secrets variable from Jenkins Credentials Plugin print(os.environ['Usr_teste'] + " " + os.environ['Psw_Test'] ) @@ -17,11 +17,24 @@ def do_tests_in_jenkins(): print("Password credential accepted") else: print("Password credential incorrect") + +def do_tests_in_vault(): + print("Starting Vault Tests") + vault_token = os.environ['VltToken'] #From Jenkins Credentials + vault_url = os.environ['VltEndPoint'] #From Jenkins Credentials + headers = {'X-Vault-Token': vault_token} + res = requests.get(vault_url, headers=headers) + print(res.text) + j = json.loads(res.text) + print(j) + + def main() -> None: logging_config.fileConfig(os.path.join(os.path.dirname(__file__), "logging.ini"), disable_existing_loggers=False) - data_sync.data_sync() + #data_sync.data_sync() + do_tests_in_vault() if __name__ == '__main__': main() \ No newline at end of file