Package and distribute dependencies of UBI-based CNG images for offline build
The build process for UBI-based CNG images must work offline. It means that all dependencies that are downloaded explicitly, e.g. using curl
, or implicitly using package managers, such as gem
, pip
, and go get
, must be packaged and delivered to the build environment and used offline.
This issue has three steps:
- Identifying the external dependencies that can't be built offline. According to DSOP guidelines,
dnf install
andyum install
are excepted, as long as they use UBI repositories. - Package dependencies in a distributable format, e.g.
tar
, and distribute them via GitLab Release tools or LFS. - Change build instruction to use local dependencies.
The changes must apply to the following images:
-
kubectl
-
postgresql
-
gitlab-go
-
gitlab-ruby
-
gitlab-python
-
git-base
-
gitlab-container-registry
-
gitlab-redis-ha
-
gitlab-mailroom
-
gitlab-monitor
-
gitlab-shell
-
gitaly
-
gitlab-elasticsearch-indexer
-
gitlab-workhorse
-
gitlab-rails
-
gitlab-sidekiq
-
gitlab-task-runner
-
gitlab-unicorn
-
gitlab-geo-logcursor
This is part &4 (closed)
Edited by Hossein Pursultani