Provide a minimal configuration for UBI-based deployment with GitLab Chart
This is a follow-up issue to #446 (closed) and part of &4 (closed).
GitLab Chart uses third-party non-UBI images and external Charts. To meet the requirements of clients, all unnecessary services that do not use UBI-based images must be turned off or replaced with an external service, including:
- CertManager: It provide Let's Encrypt integration and must be turned off. The TLS certificate must be provided. Documentation can be found here
- PostgreSQL: GitLab Chart currently uses PostgreSQL 9.6 (via a Chart dependency) which will be upgraded to 11 (e.g. see gitlab-org/charts/gitlab#1535 (closed)). PostgreSQL must be turned off and an external PostgreSQL must be used. More documentation here.
- Minio: It must be turned off and an external object-store must be used. More documentation here.
- Redis (not Redis HA): Same as Minio and PostgreSQL, it must be turned off and replaced with an external provider. More documentation here.
- Nginx Ingress: By default GitLab Chart uses the official
nginx-ingress
. It must be turned off and replaced with an external Nginx. More documentation here. Deployment on OKD does not require Nginx. - GitLab Runner: It is imported as a Chart dependency. For now it must be turned off.
- Prometheus and Grafana: They are both Chart dependencies and must be disabled.
Registry is the only service that uses a non-UBI image and can't be replaced or disabled without affecting functionality. We might have to provide a UBI-based Registry image.
The objective of this issue is to provide deployment instructions/scripts for the aforementioned external services, in a way that a user can easily deploy all the external services and configure GitLab Chart to use them.
Edited by Hossein Pursultani