Predefined CI variables for the dependency proxy
### Problem to solve The dependency proxy is intended to be heavily used with CI. However users need to define their own variables or hardcode some values into their scripts. ### Intended users * [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) * [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) * [Devon (DevOps Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer) ### User experience goal Provide some intuitive predefined variables for users to easily work with in CI scripts ### Proposal Although we can use many of the existing predefined variables like: ```sh docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_SERVER_HOST":"$CI_SERVER_PORT" docker pull "$CI_SERVER_HOST":"$CI_SERVER_PORT"/groupname/dependency_proxy/containers/alpine:latest ``` it would be better to use variables specific to the dependency proxy even if they are just aliases. I propose the following variables: 1. `CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX` the full group url with no protocol that could be found in the dependency proxy page for the group, for example: `gitlab.com/groupname/dependency_proxy/containers` 1. `CI_DEPENDENCY_PROXY_USER` (alias of `CI_REGISTRY_USER`) 1. `CI_DEPENDENCY_PROXY_PASSWORD` (alias of `CI_REGISTRY_PASSWORD`) 1. `CI_DEPENDENCY_PROXY_SERVER` for use in `docker login`, the base host with no protocol, but including the port This would allow the above commands to be used like: ```sh docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" "$CI_DEPENDENCY_PROXY_SERVER" docker pull "$CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX"/alpine:latest ``` The `CI_DEPENDENCY_PROXY_GROUP_URL` variable being the most beneficial since it is not possible to build it using other existing variables.
issue