<commit_before>:doctype: book

image:http://join.spinnaker.io/badge.svg[Slack Status,link=http://join.spinnaker.io]

= Using Spinnaker

If you are only interested in using Spinnaker, please refer to the main
Spinnaker site and [Getting Started](http://spinnaker.io/documentation/getting_started.html) guide.

= Setting Up Spinnaker For Development

These instructions cover pulling Spinnaker from source and setting up to run locally against Amazon Web Services and/or Google Cloud Platform accounts. 

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].

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]

These scripts are tested on:

* Ubuntu 14.04 LTS
* Mac OS X 10.11

== Get the bootstrap / configuration repo

[source,bash]
----
#export SPINNAKER_HOME=/path/to/your/Spinnaker/workspace
mkdir -p $SPINNAKER_HOME
cd $SPINNAKER_HOME
git clone git@github.com:spinnaker/spinnaker.git
----

== Configure your environment

The Spinnaker platform has a few prerequisites, which are installed as a part of this configuration process. They are: 

* https://www.oracle.com/java/index.html[JDK8]
* http://redis.io/[Redis]
* http://cassandra.apache.org/[Cassandra]
* https://www.packer.io/[Packer]

=== MacOSX

You need to have http://brew.sh/[homebrew] installed and ensure your version of git is above 2.0.

[source,bash]
----
brew install redis cassandra brew-cask packer
brew cask install java
cd $SPINNAKER_HOME
mkdir build
cd build
../spinnaker/dev/refresh_source.sh --pull_origin --use_ssh --github_user default
----

=== Debian-linux

[source,bash]
----
cd $SPINNAKER_HOME
spinnaker/dev/install_development.sh --package_manager
spinnaker/dev/bootstrap_dev.sh
----

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.

== Configure Spinnaker

We will create a directory for Spinnaker configuration overrides, copy the default configuration template there, and edit to select
the appropriate cloud provider(s).

[source,bash]
----
cd $SPINNAKER_HOME
mkdir -p $HOME/.spinnaker
cp spinnaker/config/default-spinnaker-local.yml $HOME/.spinnaker/spinnaker-local.yml
chmod 600 $HOME/.spinnaker/spinnaker-local.yml
----

Edit `$HOME/.spinnaker/spinnaker-local.yml` and set the enabled option for the cloud provider(s) of your choice.

== Start Spinnaker Services

( 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 ).

[source,bash]
----
cd $SPINNAKER_HOME/build
../spinnaker/dev/run_dev.sh [service]
----

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.

*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
stop and restart run_dev.sh.

== Stop Spinnaker Services

[source,bash]
----
cd $SPINNAKER_HOME/build
../spinnaker/dev/stop_dev.sh [service]
----

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.
Cassandra and redis are not affected by stop_dev.sh
<commit_msg>Remove note about packer.<commit_after>:doctype: book

image:http://join.spinnaker.io/badge.svg[Slack Status,link=http://join.spinnaker.io]

= Using Spinnaker

If you are only interested in using Spinnaker, please refer to the main
Spinnaker site and [Getting Started](http://spinnaker.io/documentation/getting_started.html) guide.

= Setting Up Spinnaker For Development

These instructions cover pulling Spinnaker from source and setting up to run locally against Amazon Web Services and/or Google Cloud Platform accounts. 

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].

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]

These scripts are tested on:

* Ubuntu 14.04 LTS
* Mac OS X 10.11

== Get the bootstrap / configuration repo

[source,bash]
----
#export SPINNAKER_HOME=/path/to/your/Spinnaker/workspace
mkdir -p $SPINNAKER_HOME
cd $SPINNAKER_HOME
git clone <EMAIL>:spinnaker/spinnaker.git
----

== Configure your environment

The Spinnaker platform has a few prerequisites, which are installed as a part of this configuration process. They are: 

* https://www.oracle.com/java/index.html[JDK8]
* http://redis.io/[Redis]
* http://cassandra.apache.org/[Cassandra]
* https://www.packer.io/[Packer]

=== MacOSX

You need to have http://brew.sh/[homebrew] installed and ensure your version of git is above 2.0.

[source,bash]
----
brew install redis cassandra brew-cask packer
brew cask install java
cd $SPINNAKER_HOME
mkdir build
cd build
../spinnaker/dev/refresh_source.sh --pull_origin --use_ssh --github_user default
----

=== Debian-linux

[source,bash]
----
cd $SPINNAKER_HOME
spinnaker/dev/install_development.sh --package_manager
spinnaker/dev/bootstrap_dev.sh
----

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. `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.

== Configure Spinnaker

We will create a directory for Spinnaker configuration overrides, copy the default configuration template there, and edit to select
the appropriate cloud provider(s).

[source,bash]
----
cd $SPINNAKER_HOME
mkdir -p $HOME/.spinnaker
cp spinnaker/config/default-spinnaker-local.yml $HOME/.spinnaker/spinnaker-local.yml
chmod 600 $HOME/.spinnaker/spinnaker-local.yml
----

Edit `$HOME/.spinnaker/spinnaker-local.yml` and set the enabled option for the cloud provider(s) of your choice.

== Start Spinnaker Services

( 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 ).

[source,bash]
----
cd $SPINNAKER_HOME/build
../spinnaker/dev/run_dev.sh [service]
----

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.

*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
stop and restart run_dev.sh.

== Stop Spinnaker Services

[source,bash]
----
cd $SPINNAKER_HOME/build
../spinnaker/dev/stop_dev.sh [service]
----

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.
Cassandra and redis are not affected by stop_dev.sh

{'fraction_non_alphanumeric': 0.07888727423707702, 'fraction_numerical': 0.003321569441561138, 'mean_word_length': 4.512013729977117, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7604063', 'n_tokens_mistral': 2849, 'n_tokens_neox': 2678, 'n_words': 1156}