Skip to content

Dependency proxy doesn't correct handle uppercase team names

Summary

Dependency proxy cannot be used for teams with upper-cased URLs

Steps to reproduce

Example Project

https://gitlab.com/AJIOB-bugs/dependency-proxy-bug

What is the current bug behavior?

Created CI job was failed while pulling a container through dependency proxy.

What is the expected correct behavior?

The pipeline should work correctly.

Relevant logs and/or screenshots

Logs can be found in job.

Place of interest:

Executing "step_script" stage of the job script
$ docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" "$CI_DEPENDENCY_PROXY_SERVER"
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
$ echo "Variable is '$CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX'"
Variable is 'gitlab.com:443/AJIOB-bugs/dependency_proxy/containers'
$ docker pull "$CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX"/alpine:latest
invalid reference format: repository name must be lowercase
Cleaning up file based variables
ERROR: Job failed: exit code 1

Output of checks

This bug happens on GitLab.com

Possible fixes

Force lowercase dependency proxy URLs for correct docker handling.