Skip to content

Instantly share code, notes, and snippets.

@jkschneider
Created June 7, 2019 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jkschneider/0a333ed96ecea940c2ffd0b6386142fc to your computer and use it in GitHub Desktop.
Save jkschneider/0a333ed96ecea940c2ffd0b6386142fc to your computer and use it in GitHub Desktop.
Spinnaker config with CloudFoundry, Jenkins, Artifactory
# This file is intended to serve as a master configuration for a Spinnaker
# deployment. Customizations to the deployment should be made in another file
# named "spinnaker-local.yml". The distribution has a prototype called
# "default-spinnaker-local.yml" which calls out the subset of attributes of
# general interest. It can be copied into a "spinnaker-local.yml" to start
# with. The prototype does not change any of the default values here, it just
# surfaces the more critical attributes.
global:
spinnaker:
environment: test
timezone: 'America/Los_Angeles'
services:
default:
# These defaults can be modified to change all the spinnaker subsystems
# (clouddriver, gate, etc) at once, but not external systems (jenkins, etc).
# Individual systems can still be overridden using their own section entry
# directly under 'services'.
host: localhost
protocol: http
clouddriver:
host: ${services.default.host}
port: 7002
baseUrl: ${services.default.protocol}://${services.clouddriver.host}:${services.clouddriver.port}
aws:
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: true
echo:
enabled: true
host: ${services.default.host}
port: 8089
baseUrl: ${services.default.protocol}://${services.echo.host}:${services.echo.port}
# Persistence mechanism to use
cassandra:
enabled: false
inMemory:
enabled: true
cron:
# Allow pipeline triggers to run periodically via cron expressions.
enabled: true
timezone: ${global.spinnaker.timezone}
notifications:
# The following blocks can enable Spinnaker to send notifications
# using the corresponding mechanism.
# See http://www.spinnaker.io/docs/notifications-and-events-guide
# for more information.
mail:
enabled: false
host: # the smtp host
fromAddress: # the address for which emails are sent from
hipchat:
enabled: false
url: # the hipchat server to connect to
token: # the hipchat auth token
botName: # the username of the bot
sms:
enabled: false
account: # twilio account id
token: # twilio auth token
from: # phone number by which sms messages are sent
slack:
# See https://api.slack.com/bot-users for details about using bots
# and how to create your own bot user.
enabled: false
token: # the API token for the bot
botName: # the username of the bot
deck:
# Frontend configuration.
# If you are proxying Spinnaker behind a single host, you may want to
# override these values. Remember to run `reconfigure_spinnaker.sh` after.
host: ${services.default.host}
port: 9000
baseUrl: ${services.default.protocol}://${services.deck.host}:${services.deck.port}
gateUrl: ${services.gate.baseUrl}
bakeryUrl: ${services.bakery.baseUrl}
timezone: ${global.spinnaker.timezone}
auth:
enabled: false
fiat:
enabled: false
host: ${services.default.host}
port: 7003
baseUrl: ${services.default.protocol}://${services.fiat.host}:${services.fiat.port}
front50:
host: ${services.default.host}
port: 8080
baseUrl: ${services.default.protocol}://${services.front50.host}:${services.front50.port}
# To use a cloud storage bucket on Amazon S3 or Google Cloud Storage instead
# of cassandra, set the storage_bucket, disable cassandra, and enable one of
# the service providers.
storage_bucket: ${SPINNAKER_DEFAULT_STORAGE_BUCKET:}
# (GCS Only) Location for bucket.
bucket_location:
bucket_root: front50
cassandra:
enabled: false
redis:
enabled: false
gcs:
enabled: false
project: ${providers.google.primaryCredentials.project}
jsonPath: ${providers.google.primaryCredentials.jsonPath}
s3:
enabled: true
# To use an Azure storage account instead of Cassandra:
# Disable Cassandra above, enable azs, and set the storage account name and key
azs:
enabled: false
storageAccountName:
storageAccountKey:
storageContainerName: front50
gate:
host: ${services.default.host}
port: 8084
baseUrl: ${services.default.protocol}://${services.gate.host}:${services.gate.port}
igor:
# If you are integrating Jenkins then you must also enable Spinnaker's
# "igor" subsystem.
enabled: true
host: ${services.default.host}
port: 8088
baseUrl: ${services.default.protocol}://${services.igor.host}:${services.igor.port}
kato:
host: ${services.clouddriver.host}
port: ${services.clouddriver.port}
baseUrl: ${services.clouddriver.baseUrl}
mort:
host: ${services.clouddriver.host}
port: ${services.clouddriver.port}
baseUrl: ${services.clouddriver.baseUrl}
orca:
host: ${services.default.host}
port: 8083
baseUrl: ${services.default.protocol}://${services.orca.host}:${services.orca.port}
timezone: ${global.spinnaker.timezone}
enabled: true
oort:
host: ${services.clouddriver.host}
port: ${services.clouddriver.port}
baseUrl: ${services.clouddriver.baseUrl}
rosco:
host: ${services.default.host}
port: 8087
baseUrl: ${services.default.protocol}://${services.rosco.host}:${services.rosco.port}
# You need to provide the fully-qualified path to the directory containing
# the packer templates.
# They typically live in rosco's config/packer directory.
configDir: /opt/rosco/config/packer
bakery:
host: ${services.rosco.host}
port: ${services.rosco.port}
baseUrl: ${services.rosco.baseUrl}
extractBuildDetails: true
allowMissingPackageInstallation: false
chaos:
enabled: false
docker:
# This target repository is used by the bakery to publish baked docker images.
# Do not include http://.
targetRepository: # Optional, but expected in spinnaker-local.yml if specified.
jenkins:
# If you are integrating Jenkins, set its location here using the baseUrl
# field and provide the username/password credentials.
# You must also enable the "igor" service listed separately.
# The "name" entry is used for the display name when selecting
# this server.
#
# If you have multiple jenkins servers, you will need to list
# them in an igor-local.yml. See jenkins.masters in config/igor.yml.
#
# Note that jenkins is not installed with Spinnaker so you must obtain this
# on your own if you are interested.
enabled: ${services.igor.enabled:false}
defaultMaster:
name: Jenkins
baseUrl: # Expected in spinnaker-local.yml
username: # Expected in spinnaker-local.yml
password: # Expected in spinnaker-local.yml
redis:
host: ${services.default.host}
port: 6379
connection: redis://${services.redis.host}:${services.redis.port}
cassandra:
# cassandra.enabled is no longer used
# cassandra is enabled or disabled on a per-service basis
# where the alternative persistence mechanism for that service
# can be enabled.
host: ${services.default.host}
port: 9042
embedded: false
cluster: CASS_SPINNAKER
travis:
# If you are integrating Travis, set its location here using the baseUrl
# and adress fields and provide the githubToken for authentication.
# You must also enable the "igor" service listed separately.
#
# If you have multiple travis servers, you will need to list
# them in an igor-local.yml. See travis.masters in config/igor.yml.
#
# Note that travis is not installed with Spinnaker so you must obtain this
# on your own if you are interested.
enabled: false
defaultMaster:
name: ci # The display name for this server. Gets prefixed with "travis-"
baseUrl: https://travis-ci.com
address: https://api.travis-ci.org
githubToken: # GitHub scopes currently required by Travis is required.
spectator:
webEndpoint:
enabled: true
stackdriver:
enabled: ${SPINNAKER_STACKDRIVER_ENABLED:false}
projectName: ${SPINNAKER_STACKDRIVER_PROJECT_NAME:${providers.google.primaryCredentials.project}}
credentialsPath: ${SPINNAKER_STACKDRIVER_CREDENTIALS_PATH:${providers.google.primaryCredentials.jsonPath}}
###### CONFIGURE DETAILS HERE #######
cloudfoundry:
enabled: true
accounts:
- name: seoul
user: 'admin'
password: 'PASSWORD'
api: api.sys.seoul.cf-app.com
artifacts:
http:
enabled: true
accounts:
- name: public
maven:
enabled: true
accounts:
- name: artifactory
repositoryUrl: https://ARTIFACTOY_HOST/libs-releases-local
jenkins:
enabled: true
masters:
- name: my-jenkins-master
address: http://JENKINSHOST
username: admin
password: PASSWORD
artifactory:
enabled: true
searches:
- base-url: https://ARTIFACTORY_HOST
name: TDA-artifactory
repo: libs-relaeses-local
groupId: com.tda # optional
username: buildmaster
password: PASSWORD
###### END OF CONFIGURE DETAILS #######
# Required for front50 as of October 2018
spinnaker.redis.enabled: true
# elasticSearch:
# connection: http://localhost:9200
# activeIndex: spinnaker
# For orca. required after an update around September 2018
spring.autoconfigure.exclude:
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
management.security.enabled: false
echo:
enabled: true
host: ${services.default.host}
port: 8089
baseUrl: ${services.default.protocol}://${services.echo.host}:${services.echo.port}
igor:
# If you are integrating Jenkins then you must also enable Spinnaker's
# "igor" subsystem.
enabled: true
host: ${services.default.host}
port: 8088
baseUrl: ${services.default.protocol}://${services.igor.host}:${services.igor.port}
orca:
host: ${services.default.host}
port: 8083
baseUrl: ${services.default.protocol}://${services.orca.host}:${services.orca.port}
timezone: ${global.spinnaker.timezone}
enabled: true
@jkschneider
Copy link
Author

Start configuration here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment