A Spinnaker provider for Terraform
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spinnaker
.gitignore
README.md
main.go

README.md

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 be installed on the system.

$ go get github.com/armory-io/terraform-provider-spinnaker
$ cd $GOPATH/src/armory-io/terraform-provider-spinnaker
$ 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)