Introduction
VegaOps Toolchain Architecture consists of the following components:
Component | Description |
VegaOps Main Server / Cluster | Contains GitLab CE, PostgreSQL DB and VegaOps Workers.
For hosting Git repositories, CI/CD pipelines, private package registries. Members can log in and browse their projects. |
VegaOps Runner (N) | Runs CI/CD pipelines, polling the GitLab Instance.
At least one Docker Runner should be available always to run CI/CD jobs and upload artifacts to GitLab. |
Optional VegaOps Services | Sentry, Zabbix, and SonarQube are optional services managed by VegaOps team to help clients reach specific goals. |
VegaOps Config Servers | The VegaOps Team maintains DevSecOps images and centrally stores YAML configuration files here.
Access to the files is privileged and authorized only to Client GitLab instances with IP whitelisting and the *.vegaops.com domain. |
Public Cloud Package Repositories | DevSecOps package repositories and public images necessary for CI/CD pipelines are downloaded from their sources.
OSS updates for DevOps tools like GitLab CE are fetched from selected secure public repositories signed by GPG2 keys. |
VegaOps Toolchain Architecture Diagram
The DevSecOps packages, dependencies, and related configuration files required for operating VegaOps and GitLab environments are updated from Secure Package Repositories and VegaOps Config servers.
The data owned by Client will remain securely contained within the private network, including, but not limited to, code repositories, CI/CD pipeline artifacts, job logs, registry images, any associated application data, and data backups.
Server Specifications
Note: The below server specifications are the minimum required for optimal performance and may need to be adjusted according to the number of users, projects, and activity.
VegaOps Main Server
Purpose | GitLab CE installation |
Memory | 8 GB |
CPUs | 2 |
Root volume | 150 GB SSD |
External volume | 200 GB SSD |
Network Bandwidth | 100 Mbps (minimum) |
Operating System | Ubuntu 22.04 LTS |
Root login | Required |
Static IP | Required |
VegaOps Runner Server
Purpose | Docker Runner setup |
Memory | 8 GB |
CPUs | 2 |
Root volume | 200 GB SSD |
Network Bandwidth | 100 Mbps (minimum) |
Operating System | Ubuntu 22.04 LTS |
Root login | Required |
Static IP | Not required |
Server specifications for setting up Sentry, Zabbix and SonarQube (or other managed toolchain offered by VegaOps) typically match those of the VegaOps Runner Server.
They will be provisioned and configured independently within the same network as needed.
Networking Requirements
- Outbound connections should always remain open, while inbound connections should be limited when necessary.
- It is advisable to host all servers and disks on the same network.
- A static or elastic IP is necessary to map the DNS to the VegaOps Main Server (GitLab Instance). A static private IP can work in On-Premise networks.
Data Backups
The VegaOps tool chain data, including GitLab repositories, CI/CD pipelines, and database configuration, should be regularly backed up to a reliable Backup Hosting provider.
It is recommended to have a reliable Backup Hosting provider, to upload backup files in a durable storage, and to be able to quickly restore them during a crisis.
Visit the VegaOps Backups guide for more information about VegaOps Toolchain backups.
For any further details or queries, please contact your VegaOps Engineer or email [email protected] for assistance.