Skip to content

puzl-cloud/terraform-puzl-githubactionsintegration

Repository files navigation

puzl.cloud Terraform module for GitHub Actions Integration

Overview

This Terraform module is designed to connect your GitHub organization with Cloud Pipelines Service by Puzl. One Integration scopes one team or department within your organization and enables its owner or maintainer to set up and manage runners for executing their jobs.

Administrator (owner of Puzl account) creates Integrations in their Puzl root namespace, which can be found in Puzl dashboard after account creation. The detailed description of the fields used in this module can be found in the related GitHub Actions Integration documentation.

Features

  • Management of GitHub Actions Integrations.
  • Support for multiple GitHub organizations via owner IDs.
  • Support for GitHub Enterprise Server instances.
  • Outputs the name of Claim Namespace where the GitHub Runners can be claimed.
  • Configurable cache retention time for persistent storage.

Requirements

  • Terraform v1.3.0 or higher.
  • Puzl kubernetes provider v2.38.0 or higher.
  • Puzl application installed in your GitHub organization(s).

Usage

To use this module in your Terraform environment, add the following configuration:

locals {
  integration_name = "github-team-integration"
  root_namespace   = "root-cysexkwsk57xtlabdkyn3zpybzslt2l7frtwj5arfodtz"
}

module "integration" {
  source     = "puzl-cloud/githubactionsintegration/puzl"
  
  name       = local.integration_name
  namespace  = local.root_namespace
  github_url = local.github_url
  owner_ids  = [] # Leave empty to serve all organizations where app is installed
  
  service_account_permissions = {
    read_job_namespace_secrets     = true
    manage_claim_namespace_secrets = false
  }
  
  resources = {
    persistentStorage = {
      cacheRetentionTime = 30 # days
    }
  }
}

About

Terraform module for integration of Github Actions to Cloud Pipelines service by puzl.cloud

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages