@microsoft/vscode-docker-registries
v0.1.12
Published
Extensibility model for contributing registry providers to the Docker extension for Visual Studio Code
Downloads
89
Readme
Docker for Visual Studio Code: Extensibility Model
Overview
This package provides the necessary interfaces to implement a registry provider for the Docker extension for Visual Studio Code. Additionally, it also contains an implementation of a registry provider for the common Docker Registry HTTP API V2. Most implementations will be a fairly slim inheriting implementation of this.
In order to implement a provider, you must create a VS Code extension which will activate when the Docker explorer view is opened, and register itself with the Docker extension. The Docker extension will call into your provider to discover what nodes to show in the explorer view.
When to implement a registry provider extension
You should implement a registry provider extension if:
- Your registry has advanced authentication (e.g. OAuth, etc.)
- Your registry has a nonstandard API
- Your registry has advanced features, beyond the basic image storage functionality
You should not implement a registry provider extension if:
- Your registry can be connected to already with the generic V2 provider
- If only very minor changes are needed in the generic V2 provider to support your registry, please file an issue or submit a pull request instead
- There is already an extension for your registry
How to implement a registry provider extension
- Create a new VS Code extension. Learn more
- Add the following activation event to your extension's package.json:
onCommand:vscode-docker.activateRegistryProviders
. Learn more - Implement the
RegistryDataProvider
interface. The easiest way to do this is to extend eitherCommonRegistryDataProvider
or, if your registry is compliant to the V2 registry spec,RegistryV2DataProvider
. - In your extension's
activate()
method, call into the Docker extension to register your provider. Learn more
License
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Microsoft Open Source Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct.
Resources:
- Microsoft Open Source Code of Conduct
- Microsoft Code of Conduct FAQ
- Contact [email protected] with questions or concerns