Skip to content

Latest commit

 

History

History
134 lines (93 loc) · 3.38 KB

README.md

File metadata and controls

134 lines (93 loc) · 3.38 KB

CircleCI

terraform-provider-spinnaker

Manage Spinnaker applications and pipelines with Terraform.

Demo

demo

Example

provider "spinnaker" {
    server = "http://spinnaker-gate.myorg.io"
}

resource "spinnaker_application" "my_app" {
    application = "terraformtest"
    email = "ethan@armory.io"
}

resource "spinnaker_pipeline" "terraform_example" {
    application = "${spinnaker_application.my_app.application}"
    name = "Example Pipeline"
    pipeline = file("pipelines/example.json")
}

Installation

Build from Source

Requires Go and Dep be installed on the system.

$ go get github.com/armory-io/terraform-provider-spinnaker
$ cd $GOPATH/src/github.com/armory-io/terraform-provider-spinnaker
$ dep ensure
$ go build

Installing 3rd Party Plugins

See Terraform documentation for installing 3rd party plugins.

Provider

Example Usage

provider "spinnaker" {
    server             = "http://spinnaker-gate.myorg.io"
    config             = "/path/to/config.yml"
    ignore_cert_errors = true
}

Argument Reference

  • server - The Gate API Url
  • config - (Optional) - Path to Gate config file. See the Spin CLI for an example config.
  • ignore_cert_errors - (Optional) - Set this to true to ignore certificate errors from Gate. Defaults to false.

Resources

spinnaker_application

Example Usage

resource "spinnaker_application" "my_app" {
    application = "terraformtest"
    email = "ethan@armory.io"
}

Argument Reference

  • application - Application name
  • email - Owner email

spinnaker_pipeline

Example Usage

resource "spinnaker_pipeline" "terraform_example" {
    application = "${spinnaker_application.my_app.application}"
    name = "Example Pipeline"
    pipeline = file("pipelines/example.json")
}

Argument Reference

  • application - Application name
  • name - Pipeline name
  • pipeline - Pipeline JSON in string format, example file(pipelines/example.json)

spinnaker_pipeline_template

Example Usage

data "template_file" "dcd_template" {
    template = "${file("template.yml")}"
}

resource "spinnaker_pipeline_template" "terraform_example" {
    template = "${data.template_file.dcd_template.rendered}"
}

Argument Reference

spinnaker_pipeline_template_config

Example Usage

data "template_file" "dcd_template_config" {
    template = "${file("config.yml")}"
}

resource "spinnaker_pipeline_template_config" "terraform_example" {
    pipeline_config = "${data.template_file.dcd_template_config.rendered}"
}

Argument Reference