GIT environment variables are not available when connecting to a workspace via SSH
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=489009) </details> <!--IssueSummary end--> ### Summary GIT environment variables are not available when connecting to a workspace via SSH ### Steps to reproduce - Configure Workspaces to work with SSH according to [Connect to a workspace with SSH](https://docs.gitlab.com/ee/user/workspace/configuration.html#connect-to-a-workspace-with-ssh) and try connect to your workspace. - When connecting via UI, run `env | grep GIT` and observe that git-related environment variables are available: ```plaintext gitlab-workspaces@workspace-11-1-rkppia-847d69d549-rd64x:/projects/workspace-project$ env | grep GIT GL_GIT_CREDENTIAL_STORE_FILE_PATH=/.workspace-data/variables/file/gl_git_credential_store.sh GITLAB_WORKFLOW_INSTANCE_URL=https://GITLAB_URL/ GIT_CONFIG_VALUE_2=admin@example.com GIT_CONFIG_VALUE_1=Administrator GIT_CONFIG_VALUE_0=/.workspace-data/variables/file/gl_git_credential_store.sh GITLAB_WORKFLOW_TOKEN_FILE=/.workspace-data/variables/file/gl_token GIT_CONFIG_COUNT=3 GIT_CONFIG_KEY_1=user.name GIT_CONFIG_KEY_0=credential.helper GIT_CONFIG_KEY_2=user.email ``` - Connect to the same workspace via SSH and run `env | grep GIT` too. ### What is the current *bug* behavior? GIT variables are not set: ```plaintext: gitlab-workspaces@workspace-11-1-rkppia-847d69d549-rd64x:/projects/workspace-project$ env | grep GIT gitlab-workspaces@workspace-11-1-rkppia-847d69d549-rd64x:/projects/workspace-project$ ``` ### What is the expected *correct* behavior? According to the internal discussion with @vtak, it is not expected, and variables should be set. ### Additional information The image I've specified in the `.devfile.yaml` uses this Dockerfile: ```plaintext FROM ubuntu:20.04 # Install `openssh-server` and other dependencies # Note, need to install recent git releases when using ubuntu 20.04 image ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update -y && apt-get install -y openssh-server sudo curl git wget software-properties-common apt-transport-https locales tmux screen \ bash-completion gdb-multiarch libjson-perl ruby unifdef libarchive-extract-perl \ && apt-add-repository ppa:git-core/ppa \ && apt-get update \ && apt-get install -y git \ && rm -rf /var/lib/apt/lists/ # Permit empty passwords RUN sed -i 's/nullok_secure/nullok/' /etc/pam.d/common-auth RUN echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config # Generate a workspace host key RUN ssh-keygen -A RUN chmod 775 /etc/ssh/ssh_host_rsa_key && \ chmod 775 /etc/ssh/ssh_host_ecdsa_key && \ chmod 775 /etc/ssh/ssh_host_ed25519_key # Create a `gitlab-workspaces` user RUN useradd -l -u 5001 -G sudo -md /home/gitlab-workspaces -s /bin/bash gitlab-workspaces RUN passwd -d gitlab-workspaces ENV HOME=/home/gitlab-workspaces WORKDIR $HOME RUN mkdir -p /home/gitlab-workspaces && chgrp -R 0 /home && chmod -R g=u /etc/passwd /etc/group /home # Allow sign-in access to `/etc/shadow` RUN chmod 775 /etc/shadow RUN wget -O /usr/local/bin/kubectl https://dl.k8s.io/release/v1.29.4/bin/linux/amd64/kubectl && chmod 755 /usr/local/bin/kubectl RUN locale-gen en_US.UTF-8 USER gitlab-workspaces ``` - It is not possible to make a commit because username and email are not set. After setting `git config --global user.email` and `git config --global user.name`, I was able to make a commit to the repo.
issue