💁🏻‍♂️ Introduction

🤷🏻‍♂️ Rationale

GitLab Guard was born out of the chaos during the early days of our «GitLab journey», when we dove head first into using GitLab & GitLab CI for our «Infrastructure as Code» setup.

Managing the settings for a handful of projects was fine, but as the number of GitLab projects grew, keeping everything correctly configured became a daily struggle. A single misconfigured project could trigger compliance headaches, security risks, or a flood of those dreaded “oops” moments.

We needed a way to tame our GitLab, and thus GitLab Guard came to life. Instead of relying on every project maintainer to get settings right, GitLab Guard enforces them from a single point of control. It’s the vigilant guardian, patrolling every project, making sure nothing slips through the cracks, and enforcing internal standards like a strict but fair hall monitor.

🛡️ Compliance

As automation skyrockets, and more vital code calls GitLab its home, standards & compliance stop being optional, and become a crucial corner stone of every IT infrastructure. Triggering automated deployments via CI improves efficiency, but it also introduces risks, such as:

  • Project visibility is too broad, so unauthorised users can inspect it

  • Unauthorised users can retrieve sensitive information

  • Critical branches are not protected

  • Security-related settings, or CI jobs are not enforced

  • Quality gates (e.g. testing) are not enforced, and things will go untested / unreviewed to production

GitLab offers some compliance, and governance tools out of the box, but once you dive into advanced configurations, they quickly become unmanageable. In large enterprises with countless projects and stakeholders, governing GitLab (self-hosted or SaaS) can be frustrating.

To simplify maintenance, and governance, GitLab Guard enforces your organisation’s compliance standards in a clever way. It will audit every project, and ensure they keep in line with the your defined standards.

🏗 Architecture

We made GitLab Guard as simple as possible, and thus came up with the following architectural design: