Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

Spinnaker Chart #377

Merged
merged 22 commits into from
Jan 20, 2017
Merged
Changes from 20 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions stable/spinnaker/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
11 changes: 11 additions & 0 deletions stable/spinnaker/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
description: A Helm chart for Kubernetes
name: spinnaker
version: 0.1.0
home: http://spinnaker.io/
sources:
- https://github.com/spinnaker
- https://github.com/viglesiasce/images
maintainers:
- name: Vic Iglesias
email: viglesias@google.com
33 changes: 33 additions & 0 deletions stable/spinnaker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Spinnaker Chart

[Spinnaker](http://spinnaker.io/) is a resilient service mesh for cloud native apps

## Chart Details
This chart will provision a fully functional and fully featured Spinnaker installation
that can deploy and manage applications in the cluster that it is deployed to.

Redis and Minio are used as the stores for Spinnaker state.

For more information on Spinnaker and its capabilities, see it's [documentation](http://www.spinnaker.io/docs).

## Installing the Chart

To install the chart with the release name `my-release`:

```bash
$ helm install --name my-release stable/spinnaker
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention the timeout value on install

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It won't exist in helm until 2.2

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a note for now. Will update when helm 2.2 ships

```

## Configuration

Configurable values are documented in the `values.yaml`.

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

```bash
$ helm install --name my-release -f values.yaml stable/spinnaker
```

> **Tip**: You can use the default [values.yaml](values.yaml)
83 changes: 83 additions & 0 deletions stable/spinnaker/config/clouddriver.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
server:
port: ${services.clouddriver.port:7002}
address: ${services.clouddriver.host:localhost}

redis:
connection: ${services.redis.connection:redis://localhost:6379}

udf:
# Controls whether UserDataProviders are used to populate user data of new
# server groups. If false, user data is copied over from ancestor server
# groups on both CopyLastAsgAtomicOperation and
# ModifyAsgLaunchConfigurationOperation (only if no user data is provided
# on the given request).
enabled: ${services.clouddriver.aws.udf.enabled:true}

default:
account:
env: ${providers.aws.primaryCredentials.name}

aws:
# AWS Credentials are passed either as environment variables or through
# a standard AWS file $HOME/.aws/credentials
# See providers.aws.primaryCredentials in spinnaker.yml for more
# info on setting environment variables.
enabled: ${providers.aws.enabled:false}
defaults:
iamRole: ${provider.aws.defaultIAMRole:BaseIAMRole}
defaultRegions:
- name: ${providers.aws.defaultRegion:us-east-1}
defaultFront50Template: ${services.front50.baseUrl}
defaultKeyPairTemplate: ${providers.aws.defaultKeyPairTemplate}

azure:
enabled: ${providers.azure.enabled:false}

accounts:
- name: ${providers.azure.primaryCredentials.name}
clientId: ${providers.azure.primaryCredentials.clientId}
appKey: ${providers.azure.primaryCredentials.appKey}
tenantId: ${providers.azure.primaryCredentials.tenantId}
subscriptionId: ${providers.azure.primaryCredentials.subscriptionId}

google:
enabled: ${providers.google.enabled:false}

accounts:
- name: ${providers.google.primaryCredentials.name}
project: ${providers.google.primaryCredentials.project}
jsonPath: ${providers.google.primaryCredentials.jsonPath}

cf:
enabled: ${providers.cf.enabled:false}

accounts:
- name: ${providers.cf.primaryCredentials.name}
api: ${providers.cf.primaryCredentials.api}
console: ${providers.cf.primaryCredentials.console}
org: ${providers.cf.defaultOrg}
space: ${providers.cf.defaultSpace}
username: ${providers.cf.account.name:}
password: ${providers.cf.account.password:}

kubernetes:
enabled: ${providers.kubernetes.enabled:false}
accounts:
- name: ${providers.kubernetes.primaryCredentials.name}
serviceAccount: true
dockerRegistries:
- accountName: ${providers.kubernetes.primaryCredentials.dockerRegistryAccount}

dockerRegistry:
enabled: ${providers.dockerRegistry.enabled:false}
accounts:
- name: ${providers.dockerRegistry.primaryCredentials.name}
address: ${providers.dockerRegistry.primaryCredentials.address}
username: ${providers.dockerRegistry.primaryCredentials.username:}
passwordFile: ${providers.dockerRegistry.primaryCredentials.passwordFile:}
repositories:
- ${providers.dockerRegistry.primaryCredentials.repository}

credentials:
primaryAccountTypes: ${providers.aws.primaryCredentials.name}, ${providers.google.primaryCredentials.name}, ${providers.cf.primaryCredentials.name}, ${providers.azure.primaryCredentials.name}
challengeDestructiveActionsEnvironments: ${providers.aws.primaryCredentials.name}, ${providers.google.primaryCredentials.name}, ${providers.cf.primaryCredentials.name}, ${providers.azure.primaryCredentials.name}
62 changes: 62 additions & 0 deletions stable/spinnaker/config/echo-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
server:
port: ${services.echo.port:8089}
address: 0.0.0.0

cassandra:
enabled: false

spinnaker:
inMemory:
enabled: true
cassandra:
enabled: false

front50:
baseUrl: ${services.front50.baseUrl:http://localhost:8080}

orca:
baseUrl: ${services.orca.baseUrl:http://localhost:8083}

endpoints.health.sensitive: false

slack:
enabled: ${services.echo.notifications.slack.enabled:false}
token: ${services.echo.notifications.slack.token}

spring:
mail:
host: ${services.echo.notifications.mail.host}
port: ${services.echo.notifications.mail.port}
username: ${services.echo.notifications.mail.username}
password: ${services.echo.notifications.mail.password}
properties:
mail:
smtp:
auth: ${services.echo.notifications.mail.auth:true}
ssl:
enable: ${services.echo.notifications.mail.ssl:true}

mail:
enabled: ${services.echo.notifications.mail.enabled:false}
host: ${services.echo.notifications.mail.host}
from: ${services.echo.notifications.mail.fromAddress}

hipchat:
enabled: ${services.echo.notifications.hipchat.enabled:false}
baseUrl: ${services.echo.notifications.hipchat.url}
token: ${services.echo.notifications.hipchat.token}

twilio:
enabled: ${services.echo.notifications.sms.enabled:false}
baseUrl: ${services.echo.notifications.sms.url:https://api.twilio.com/}
account: ${services.echo.notifications.sms.account}
token: ${services.echo.notifications.sms.token}
from: ${services.echo.notifications.sms.from}

scheduler:
enabled: ${services.echo.cron.enabled:true}
threadPoolSize: 20
triggeringEnabled: true
pipelineConfigsPoller:
enabled: true
pollingIntervalMs: 30000
66 changes: 66 additions & 0 deletions stable/spinnaker/config/echo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
server:
port: ${services.echo.port:8089}
address: 0.0.0.0

cassandra:
enabled: false
embedded: true
host: ${services.cassandra.host:localhost}

spinnaker:
baseUrl: ${services.deck.baseUrl}
cassandra:
enabled: ${services.echo.cassandra.enabled:true}
inMemory:
enabled: ${services.echo.inMemory.enabled:false}

front50:
baseUrl: ${services.front50.baseUrl:http://localhost:8080}

orca:
baseUrl: ${services.orca.baseUrl:http://localhost:8083}

endpoints.health.sensitive: false

slack:
enabled: ${services.echo.notifications.slack.enabled:false}
token: ${services.echo.notifications.slack.token}

spring:
mail:
host: ${services.echo.notifications.mail.host}
port: ${services.echo.notifications.mail.port}
username: ${services.echo.notifications.mail.username}
password: ${services.echo.notifications.mail.password}
properties:
mail:
smtp:
auth: ${services.echo.notifications.mail.auth:true}
ssl:
enable: ${services.echo.notifications.mail.ssl:true}
mail:
enabled: ${services.echo.notifications.mail.enabled:false}
host: ${services.echo.notifications.mail.host}
from: ${services.echo.notifications.mail.fromAddress}

hipchat:
enabled: ${services.echo.notifications.hipchat.enabled:false}
baseUrl: ${services.echo.notifications.hipchat.url}
token: ${services.echo.notifications.hipchat.token}

twilio:
enabled: ${services.echo.notifications.sms.enabled:false}
baseUrl: ${services.echo.notifications.sms.url:https://api.twilio.com/}
account: ${services.echo.notifications.sms.account}
token: ${services.echo.notifications.sms.token}
from: ${services.echo.notifications.sms.from}

scheduler:
enabled: ${services.echo.cron.enabled:true}
threadPoolSize: 20
triggeringEnabled: true
pipelineConfigsPoller:
enabled: true
pollingIntervalMs: 30000
cron:
timezone: ${services.echo.cron.timezone}
10 changes: 10 additions & 0 deletions stable/spinnaker/config/fiat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
server:
port: ${services.fiat.port:7003}
address: 0.0.0.0

redis:
connection: ${services.redis.connection:redis://localhost:6379}

auth:
getAll:
enabled: false
27 changes: 27 additions & 0 deletions stable/spinnaker/config/front50-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
server:
port: ${services.front50.port:8080}
address: 0.0.0.0

aws:
simpleDBEnabled: ${providers.aws.simpleDBEnabled:false}
defaultSimpleDBDomain: ${providers.aws.defaultSimpleDBDomain}

cassandra:
enabled: false

spinnaker:
cassandra:
enabled: false
redis:
enabled: false
gcs:
enabled: ${services.front50.gcs.enabled}
project: ${services.front50.gcs.project}
jsonPath: /root/.kube/account.json # Don't change this
rootFolder: ${services.front50.bucket_root}
bucket: ${services.front50.storage_bucket}
s3:
enabled: ${services.front50.s3.enabled}
rootFolder: ${services.front50.bucket_root}
bucket: ${services.front50.storage_bucket}
endpoint: ${services.front50.s3.endpoint}
39 changes: 39 additions & 0 deletions stable/spinnaker/config/front50.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
server:
port: ${services.front50.port:8080}
address: ${services.front50.host:localhost}

cassandra:
enabled: ${services.front50.cassandra.enabled:true}
embedded: ${services.cassandra.embedded:false}
host: ${services.cassandra.host:localhost}

aws:
simpleDBEnabled: ${providers.aws.simpleDBEnabled:false}
defaultSimpleDBDomain: ${providers.aws.defaultSimpleDBDomain}

spinnaker:
cassandra:
enabled: ${services.front50.cassandra.enabled:true}
host: ${services.cassandra.host:localhost}
port: ${services.cassandra.port:9042}
cluster: ${services.cassandra.cluster:CASS_SPINNAKER}
keyspace: front50
name: global

redis:
enabled: ${services.front50.redis.enabled:false}

gcs:
enabled: ${services.front50.gcs.enabled:false}
bucket: ${services.front50.storage_bucket:}
# See https://cloud.google.com/storage/docs/managing-buckets#manage-class-location
bucketLocation: ${services.front50.bucket_location:}
rootFolder: ${services.front50.bucket_root:front50}
project: ${providers.google.primaryCredentials.project}
jsonPath: ${providers.google.primaryCredentials.jsonPath}

aws:
enabled: ${services.front50.s3.enabled:false}
bucket: ${services.front50.storage_bucket:}
rootFolder: ${services.front50.bucket_root:front50}
endpoint: ${services.front50.s3.endpoint:}
25 changes: 25 additions & 0 deletions stable/spinnaker/config/gate-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
server:
port: ${services.gate.port:8084}
address: 0.0.0.0

# Circular references since we're already using 'services'
# services:
# clouddriver:
# baseUrl: ${services.clouddriver.baseUrl:localhost:7002}
# orca:
# baseUrl: ${services.orca.baseUrl:localhost:8083}
# front50:
# baseUrl: ${services.front50.baseUrl:localhost:8080}
# #optional services:
# echo:
# enabled: ${services.echo.enabled:true}
# baseUrl: ${services.echo.baseUrl:8089}
# flapjack:
# enabled: ${services.flapjack.enabled:false}
# igor:
# enabled: ${services.igor.enabled:false}
# baseUrl: ${services.igor.baseUrl:8088}

redis:
connection: ${services.redis.connection}

Loading