azure.datafactory.devops icon indicating copy to clipboard operation
azure.datafactory.devops copied to clipboard

Bundle open ssl

Open pradeepramesh26 opened this issue 4 years ago • 6 comments

Hi Nowinski, I have a requirement for deploying ADF through Azure DevOps Pipelines using Service connections configured with CERTS. When I consumed your extension , I found that the OpenSSL was not bundled along with the extension , which caused the Publish ADF task to fail. Here is my proposed solution to bundle OpenSSL which in line with MicroSoft implementation for his Key Vault and App Service Deployment tasks.

What was added :

  1. Package.json - for handling node modules.
  2. Build Scripts - to download and archive.

Link to Azure Key Vault : https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureKeyVaultV1

pradeepramesh26 avatar Dec 09 '21 17:12 pradeepramesh26

Hi Nowinski, Please let me know if there is any more information required on the above change

pradeepramesh26 avatar Dec 22 '21 16:12 pradeepramesh26

What's the storage vstsagenttools.blob.core.windows.net? Who is the owner of it? The task(s) should not allow downloading any external libraries - all of them should be provided by a specific version and code transparent in the repo.

NowinskiK avatar Dec 22 '21 20:12 NowinskiK

vstsagenttools.blob.core.windows.net is blob storage owned by Microsoft. Library is not getting downloaded at the task level , its getting downloaded while packaging the extension. OpenSSL.exe is required for the task to run . without which the task fails. Approach proposed is similar to what Microsoft has done for their Tasks.

pradeepramesh26 avatar Dec 23 '21 07:12 pradeepramesh26

Hi Nowinski, Let me know if any more details is required.

pradeepramesh26 avatar Dec 27 '21 12:12 pradeepramesh26

Thanks for the details. I will take a look as soon as I can.

NowinskiK avatar Dec 28 '21 22:12 NowinskiK

Hi @pradeepramesh26. I reviewed the code, thanks for your contribution. My understanding is that the code you added does 2 things:

  1. Downloads OpenSSL ZIP from Azure Storage
  2. Extracts the ZIP to two tasks' subfolders (e.g. \testLinkedServiceTask\ps_modules\VstsAzureHelpers_\openssl) If so - I removed all NodeJS code and replace it with a few lines of PS code in the existing build.ps1 script. Let me know if these changes look good and work for you.

NowinskiK avatar Feb 01 '22 00:02 NowinskiK