Skip to main content

Terraform Modules for Runner Orchestration

Utilizing Terraform for managing GitLab CI runners can significantly streamline your development workflow. Puzl has the following Terraform modules:

This documentation describes the modules and outlines how to incorporate these modules into your existing GitLab Terraform setup.

The module forms the foundation of your integration process. It creates a GitLabPipelinesIntegration resource, which links your GitLab instance with Puzl's Cloud Pipelines service, creating a dedicated environment within your organization's GitLab account. When integrating this module, you create a unique namespace that serves as the base for your GitLab Runner Claims and GitLab access token configurations.

The module allows for the provisioning of GitLab runners specific to your project's needs. Integration into your existing Terraform setup involves defining a GitLabRunnerClaim resource. This resource should be configured within the namespace created by the GitLabPipelinesIntegration module, ensuring isolation of your runners.

For authentication and security, the module generates a Secret object that stores your GitLab access token. This token allows secure interactions between your GitLab Runner Claims and the GitLab API.

Integrating Puzl's Terraform modules into your GitLab setup enhances your CI Runner orchestration making it clean and easy.

If you are already managing or going to manage the whole GitLab configuration with Terraform, this example serve as advanced guide. It demonstrates how to integrate Puzl Terraform modules to your GitLab Terraform configuration and set up the GitLab runners for the desired projects or groups.

If a complete GitLab Terraform configuration is not required, you can refer to this example as a practical template. It provides an understanding of setting up GitLab runners on Puzl using Terraform.