spinnaker/pylib
Eric Wiseblatt a24001f693 Migration of runtime and development scripts.
This is a single large PR adding all the current build/install/run scripting
support.  There are a few noteworthy caveats:

1) The primary build script (build_release.py) is an interim python script.
   The intent is to replace this with a gradle build.

2) The main installation script (install_spinnaker.py) pulls the artifacts
   from a directory or storage bucket (e.g. S3 or GCS). The expectation is
   to run apt-get install spinnaker instead where the spinnaker debian package
   does similar things but with more standard packaging.

3) There are a pair of scripts to install a development environment on a
   machine (install_development.py) and set one up for a user
   (bootstrap_dev.sh). This too is interim and should become
   an apt-get install spinnaker-dev debian package.

4) There is a script to build a Google Image. It uses packer so should be
   easy to add AMIs and other platform image support. In the end, it uses
   the install script, which is independent of platform anyway.

5) There are runtime scripts for managing an instance (start/stop).
   The validate script is minimal at the moment. I'll add rules back
   in future PRs. For now it is representative. The reconfigure script
   is intended to add customizations into the settings.js that have to be
   static.

6) The pylib/yaml directory is a copy of the standard python YAML library
   that is not included by default. It is here to avoid complexity managing
   python libraries (since pip is not installed by default either) when
   there is no other need for python here.

The dev/ directory is only intended for developers (stuff available in the
spinnaker-dev packaging). The others are intended for operational runtime
environments.

The scripts support running a standard installation (in the runtime directory)
or as a developer (straight out of gradle). The developer scripts are
generally separate so they can inject a different configuration for where
to locate components.

Minimal usage as a developer[*] would be:
  mkdir build
  cd build
  ../spinnaker/dev/refresh_source.sh --github_user=<user> --pull_origin
  ../spinnaker/dev/run_dev.sh  (will build and run as a developer)

[*] Assuming you already have a machine setup.
If you dont then you could run
  spinnaker/dev/install_development.py  (to set up a machine)
  spinnaker/dev/bootstrap_dev.sh  (to setup user environments)

The bootstrap_dev.sh will create the build directory and refresh the sources
leaving you in ./build.

To use this in a production environment, you'd need to build a release.
  RELEASE_PATH=<path or storage bucket>
  ../spinnaker/dev/refresh_source.sh --pull_origin
  ../spinnaker/dev/build_release --release_path=$RELEASE_PATH

That will create and write to the RELEASE_PATH and also a
install_spinnaker.py.zip file. You can then copy that .py.zip onto
the machine you want ot install spinnaker on, then
   python install_spinnaker.py.zip \
       --package_manager \
       --release_path=$RELEASE_PATH

To complete the installation create a /root/.spinnaker/spinnaker-local.yml
file (from /opt/spinnaker/config/default-spinnaker-local.yml) and fine tune
it with your credentials and so forth. Be sure to enable a provider and
set credentials.

Then start spinnaker
   sudo /opt/spinnaker/scripts/start_spinnaker.sh
2015-10-28 20:09:00 +00:00
..
spinnaker Migration of runtime and development scripts. 2015-10-28 20:09:00 +00:00
yaml Migration of runtime and development scripts. 2015-10-28 20:09:00 +00:00