microsoft / artifacts-credprovider

The Azure Artifacts Credential Provider enables dotnet, NuGet.exe, and MSBuild to interactively acquire credentials for Azure Artifacts feeds.
MIT License
766 stars 706 forks source link

Conda cred provider wrapper #395

Closed zhenghao104 closed 1 year ago

zhenghao104 commented 1 year ago

A credential provider wrapper for Conda protocol. It will call the credential provider and set the token into an environment variable for Conda client. The conda package artifacts-credprovider-conda will be published to anaconda.org for users to consume.

JohnSchmeichel commented 1 year ago

@phil-hodgson had thoughts on the directory structure, and imho I think we should have less top level code folders as the plumbing for the build system gets intermixed with other repository files. At the very least I'd like to add a src folder and start to move source files under there (starting down this path in one of my draft PRs here). Something like the following long term:

artifacts-credprovider\
  build\
  scripts\ (helpers)
  samples\
  src\
    common\
    conda\
    nuget\
      common\
      provider\ (CredentialProvider.Microsoft.exe)
    npm\
    ...\
  tests\
zhenghao104 commented 1 year ago

If we are restructuring the directory, it can be a separate PR before/after this PR to keep this PR clean.

JohnSchmeichel commented 1 year ago

If we are restructuring the directory, it can be a separate PR before/after this PR to keep this PR clean.

I wouldn't do a big restructure PR, but rather start to move things into place over time. Think it's reasonable to say new code goes into the "right" place to start so we don't need to go back and fix it up later.

zhenghao104 commented 1 year ago

Off topic but we should also create an automated process that will publish the cred stuff (vsts-npm-auth/artifacts-keyring) to the respective public repositories. They are all done manually now through command prompt.

JohnSchmeichel commented 1 year ago

Off topic but we should also create an automated process that will publish the cred stuff (vsts-npm-auth/artifacts-keyring) to the respective public repositories. They are all done manually now through command prompt.

Agreed! Have this feature in the backlog to take care of that: https://dev.azure.com/mseng/AzureDevOps/_workitems/edit/2048155

zhenghao104 commented 1 year ago

Off topic but we should also create an automated process that will publish the cred stuff (vsts-npm-auth/artifacts-keyring) to the respective public repositories. They are all done manually now through command prompt.

Agreed! Have this feature in the backlog to take care of that: https://dev.azure.com/mseng/AzureDevOps/_workitems/edit/2048155

For the first iteration, I am going to do it the same way as vsts-npm-auth and artifacts keyring by creating our own account.