diff --git a/deleterelease.py b/deleterelease.py index 2710ca2..cc3de31 100644 --- a/deleterelease.py +++ b/deleterelease.py @@ -23,11 +23,15 @@ parser.add_argument('--verbose', '-v', required=False, action='store_true', default=False) -parser.add_argument('--insecure', - help='insecure ssl connect', - required=False, - action='store_true', - default=False) +#parser.add_argument('--insecure', +# help='insecure ssl connect', +# required=False, +# action='store_true', +# default=False) +parser.add_argument('--caBundle', '-B', + help='File with the CA certificates to trust', required=False, + default='/etc/ssl/certs/ca-certificates.crt') + args = parser.parse_args() privateToken = args.privateToken @@ -35,7 +39,9 @@ projectId = args.projectId releaseTag = args.releaseTag instanceUrl = args.instanceUrl verbose = args.verbose -insecure = args.insecure +#insecure = args.insecure +caBundle = args.caBundle + # --- delete release @@ -45,7 +51,7 @@ headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"} if verbose: print("URL: %s" % deleteReleaseUrl) -deleteReleaseResult = requests.delete(deleteReleaseUrl, headers=headers, verify=(not insecure)) +deleteReleaseResult = requests.delete(deleteReleaseUrl, headers=headers, verify=caBundle) if deleteReleaseResult.status_code != 200: print(deleteReleaseResult) diff --git a/gitlabreleaseuploader.py b/gitlabreleaseuploader.py index 50069b4..192dcc0 100755 --- a/gitlabreleaseuploader.py +++ b/gitlabreleaseuploader.py @@ -42,6 +42,9 @@ parser.add_argument('--releaseInfoFile', '-F', parser.add_argument('--instanceUrl', '-I', help='URL of your gitlab instance', required=False, default='https://gitlab.com') +parser.add_argument('--caBundle', '-B', + help='File with the CA certificates to trust', required=False, + default='/etc/ssl/certs/ca-certificates.crt') parser.add_argument('--verbose', '-v', help='verbose output', required=False, @@ -60,6 +63,7 @@ releaseDescription = args.description instanceUrl = args.instanceUrl createReleaseTag = args.createReleaseTag releaseInfoFilename = args.releaseInfoFile +caBundle = args.caBundle verbose = args.verbose releaseInfo = {} @@ -94,7 +98,7 @@ uploadUrl = "%s/api/v4/projects/%s/uploads" % (instanceUrl, projectId) headers = {"PRIVATE-TOKEN": privateToken} files = {"file": open(fileToUpload, 'rb')} -uploadResult = requests.post(uploadUrl, files=files, headers=headers) +uploadResult = requests.post(uploadUrl, files=files, headers=headers, verify=caBundle) if uploadResult.status_code != 201: print(uploadResult) @@ -124,7 +128,8 @@ if createReleaseTag: createReleaseTagResult = requests.post(createReleaseTagUrl, headers=headers, - data=json.dumps(payloadCreateReleaseTag)) + data=json.dumps(payloadCreateReleaseTag), + verify=caBundle) if createReleaseTagResult.status_code != 201: print(createReleaseTagResult) @@ -157,7 +162,8 @@ payloadCreateRelease = { } createReleaseResult = requests.post(createReleaseUrl, headers=headers, - data=json.dumps(payloadCreateRelease)) + data=json.dumps(payloadCreateRelease), + verify=caBundle) if createReleaseResult.status_code != 201: print(createReleaseResult) diff --git a/info.json b/info.json index 72a3340..b689e82 100644 --- a/info.json +++ b/info.json @@ -1,7 +1,7 @@ { - "releaseTag": "v1.7", + "releaseTag": "v1.8", "createReleaseTag": "true", - "releaseName": "Delete Release supporting release", - "description": "Separate tool to delete releases added" + "releaseName": "CA Bundle", + "description": "Option to provide CA bundle file for ssl verification" } diff --git a/readme.md b/readme.md index acd8ee2..38be56d 100644 --- a/readme.md +++ b/readme.md @@ -21,6 +21,7 @@ Gitlab CI scripts. [--createReleaseTag] [--description DESCRIPTION] [--releaseInfoFile RELEASEINFOFILE] + [--caBundle FILE_WITH_CA_CERTIFICATES_TO_TRUST] [--instanceUrl INSTANCEURL] [--verbose] Gitlab Release Uploader @@ -49,6 +50,7 @@ Gitlab CI scripts. tag, create release tag, description --instanceUrl INSTANCEURL, -I INSTANCEURL URL of your gitlab instance + --caBundle FILE_WITH_CA_CERTIFICATES_TO_TRUST, -B FILE_WITH_CA_CERTIFICATES_TO_TRUST --verbose, -v verbose output wn@tron:~/workspace-python/gitlabreleaseuploader [master ≡]$