En esta imagen se muestra la arquitectura distribuida para desplegar GitLab para activar los pipelines CI/CD en OCI. Muestra un único dominio de disponibilidad dentro de una región de OCI. Dentro de este dominio de disponibilidad hay dos subredes públicas y una sola subred privada. Las tres subredes están protegidas por una red virtual en la nube (VCN).

Las subredes públicas se dirigen a 10.0.0.0/24 y 10.0.1.0/24. La subred pública 10.0.0.0/24 contiene un servidor bastion y la subred pública 10.0.1.0/2 contiene un equilibrador de carga. Ambas subredes públicas pueden acceder a la nube, fuera de VCN, a través de un gateway de Internet.

La subred privada, dirigida 10.0.2.0/24, contiene
  • Dos servidores GitLab,
  • Un servidor Gitaly x2,
  • Un servidor Prometheus + Grafana,
  • Una base de datos Postgres,
  • Tres corredores de GitLab, y
  • Servidor Redis.
Un servidor Gitlab se conecta al servidor bastion de la subred pública; ambos también se conectan al equilibrador de carga. El servidor Gitaly accede a la nube a través de un gateway NAT mientras que el servidor Prometheus + Grafana utiliza un gateweay de servicio para acceder al almacenamiento de objetos externo a VCN. Este almacenamiento de objetos contiene datos como copias de seguridad, artefactos, diffs externos, cargas de LFS, paquetes, proxies de dependencia y páginas de estado Terraform.