URL for submodule incorrect
I am trying to use the following job to create an image that uses a repo, which references multiple submodules (hosted in same GitLab instance and even namespace):
```
build-image-kaniko:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: ['']
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_DEPTH: 1
GIT_STRATEGY: clone
script:
- echo Running Kaniko executor and building image
- echo "{\"auths\":{\"${CI_REGISTRY}\":{\"auth\":\"$(printf "%s:%s" "${CI_REGISTRY_USER}" "${CI_JOB_TOKEN}" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor
--context .
--dockerfile Dockerfile
--insecure
--skip-tls-verify
--skip-tls-verify-pull
--insecure-pull
--destination "${CI_REGISTRY_IMAGE}:latest-test"
#--verbosity debug
only:
- setup-cicd
```
Based on which runner I am using (my own group runner that I know is using Ubuntu Server and a shared one provided by the administrators of the GitLab instance at my institute) I am getting two different URLs both of which are incorrect.
**Note:** `NAMESPACE` in my case is something like `/institute/department/group/project-group` and `REPO` is the repository the submodule is referencing.
* **Shared runner** - unknown underlying system
```
Cloning into '/builds/NAMESPACE/REPO'...
remote: The project you were looking for could not be found or you don't have permission to view it.
fatal: repository 'https://gitlab.example.com/NAMESPACE/REPO.git/' not found
fatal: clone of 'https://gitlab.example.com/NAMESPACE/REPO.git/' into submodule path '/builds/NAMESPACE/REPO' failed
Failed to clone 'REPO'. Retry scheduled
```
Here there are two issues:
* the URL string between the `'` contains a trailing backslash `/`
* the actual hyperlink in the Web UI yon can click on points at an URL that contains `/'` (backslash AND a single quotation mark)
* **Group runner** - Ubuntu Server with microk8s for Kubernetes
```
Cloning into '/builds/NAMESPACE/REPO'...
fatal: could not read Username for 'https://gitlab.example.com': No such device or address
fatal: clone of 'https://gitlab.example.com/NAMESPACE/REPO.git' into submodule path '/builds/NAMESPACE/REPO' failed
Failed to clone 'REPO'. Retry scheduled
```
Here the issue is only an incorrect actual hyperlink in the Web UI that points contains `'` (single quotation mark)
The first issue is a mystery to me. The runner may as well be even running on Windows or on Linux but not in Kubernetes, which doesn't really fit a setup required by Kaniko.
The second one is only Web UI-related (at least I hope so) since the authentification issue is what I am actually struggling with as part of my journey on discovering how to incorporate repos with submodules in a CI job that require credentials (using both Kaniko and Docker `dind`).
We are talking at least a Web UI bug. Worse scenario is things are going much deeper.
**UPDATE 1:**
I tried adjusting the URL of each submodule:
* removed `.git` suffix
* removed `.git` suffix and added `/`
No difference. I am also overwriting my `.gitmodules` in the CI to include the credentials (e.g. `url = https://${CI_REGISTRY_USER}:${CI_JOB_TOKEN}@gitlab.example.com/NAMESPACE/REPO.git"`) and installing `git` Docker `dind` (currently dumped Kaniko and switched back to Docker for building my image) to manually clone my submodules.
Funny enough it doesn't matter whether I manually clone the submodules (`git submodule update --init --recursive`) or use the `GIT_*` CI job variables that are predefined by GitLab. The problem remains. So it appears to be an issue with how GitLab CICD handles such a task.
**UPDATE 2:**
Using relative URLs (with and without adjustments from first **UPDATE 1**) yield the same result.
issue