The workflows pulled tonistiigi/binfmt through an unauthenticated request, either directly from docker.io or from harbor.cryptic.systems before any credentials had been configured. Both variants are subject to upstream rate limiting and made the multi arch builds fail sporadically. The docker/login-action steps are now placed in front of docker/setup-qemu-action and docker/setup-buildx-action, and a second login against harbor.cryptic.systems was added so that the binfmt image is always pulled from the internal registry with valid credentials. Leftover setup-qemu-action and setup-buildx-action steps from the previous ordering were removed. All pinned actions were additionally bumped to their latest upstream release to remove the version drift between the repositories.
createrepo-docker
This project contains all sources to build the container image git.cryptic.systems/volker.raschek/createrepo and the
shell script createrepo.sh.
The primary goal of this project is to package the binary createrepo as container image to provide the functionally
for CI/CD workflows or for systems which does contains the binary.
createrepo.sh
The shell script createrepo.sh is a wrapper for the binary createrepo, which is not available depending on the
distribution. It starts the container image git.cryptic.systems/volker.raschek/createrepo in the background to call
the binary. For this reason, a container runtime like docker or podman is necessary.
Installation
The script can be installed via the following command:
curl https://git.cryptic.systems/volker.raschek/createrepo-docker/raw/branch/master/createrepo.sh --output - | sudo tee /usr/local/bin/createrepo.sh && sudo chmod +x /usr/local/bin/createrepo.sh
Usage
The script forwards all arguments directly to the binary running inside the container. For this reason, all arguments from the original binary can be used.
createrepo.sh --update . # Update local repository
createrepo.sh --update /var/www/my-repo # Update repository based on specific path