Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove registry docs #15888

Closed
wants to merge 1 commit into from
Closed

remove registry docs #15888

wants to merge 1 commit into from

Conversation

dvdksn
Copy link
Contributor

@dvdksn dvdksn commented Oct 17, 2022

This removes the documentation for registry (a CNCF project) from docs.docker.com and adds corresponding redirects to the distribution/distribution GitHub, e.g. https://deploy-preview-15888--docsdocker.netlify.app/registry/deploying/

Do not merge: awaiting confirmation on Docker Hub conformance to OCI spec

Todo: use the new _redirects.yml and remove stubs

@netlify
Copy link

netlify bot commented Oct 17, 2022

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit 401642c
🔍 Latest deploy log https://app.netlify.com/sites/docsdocker/deploys/6368fc4385e2770008b79801
😎 Deploy Preview https://deploy-preview-15888--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@dvdksn dvdksn self-assigned this Oct 17, 2022
reference/index.md Show resolved Hide resolved
registry/glossary.md Outdated Show resolved Hide resolved
registry/index.md Show resolved Hide resolved
registry/insecure.md Show resolved Hide resolved
registry/introduction.md Show resolved Hide resolved
registry/notifications.md Show resolved Hide resolved
registry/recipes/mirror.md Outdated Show resolved Hide resolved
registry/recipes/nginx.md Show resolved Hide resolved
registry/storage-drivers/filesystem.md Show resolved Hide resolved
registry/storage-drivers/index.md Show resolved Hide resolved
thaJeztah
thaJeztah previously approved these changes Oct 18, 2022
Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Changes itself LGTM (pending the discussion if we need to preserve some bits or replace them with something)

@thaJeztah
Copy link
Member

So; progressive insight (could use input from @milosgajdos on this);

  • The "specs" we refer to in the distribution repository are the specs from before they were used as starting point for the OCI distribution spec.
  • While "obsolete", the only place they currently live is in distribution/distribution
  • BUT distribution/distribution itself, basically now implements the OCI distribution spec (which superseeds the "docker v2 registry spec"
  • AND the OCI distribution spec does not define authentication (nor search/indexing).

As a result, various projects refer to docs.docker.com as canonical location for the specs, e.g. https://github.com/containerd/containerd/blob/72177ca663a2b63c6d9c87a7d6e2e8d5a32ad446/remotes/docker/authorizer.go#L276

Question is; will distribution/distribution continue to maintain the docs for an obsolete spec that they no longer implement?
(Perhaps they do for the authentication part? Not sure about the "distribution" / "registry part"

And if not, then where should those docs live (if Docker Hub implements them)? (Basically, who "owns" the Auth spec?)

@milosgajdos
Copy link
Contributor

And if not, then where should those docs live (if Docker Hub implements them)? (Basically, who "owns" the Auth spec?)

Auth spec seems to be in a bit of a limbo that has been driving people in the community pretty crazy as demonstrated in both upstream issues and discussions.

I think we need to find a way how to shift the spec to the open -- should CNCF own it as part of the distribution? Or should it be standardised by OCI? I tend to lean towards the latter, but not sure how to go about shifting that responsibility to them

@crazy-max
Copy link
Member

Ah forgot I had this branch main...crazy-max:docker.github.io:registry-remote when I was working on the new fetch_remote plugin. Guess it's not necessary anymore 😅

@dvdksn dvdksn force-pushed the remove-distribution branch 2 times, most recently from 504be63 to bfaa9ae Compare November 4, 2022 09:11
@dvdksn dvdksn force-pushed the remove-distribution branch 3 times, most recently from bf7657c to 826aaf8 Compare November 4, 2022 10:11
_config.yml Outdated Show resolved Hide resolved
@dvdksn dvdksn added the status/do-not-merge Pull requests that are awaiting some event or decision before they can be merged. label Nov 4, 2022
@dvdksn dvdksn force-pushed the remove-distribution branch 8 times, most recently from 011a248 to c9c01cb Compare November 7, 2022 09:37
@crazy-max
Copy link
Member

 - ./_site/docker-hub/service-accounts/index.html
  *  internally linking to ../registry/recipes/mirror.md, which does not exist (line 211)
     <a href="../registry/recipes/mirror.md">Mirroring Docker Hub</a>

Would need to change: https://github.com/docker/docs/blame/main/docker-hub/service-accounts.md#L54

To - [Mirroring Docker Hub](/registry/recipes/mirror/) I think.

Signed-off-by: David Karlsson <david.karlsson@docker.com>
@thaJeztah
Copy link
Member

And if not, then where should those docs live (if Docker Hub implements them)? (Basically, who "owns" the Auth spec?)

Auth spec seems to be in a bit of a limbo that has been driving people in the community pretty crazy as demonstrated in both upstream issues and discussions.

Authentication (and "search") were deliberately left out of the specification when the OCI distribution spec was initiated. Some reasons for that;

  • because requirements would be very different between implementations (e.g. cloud providers already have their own authentication mechanisms)
  • trying to shoehorn those into a single "spec" would be "challenging"
  • specifying the distribution spec (API) itself was a higher priority, and we didn't want that to be blocked on Authentication

Which left us with;

  • The OCI distribution spec defining the API for the registry itself (implemented by both distribution/distribution and Docker Hub)
  • The only "spec" for authentication being the pre-OCI "docker distribution v2 spec" (living in the distribution/distribution repository)
  • Various registry implementations using the "docker distribution v2 spec" as a de-facto / reference implementation.

I think we need to find a way how to shift the spec to the open -- should CNCF own it as part of the distribution? Or should it be standardised by OCI? I tend to lean towards the latter, but not sure how to go about shifting that responsibility to them

There was a discussion during KubeCon where people wanted to add authentication to the OCI spec. There was still debate about "to what extend", so one option was to document "known implementations" (not a strict requirement).

I think in the meantime we can;

  • Pull in the (auth related) docs from distribution/distribution, as it's the current 'defacto' spec(ish)
  • If we do, we should probably limit it to only the parts relevant to Docker Hub registry.
  • Alternatively (better?) just add docs specific to Docker Hub's implementation. We can "refer" to the distribution/distribution repository as "this is roughly what's implemented", but more of a FYI.

@dvdksn
Copy link
Contributor Author

dvdksn commented Nov 9, 2022

I think in the meantime we can;

  • Pull in the (auth related) docs from distribution/distribution, as it's the current 'defacto' spec(ish)

  • If we do, we should probably limit it to only the parts relevant to Docker Hub registry.

  • Alternatively (better?) just add docs specific to Docker Hub's implementation. We can "refer" to the distribution/distribution repository as "this is roughly what's implemented", but more of a FYI.

The first option is what this PR is currently doing: pulling the auth spec from distribution/distribution upstream. This is no different to how we currently do it (for auth). For the API spec we will just refer to upstream (not Docker Registry V2, but OCI spec). Registry storage drivers were purged completely from our site.

I agree that it would be ideal to have a dedicated description for the Hub implementation of auth, with an external reference for more information. Outside the scope for this PR but we should have a followup for this.

Related, at some point we might want to revisit where we describe the v2 image manifest schema 2. That is ALSO currently in distribution upstream. Works for now 🤷🏻

@dvdksn
Copy link
Contributor Author

dvdksn commented Jan 27, 2023

to be revisited

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/do-not-merge Pull requests that are awaiting some event or decision before they can be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants