Skip to content

An ansible role for installing and configuring Netflix's Spinnaker

License

Notifications You must be signed in to change notification settings

AMeng/spinnaker-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spinnaker

An ansible role for installing and configuring Spinnaker.

Travis Build Ansible Galaxy

Installation

ansible-galaxy install AMeng.spinnaker-ansible

Role Variables

Installation:

  • spinnaker_install: Boolean. Defaults to true. Should spinnaker be installed? If using the spinnaker AMI, you probably want to disable this.
  • spinnaker_backup: Boolean. Defaults to false. Should a cron job be added to backup cassandra? Setting this true requires that you define spinnaker_backup_bucket.
  • spinnaker_backup_bucket: String. The S3 bucket to store cassandra backups. Include a trailing slash if using folder names.
  • spinnaker_cassandra_local: Boolean. Defaults to true. Will cassandra run locally?
  • spinnaker_cassandra_version: String. Defaults to "2.1.11"
  • spinnaker_redis_local: Boolean. Defaults to true. Will redis run locally?
  • spinnaker_packer_version: String. Defaults to "0.12.1"

Configuration:

  • spinnaker_environment: Dictionary. Environment variables for the spinnaker process. See example playbooks below or check the Spinnaker GitHub Repo for more examples.

These variables are used to populate Spinnaker's YAML configuration files. See the example playbooks below for more information. The YAML under each variable will be copied to the following files:

Variable File
spinnaker_config spinnaker-local.yml
spinnaker_config_clouddriver clouddriver-local.yml
spinnaker_config_echo echo-local.yml
spinnaker_config_gate gate-local.yml
spinnaker_config_igor igor-local.yml
spinnaker_config_orca orca-local.yml
spinnaker_config_fiat fiat-local.yml
spinnaker_config_rosco rosco-local.yml
spinnaker_config_front50 front50-local.yml

Example Playbooks

Default configuration:

- hosts: servers
  roles:
    - AMeng.spinnaker

Basic configuration:

- hosts: servers
  roles:
    - AMeng.spinnaker
  vars:
    spinnaker_backup: True
    spinnaker_backup_bucket: "MyBucket"
    spinnaker_environment:
      spinnaker_aws_enabled: "true"
    spinnaker_config:
      providers:
        aws:
          enabled: true
          defaultRegion: us-east-1
          defaultIAMRole: spinnaker
      services:
        deck:
          timezone: America/Denver

Advanced configuration:

- hosts: servers
  roles:
    - AMeng.spinnaker
  vars:
    spinnaker_backup: True
    spinnaker_backup_bucket: "MyBucket/MyFolder/"
    spinnaker_environment:
      spinnaker_aws_enabled: "true"
      spinnaker_aws_default_region: us-east-1
      aws_vpc_id: vpc-12345678
      aws_subnet_id: subnet-98765432
    spinnaker_config:
      providers:
        aws:
          enabled: true
          defaultRegion: us-east-1
          defaultIAMRole: spinnaker
      services:
        deck:
          timezone: America/Denver
        auth:
          enabled: true
    spinnaker_config_clouddriver:
      aws:
        accounts:
          - name: production
            accountId: 111111111111
            discovery: http://eureka.production.example.com
          - name: staging
            accountId: 222222222222
            discovery: http://eureka.staging.example.com
    spinnaker_config_gate:
      saml:
        enabled: true
        requireAuthentication: true
        url: https://example.okta.com/app/spinnaker/xxxxxxxxxxxxxxxxxxxx/sso/saml
        certificate: /path/to/certificate
        issuerId: http://www.okta.com/xxxxxxxxxxxxxxxxxxxx
        keyStore: /path/to/keystore
        keyStoreType: JKS
        keyStorePassword: password
        keyStoreAliasName: okta

Supported Versions

  • Ansible 2.0.2.0
  • Ansible 2.1.3.0

Notes

This playbook is only tested with AWS. While spinnaker supports other clouds, this playbook has not been tested with them. Contributions for other providers will be gladly accepted.

License

MIT

About

An ansible role for installing and configuring Netflix's Spinnaker

Resources

License

Stars

Watchers

Forks

Packages

No packages published