Container Packages: Mixed-case workspace slug causes Docker image push/pull failure

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Medium
    • Component/s: Packages - Image
    • None
    • Severity 3 - Minor
    • 62

      Issue Summary

      • When a Bitbucket Cloud workspace has a mixed-case slug (e.g. MyCompany_CORP), customers are unable to push Docker images to Bitbucket Container Packages (crg.apkg.io).
      • Docker/OCI spec requires the entire image reference path to be lowercase, but the Bitbucket container registry requires the workspace slug to match exactly (case-sensitive).

      Steps to Reproduce

      1. Have a workspace with a mixed-case slug (e.g. MyCompany_CORP)
      2. Create a repository in that workspace
      3. Create a Container Package linked to the repository
      4. Attempt to build and push a Docker image using the workspace slug as-is:

      docker build -t crg.apkg.io/MyCompany_CORP/testrepo:latest .
      docker push crg.apkg.io/MyCompany_CORP/testrepo:latest
      

      Result:

      • Docker errors with:
        invalid reference format: repository name (MyCompany_CORP/testrepo) must be lowercase
        

      1. Attempt to use lowercase instead:

      docker build -t crg.apkg.io/mycompany_corp/testrepo:latest .
      docker push crg.apkg.io/mycompany_corp/testrepo:latest
      
      • Result: Bitbucket registry errors with: name unknown: You may not have access to this image or it does not exist in this workspace.

      Expected Results

      • The Bitbucket container registry should accept the lowercase version of the workspace slug and resolve it case-insensitively, since Docker/OCI requires lowercase image references. Alternatively, workspace slugs should be normalized to lowercase when used in the container registry path.

      Actual Results

      • Workspace slugs are case sensitive, which causes errors to occur when attempting to use them

      Workaround

      • You'll need to change the workspaceID to become all lower-case

              Assignee:
              Unassigned
              Reporter:
              Ben
              Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: