2015-11-17 00:00:02 +03:00
:doctype: book
2015-11-13 10:08:12 +03:00
2015-11-17 00:11:19 +03:00
image:http://join.spinnaker.io/badge.svg[Slack Status,link=http://join.spinnaker.io]
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
= Getting Started with Spinnaker
2015-11-17 02:02:53 +03:00
These instructions cover pulling Spinnaker from source and setting up to run locally against Amazon Web Services and/or Google Cloud Platform accounts.
2015-10-30 01:28:08 +03:00
2015-11-17 02:02:53 +03:00
Please ensure you have set up your target environment correctly by following step 1 of the http://spinnaker.io/documentation/getting_started.html[Getting Started Documentation].
2015-10-30 01:28:08 +03:00
2015-11-17 02:02:53 +03:00
If you do not wish to build from source, please follow the http://spinnaker.io/documentation/getting_started.html#step-3-install-and-run-spinnaker[Install and Run Spinnaker] section of the getting started guide for a one line deployment in Ubuntu.
If you would prefer to try a container based solution, see https://github.com/spinnaker/spinnaker/tree/master/experimental/docker-compose[docker-compose installation]
2015-10-30 05:24:35 +03:00
2015-11-11 00:43:29 +03:00
These scripts are tested on:
2015-11-17 02:02:53 +03:00
2015-11-11 00:43:29 +03:00
* Ubuntu 14.04 LTS
* Mac OS X 10.11
2015-11-17 00:00:02 +03:00
== Get the bootstrap / configuration repo
2015-10-30 05:24:35 +03:00
2015-11-17 00:00:02 +03:00
[source,bash]
----
2015-10-30 01:28:08 +03:00
#export SPINNAKER_HOME=/path/to/your/Spinnaker/workspace
mkdir -p $SPINNAKER_HOME
cd $SPINNAKER_HOME
git clone git@github.com:spinnaker/spinnaker.git
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
== Configure your environment
2015-11-10 01:24:51 +03:00
The Spinnaker platform has a few prerequisites, which are installed as a part of this configuration process. They are:
2015-11-17 00:00:02 +03:00
* https://www.oracle.com/java/index.html[JDK8]
* http://redis.io/[Redis]
* http://cassandra.apache.org/[Cassandra]
* https://www.packer.io/[Packer]
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
=== MacOSX
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
You need to have http://brew.sh/[homebrew] installed and ensure your version of git is above 2.0.
2015-11-04 19:51:43 +03:00
2015-11-17 00:00:02 +03:00
[source,bash]
----
2015-10-30 01:28:08 +03:00
brew install redis cassandra brew-cask packer
brew cask install java
cd $SPINNAKER_HOME
2015-11-12 22:47:23 +03:00
mkdir build
cd build
../spinnaker/dev/refresh_source.sh --pull_origin --use_ssh --github_user default
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
=== Debian-linux
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
[source,bash]
----
2015-10-30 01:28:08 +03:00
cd $SPINNAKER_HOME
2015-11-05 01:43:52 +03:00
spinnaker/dev/install_development.sh --package_manager
2015-11-04 04:17:18 +03:00
spinnaker/dev/bootstrap_dev.sh
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
2015-11-05 01:43:52 +03:00
The `--package_manager` argument requests the Debian Package Manager be used
to the greatest extent possible. This permits adding new source repositories
where package dependencies are distributed from non-standard repositories
(e.g. cassandra). The alternative is `--nopackage_manager` to use the
Package Manager for standard dependencies but explicitly install packages
that come from other sources. `--nopackage_manager` is intended for
installations where IT policies discourage or forbid adding additional
source locations.
The `bootstrap_dev.sh` script will ask to install additional components.
`packer` is only needed if you plan on building VM images. `gcloud`
is only needed to write releases to Google Cloud Storage, but is convenient
to have if you plan on using or accessing Google Cloud Platform resources
from your development environment. These could be installed at a system level
rather than user level, but the default install requires updating your path
so is performed here.
2015-11-17 00:00:02 +03:00
== Configure Spinnaker
2015-10-30 01:28:08 +03:00
We will create a directory for Spinnaker configuration overrides, copy the default configuration template there, and edit to select
2015-10-30 04:57:19 +03:00
the appropriate cloud provider(s).
2015-10-30 01:28:08 +03:00
2015-11-17 00:00:02 +03:00
[source,bash]
----
2015-10-30 01:28:08 +03:00
cd $SPINNAKER_HOME
mkdir -p $HOME/.spinnaker
cp spinnaker/config/default-spinnaker-local.yml $HOME/.spinnaker/spinnaker-local.yml
2015-10-30 05:24:35 +03:00
chmod 600 $HOME/.spinnaker/spinnaker-local.yml
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
Edit `$HOME/.spinnaker/spinnaker-local.yml` and set the enabled option for the cloud provider(s) of your choice.
2015-11-17 00:00:02 +03:00
== Start Spinnaker Services
2015-10-30 01:28:08 +03:00
2015-11-12 21:30:02 +03:00
( If you're running on Mac OS, please make sure that your redis server and cassandra server is up and running. Make sure that cqlsh is accessible in your path and you can connect to cassandra by calling `cqlsh` in your terminal ).
2015-11-17 00:00:02 +03:00
[source,bash]
----
2015-11-04 04:21:54 +03:00
cd $SPINNAKER_HOME/build
../spinnaker/dev/run_dev.sh [service]
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
2015-10-30 05:24:35 +03:00
If a service is provided, then just that one service will be started.
If no service is provided, then all the services will be started
(including redis and cassandra unless they are specified with a remote host).
If a service is already running (even if not yet available) then it will
not be restarted.
2015-11-17 00:00:02 +03:00
*Note* `run_dev.sh` might get stuck waiting on a service to start. Hitting CTRL-C just stops the waiting on service it doesn't terminate the services. If it seems stuck
2015-10-30 01:28:08 +03:00
stop and restart run_dev.sh.
2015-11-17 00:00:02 +03:00
== Stop Spinnaker Services
[source,bash]
----
2015-11-04 04:21:54 +03:00
cd $SPINNAKER_HOME/build
../spinnaker/dev/stop_dev.sh [service]
2015-11-17 00:00:02 +03:00
----
2015-10-30 01:28:08 +03:00
2015-10-30 05:24:35 +03:00
If a service is provided, then just that one service will be stopped.
If no service is provided then all the spinnaker services will be stopped.
2015-11-17 00:11:19 +03:00
Cassandra and redis are not affected by stop_dev.sh