1. Create AWS role called Spinnaker with proper access.
2. run aws configure and set your keys/secret.
sudo apt-get -y install git
git clone https://github.com/spinnaker/spinnaker.git
spinnaker/dev/install_development.sh
spinnaker/dev/bootstrap_dev.sh
mkdir -p $HOME /.spinnaker
mkdir -p $HOME /.spinnaker/config
cp spinnaker/config/default-spinnaker-local.yml $HOME /.spinnaker/spinnaker-local.yml
chmod 600 $HOME /.spinnaker/spinnaker-local.yml
global:
spinnaker:
timezone: ' America/Los_Angeles'
providers:
aws:
enabled: true
defaultRegion: us-west-2
defaultIAMRole: spinnaker
primaryCredentials:
name: default
defaultKeyPairTemplate: " {{name}}-keypair"
azure:
enabled: ${SPINNAKER_AZURE_ENABLED: false}
defaultRegion: ${SPINNAKER_AZURE_DEFAULT_REGION: westus}
primaryCredentials:
name: my-azure-account
clientId:
appKey:
tenantId:
subscriptionId:
packerResourceGroup:
packerStorageAccount:
defaultResourceGroup:
defaultKeyVault:
google:
enabled: ${SPINNAKER_GOOGLE_ENABLED: false}
defaultRegion: ${SPINNAKER_GOOGLE_DEFAULT_REGION: us-central1}
defaultZone: ${SPINNAKER_GOOGLE_DEFAULT_ZONE: us-central1-f}
primaryCredentials:
name: my-google-account
project: ${SPINNAKER_GOOGLE_PROJECT_ID: }
jsonPath: ${SPINNAKER_GOOGLE_PROJECT_CREDENTIALS_PATH: }
consul:
enabled: ${SPINNAKER_GOOGLE_CONSUL_ENABLED: false}
cf:
enabled: false
defaultOrg: spinnaker-cf-org
defaultSpace: spinnaker-cf-space
primaryCredentials:
name: my-cf-account
api: my-cf-api-uri
console: my-cf-console-base-url
kubernetes:
enabled: ${SPINNAKER_KUBERNETES_ENABLED: false}
primaryCredentials:
name: my-kubernetes-account
dockerRegistryAccount: ${providers.dockerRegistry.primaryCredentials.name}
dockerRegistry:
enabled: ${SPINNAKER_KUBERNETES_ENABLED: false}
primaryCredentials:
name: my-docker-registry
address: ${SPINNAKER_DOCKER_REGISTRY: https:// index.docker.io/ }
repository: ${SPINNAKER_DOCKER_REPOSITORY: }
username: ${SPINNAKER_DOCKER_USERNAME: }
# A path to a plain text file containing the user's password
passwordFile: ${SPINNAKER_DOCKER_PASSWORD_FILE: }
openstack:
enabled: ${SPINNAKER_OPENSTACK_ENABLED: false}
primaryCredentials:
name: my-openstack-account
authUrl: ${OS_AUTH_URL}
username: ${OS_USERNAME}
password: ${OS_PASSWORD}
projectName: ${OS_PROJECT_NAME}
regions: ${OS_REGION_NAME: RegionOne}
services:
default:
protocol: http # Assume all spinnaker subsystems are using http
host: 0.0.0.0 # Assume all spinnaker subsystems are on localhost
redis:
host: localhost
cassandra:
host: localhost
docker:
targetRepository: # Optional, but expected in spinnaker-local.yml if specified.
jenkins:
enabled: ${services.igor.enabled: false}
defaultMaster:
name: Jenkins # The display name for this server
baseUrl:
username:
password:
travis:
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: false
stackdriver:
enabled: false
clouddriver:
aws:
udf:
enabled: true
igor:
enabled: false
deck:
# override these values. Remember to run `reconfigure_spinnaker.sh` after.
baseUrl: http://ec2-54-245-22-252.us-west-2.compute.amazonaws.com
gateUrl: ${services.deck.baseUrl} :8084
# bakeryUrl: ${services.deck.baseUrl}/rosco
auth:
enabled: false
rosco:
configDir: /opt/rosco/config/packer
fiat:
enabled: false
front50:
cassandra:
enabled: true
redis:
enabled: false
storage_bucket: ${SPINNAKER_DEFAULT_STORAGE_BUCKET: }
gcs:
enabled: false
s3:
enabled: false
echo:
cassandra:
enabled: false
inMemory:
enabled: true
cron:
enabled: true
notifications:
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:
enabled: false
token: # the API token for the bot
botName: # the username of the bot
cqlsh and cassandra configs
cd build
sudo apt install python-pip
pip install cqlsh==4.1.1
cqlsh -e " create KEYSPACE front50 WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1};"
cqlsh -e " create KEYSPACE echo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1};"
sudo vim ~ /.bashrc
export GRADLE_OPTS=" -Xmx1g -Xms1g"
export DECK_HOST=" 0.0.0.0"
export AUTH_ENABLED=false
export AUTH=disabled
export NETFLIX_MODE=true
export API_HOST=" http://DNS:8084"
Workaround for CORS error
vim https://github.com/spinnaker/gate/blob/master/gate-web/src/main/groovy/com/netflix/spinnaker/gate/filters/CorsFilter.groovy
// Remove IF
origin = ' http://ec2-54-245-22-252.us-west-2.compute.amazonaws.com:9000'
nvm install v7.0.0
nvm use v7.0.0
cd build/deck/
git checkout -- settings.js
npm install moment
npm install
npm start
exec /bin/bash
cd build/
../spinnaker/dev/run_dev.sh
../spinnaker/dev/stop_dev.sh
How to
http://cloudacademy.com/blog/netflix-spinnaker/
Deps
https://www.liquidweb.com/kb/how-to-install-oracle-java-8-on-ubuntu-14-04-lts/
https://hostpresto.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-14-04/
https://gist.github.com/diegopacheco/08dc5b9f94ef3d788c95c924b6d35f40