Terraform Modules for Runner Orchestration
Utilizing Terraform for managing GitLab CI runners can significantly streamline your development workflow. Puzl has the following Terraform modules:
- puzl-cloud/gitlabpipelinesintegration/puzl
- puzl-cloud/gitlabrunnerclaim/puzl
- puzl-cloud/gitlabaccesstoken/puzl
This documentation describes the modules and outlines how to incorporate these modules into your existing GitLab Terraform setup.
Module for GitLab Integration with Puzl
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.
Module for GitLab Runner Claim on Puzl
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.
Module for GitLab Access Token Management on Puzl
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.
Practical Integration Steps
Integrating Puzl's Terraform modules into your GitLab setup enhances your CI Runner orchestration making it clean and easy.
Managing GitLab Configuration via Terraform
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.
Managing GitLab Runners Only
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.