Project

General

Profile

Actions

Bug #18533

closed

Docker upstream repository name length limit

Added by Filip Van Raemdonck about 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Repositories
Target version:
Difficulty:
trivial
Triaged:
Fixed in Releases:
Found in Releases:

Description

Trying to add a docker repository with a length of more than 30 characters for the image name part fails with error: "Docker upstream name must be a valid docker name"

This seems somewhat arbitrary, image with a name of more than 30 characters do exist on Docker Hub (and other publicly accessible registries).

$ sudo docker search openvswitch | grep -E "/[a-zA-Z0-9-]{30}[^ ]" 
docker.io    docker.io/intelonp/centos-source-neutron-openvswitch-agent                            centos-source-neutron-openvswitch-agent         0                    [OK]
docker.io    docker.io/intelonp/centos-source-openvswitch-db-server                                centos-source-openvswitch-db-server             0                    [OK]
docker.io    docker.io/intelonp/centos-source-openvswitch-vswitchd                                 centos-source-openvswitch-vswitchd              0                    [OK]
docker.io    docker.io/rbbratta/centos-source-neutron-openvswitch-agent                            centos-source-neutron-openvswitch-agent         0                    [OK]
docker.io    docker.io/rbbratta/centos-source-openvswitch-db-server                                centos-source-openvswitch-db-server             0                    [OK]
docker.io    docker.io/rbbratta/centos-source-openvswitch-vswitchd                                 centos-source-openvswitch-vswitchd              0                    [OK]
docker.io    docker.io/tripleoupstream/centos-binary-openvswitch-vswitchd                                                                          0

Actions #1

Updated by Thomas McKay about 7 years ago

  • Assignee set to Thomas McKay
  • Target version set to 166
Actions #2

Updated by Filip Van Raemdonck about 7 years ago

From https://github.com/docker/distribution/blob/master/docs/spec/api.md

Classically, repository names have always been two path components where each path component is less than 30 characters. The V2 registry API does not enforce this. The rules for a repository name are as follows:

A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.
If a repository name has two or more path components, they must be separated by a forward slash ("/").
The total length of a repository name, including slashes, must be less than 256 characters.

So it looks like the existing restriction in katello is a relic from v1 registry era.

Actions #3

Updated by Justin Sherrill about 7 years ago

  • translation missing: en.field_release set to 211
  • Difficulty set to trivial
Actions #4

Updated by The Foreman Bot about 7 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/6660 added
Actions #5

Updated by Thomas McKay almost 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #6

Updated by Thomas McKay over 6 years ago

  • Bugzilla link set to 1484405
Actions

Also available in: Atom PDF