• Stars
    star
    145
  • Rank 254,144 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created about 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Spinnaker provider for Terraform

CircleCI

terraform-provider-spinnaker

Manage Spinnaker applications and pipelines with Terraform.

Note - this project is experimental and not supported by Armory for production use.

We are not actively developing terraform-provider-spinnaker. If anyone is interested in taking over maintenance of this project, please reach out to [email protected]. If you'd like to learn more about what features Armory supports, checkout our Platform Compatibility Matrix.

Demo

demo

Example

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

resource "spinnaker_application" "my_app" {
    application = "terraformtest"
    email       = "[email protected]"
}

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

$ env GO111MODULE=on go get github.com/armory-io/terraform-provider-spinnaker
$ cd $GOPATH/src/github.com/armory-io/terraform-provider-spinnaker
$ env GO111MODULE=on 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
    default_headers    = "Api-Key=abc123"
}

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.
  • default_headers - (Optional) - Pass through a comma separated set of key value pairs to set default headers for the gate client when sending requests to your gate endpoint e.g. "header1=value1,header2=value2". Defaults to "".

Resources

spinnaker_application

Example Usage

resource "spinnaker_application" "my_app" {
    application = "terraformtest"
    email = "[email protected]"
}

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

More Repositories

1

arm

One of many Armory CLIs, collect them all
Go
16
star
2

k8s-installer

Install Armory Platform on Kubernetes
Shell
11
star
3

spinnaker-operator

Armory's spinnaker-operator's (aka. armory-operator) CRDs and examples manifests
Smarty
10
star
4

quick-spin

A minimal Spinnaker install provided in a one-liner
Dockerfile
5
star
5

policy-engine-examples

Open Policy Agent
4
star
6

spin-trigger-pipeline-action

TypeScript
3
star
7

armory-stack

Stores a set of stable Armory service versions for the Armory Platform.
3
star
8

armory-cli

The CLI for Armory Continuous Deployments-as-a-Service
Go
2
star
9

armory-hello-deploy

Python
2
star
10

yaml-tools

Python
2
star
11

slack-blaster

Go
2
star
12

monitoring

Tools for monitoring our internal applications.
Go
2
star
13

kayentactl

Go
2
star
14

borealis-demo

Shell
2
star
15

mass-pipeline-plugin

Experiment in mass deploying pipelines
Java
2
star
16

go-commons

Go
2
star
17

gcloud-auth-helper

Sidecar authentication helper for Google Cloud
Shell
1
star
18

traffic-generator

Go
1
star
19

poll-api-job

A simple example of polling an API for a desired output.
Shell
1
star
20

plugin-metadata-updater

GitHub action for updating plugin metadata repositories
Kotlin
1
star
21

deploy-action

A Github Action for deploying to Kubernetes and AWS EC2
Go
1
star
22

gradle

1
star
23

sandwich-facts

Simple Go application for sharing facts about sandwiches
Go
1
star
24

proxy

Shell
1
star
25

demo-api

A simple demo API which uses cloud resources.
Go
1
star
26

spin-pipeline-execute-action

A Github action for executing Spinnaker pipelines using the spin CLI
Shell
1
star
27

potato-facts-go

The official Armory CD-as-a-Service demo application
Go
1
star
28

cdaas-examples

Tutorials, examples, and recipes for Armory Continuous Deployments-as-a-Service
1
star