Frequently Asked Questions
Frequently Asked Questions (FAQs)
- Limits for code.jlab.org, CI/CD runners, etc
- Working with a restricted repository
- Command line access using Personal Access Tokens
- Cloning a repository
- Cleanup instructions for containers
- Limited CVMFS support within CI/CD jobs
Limits for code.jlab.org, CI/CD runners, etc
See JLab GitLab Limits for current defaults and instructions for requesting additional RAM and/or CPU cores if required.
Working with a restricted repository
If you set viewing restrictions on a repository (“internal only” or “private”), it is recommended to access the repository using the SSH URL:
git://git@code.jlab.org/...
rather than the HTTPS URL:
[https://code.jlab.org/](https://code.jlab.org/)...
Authentication and access are handled using SSH key exchange.
See:
👉 Clone with SSH
If HTTPS access is required, a Personal Access Token can be used instead:
👉 Clone using Personal Access Token
Command line access using Personal Access Tokens
Generate a Personal Access Token from your code.jlab.org account:
👉 Create a Personal Access Token
Make sure you select appropriate token scopes. The “Learn more” link in the GitLab UI explains what each scope allows.
Once created, store the token in:
$HOME/.config/containers/auth.json
Podman will automatically use this file for authentication.
Example login commands:
podman login codecr.jlab.org
# OR
podman --authfile="$HOME/.config/containers/auth.json" login codecr.jlab.org
Cloning a repository
The git@code.jlab.org portion of the URL:
git://git@code.jlab.org/...
is the correct username@host format for SSH-based Git access.
Authentication is performed using SSH keys. You must upload your public SSH key to your GitLab account before cloning.
See: 👉 Clone with SSH
Cleanup instructions for containers
Avoid running dnf install or dnf update directly in your Dockerfile unless
absolutely necessary. These operations consume significant disk space and slow
down CI/CD pipelines.
Instead, start from an up-to-date base image:
FROM registry.access.redhat.com/ubi8/ubi:latest
If package installation is required, clean the package cache afterward:
RUN dnf install -y <package> && \
dnf clean all
Large in-place updates can create unnecessary image bloat and increase CI job runtime. When possible, rebuild from a newer base image instead of updating an old one.
Limited CVMFS support within CI/CD jobs
All standard CVMFS mounts are available on the CI Runner as they appear on interactive farm nodes under:
/cvmfs/
Standard module commands work without modification. Example:
module use /cvmfs/oasis.opensciencegrid.org/jlab/scicomp/sw/el9/modulefiles
module use /cvmfs/oasis.opensciencegrid.org/jlab/geant4/ceInstall/modulefiles
module use /cvmfs/oasis.opensciencegrid.org/jlab/halla/modulefiles
module use /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/modulefiles