Contribute a Registry Provider - ravipal/vscode-docker GitHub Wiki
Connect a Generic Docker Registry
First, try connecting your registry as a "Generic Docker Registry". Many registries will work with our existing implementation of the Docker V2 API and do not require any additional contributions.
This feature has the following limitations:
- You must connect a single registry at a time
- It currently only supports basic authentication. Token authentication has not been implemented yet, but is tracked in #869 and documented here. Contributions are welcome!
- You must connect a private registry. It won't work for central registries like Docker Hub or GitLab that host repositories for many users under unique namespaces.
Contribute a Registry Provider
If the "Generic Docker Registry" support is not sufficient, follow these steps to contribute a new provider:
- Determine registry API: For example, GitLab exposes a public API other than the default Docker API. This api will be used to list repositories and tags.
- Determine registry Authentication: For example, GitLab details authenticating requests using OAuth.
- Get Started: Follow the steps in the contributing section to clone and start working in our repo.
- Implement: Add at least the following code:
- Add an entry for your api in
src/tree/registries/all/RegistryApi.ts
(unless your provider leverages an existing API) - Add a new folder in
src/tree/registries
for your provider - Create an
IRegistryProvider
in your new folder, implementing all required fields, and add it to the list insrc/tree/registries/all/getRegistryProviders.ts
- Add an entry for your api in
- Submit a PR!