All Projects → alphagov → terraform-provider-concourse

alphagov / terraform-provider-concourse

Licence: MIT license
A terraform provider for Concourse

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to terraform-provider-concourse

terraform-provider-circleci
Terraform provider for CircleCI
Stars: ✭ 94 (+91.84%)
Mutual labels:  terraform-provider
terraform-provider-redfish
Terraform provider for Redfish REST APIs
Stars: ✭ 54 (+10.2%)
Mutual labels:  terraform-provider
terraform-provider-env0
Terraform Provider for env0
Stars: ✭ 28 (-42.86%)
Mutual labels:  terraform-provider
cf-ops-automation
a collaboration framework for operating cloudfoundry and services at scale
Stars: ✭ 21 (-57.14%)
Mutual labels:  concourse
terraform-provider-artifactory
Terraform provider for managing Artifactory
Stars: ✭ 17 (-65.31%)
Mutual labels:  terraform-provider
terraform-provider-upcloud
Terraform provider for UpCloud
Stars: ✭ 52 (+6.12%)
Mutual labels:  terraform-provider
terraform-provider-rancher
Terraform Rancher provider
Stars: ✭ 35 (-28.57%)
Mutual labels:  terraform-provider
terraform-provider-graylog
Terraform Provider for Graylog
Stars: ✭ 21 (-57.14%)
Mutual labels:  terraform-provider
terraform-provider-fusionauth
registry.terraform.io/providers/gpsinsight/fusionauth/latest
Stars: ✭ 23 (-53.06%)
Mutual labels:  terraform-provider
terraform-provider-mcbroken
Base the count of your infrastucture resources on the current number of broken mcdonald's ice cream machines nationally or by a city of your choosing. Powered by https://mcbroken.com/
Stars: ✭ 29 (-40.82%)
Mutual labels:  terraform-provider
terraform-provider-argocd
Terraform provider for ArgoCD
Stars: ✭ 245 (+400%)
Mutual labels:  terraform-provider
terraform-provider-azurerm
Terraform provider for Azure Resource Manager
Stars: ✭ 3,829 (+7714.29%)
Mutual labels:  terraform-provider
terraform-provider-sysdig
Sysdig Terraform provider. Allow to handle Sysdig Secure policies as code.
Stars: ✭ 41 (-16.33%)
Mutual labels:  terraform-provider
cf-cli-resource
Cloud Foundry CLI Concourse Resource
Stars: ✭ 46 (-6.12%)
Mutual labels:  concourse
terraform-provider-vra
Terraform VMware vRealize Automation provider
Stars: ✭ 82 (+67.35%)
Mutual labels:  terraform-provider
terraform-provider-scaleway
Terraform Scaleway provider
Stars: ✭ 171 (+248.98%)
Mutual labels:  terraform-provider
ansible-concourse
An ansible role to manage Concourse CI
Stars: ✭ 22 (-55.1%)
Mutual labels:  concourse
terraform-provider-cloudhealth
Terraform provider for Cloudhealth
Stars: ✭ 14 (-71.43%)
Mutual labels:  terraform-provider
terraform-provider-civo
Terraform Civo provider
Stars: ✭ 54 (+10.2%)
Mutual labels:  terraform-provider
pulumi-resource
Pulumi Resource Type for Concourse
Stars: ✭ 16 (-67.35%)
Mutual labels:  concourse

terraform-provider-concourse

What

A terraform provider for concourse

Why

fly is an amazing tool, but configuration using scripts running fly is not ideal.

Prerequisites

Install go, and terraform.

How to install and use

make install

How to build and test for development

make
make integration-tests

Example terraform

Create a provider (using target from fly)

provider "concourse" {
  target = "target_name"
}

Create a provider (using a local username and password)

Note: this is not basic authentication

provider "concourse" {
  url  = "https://wings.pivotal.io"
  team = "main"

  username = "localuser"
  password = "very-secure-password"
}

Look up all teams

data "concourse_teams" "teams" {
}

output "team_names" {
  value = data.concourse_teams.teams.names
}

Look up a team

data "concourse_team" "my_team" {
  team_name = "main"
}

output "my_team_name" {
  value = data.concourse_team.my_team.team_name
}

output "my_team_owners" {
  value = data.concourse_team.my_team.owners
}

output "my_team_members" {
  value = data.concourse_team.my_team.members
}

output "my_team_pipeline_operators" {
  value = data.concourse_team.my_team.pipeline_operators
}

output "my_team_viewers" {
  value = data.concourse_team.my_team.viewers
}

Look up a pipeline

data "concourse_pipeline" "my_pipeline" {
  team_name     = "main"
  pipeline_name = "pipeline"
}

output "my_pipeline_team_name" {
  value = data.concourse_pipeline.my_pipeline.team_name
}

output "my_pipeline_pipeline_name" {
  value = data.concourse_pipeline.my_pipeline.pipeline_name
}

output "my_pipeline_is_exposed" {
  value = data.concourse_pipeline.my_pipeline.is_exposed
}

output "my_pipeline_is_paused" {
  value = data.concourse_pipeline.my_pipeline.is_paused
}

output "my_pipeline_json" {
  value = data.concourse_pipeline.my_pipeline.json
}

output "my_pipeline_yaml" {
  value = data.concourse_pipeline.my_pipeline.yaml
}

Create a team

Supports owners, members, pipeline_operators, and viewers.

Specify users and groups by prefixing the strings:

  • user:
  • group:
resource "concourse_team" "my_team" {
  team_name = "my-team"

  owners = [
    "group:github:org-name",
    "group:github:org-name:team-name",
    "user:github:tlwr",
  ]

  viewers = [
    "user:github:samrees"
  ]
}

Create a pipeline

resource "concourse_pipeline" "my_pipeline" {
  team_name     = "main"
  pipeline_name = "my-pipeline"

  is_exposed = true
  is_paused  = true

  pipeline_config        = file("pipeline-config.yml")
  pipeline_config_format = "yaml"
}

# OR

resource "concourse_pipeline" "my_pipeline" {
  team_name     = "main"
  pipeline_name = "my-pipeline"

  is_exposed = true
  is_paused  = true

  pipeline_config        = file("pipeline-config.json")
  pipeline_config_format = "json"
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].