A bakery for deployable images
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github fix(docs): Update PULL_REQUEST_TEMPLATE contributing link (#206) Jun 1, 2017
gradle chore(builds): Introduces composite builds via gradle plugin. Removes… Oct 25, 2018
halconfig chore(dependencies): Autobump spinnaker-dependencies (#288) Oct 3, 2018
rosco-core fix(bakery/oracle): add private key passphrase (#294) Oct 17, 2018
rosco-manifests Revert "fix(bake/manifests): capture onny stdout in Helm bakery" (#279) Oct 2, 2018
rosco-web fix(bakery/oracle): private key passphrase is optional (#302) Nov 8, 2018
.clog.toml chore(changelog): Extend changelog commit keywords. (#196) Mar 22, 2017
.gitignore Update .gitignore. Jan 28, 2015
.travis.yml rotated credentials Nov 9, 2016
AUTHORS Add Schibsted to Authors. (#99) May 20, 2016
Dockerfile chore(packer): upgrade packer binary to 1.3.1 (#300) Nov 8, 2018
Dockerfile.slim chore(packer): upgrade packer binary to 1.3.1 (#300) Nov 8, 2018
LICENSE.txt 1st pass at bakery web-app. Jan 28, 2015
README.md chore(build): add debug flag to rosco build (#236) Mar 3, 2018
build.gradle chore(dependencies): Autobump spinnaker-dependencies (#307) Dec 6, 2018
cloudbuild-tagged.yaml chore(nightly build): Adds clouddriver-tagged.yaml for nightly builds ( Jul 10, 2017
cloudbuild.yaml chore(nightly build): Adds clouddriver-tagged.yaml for nightly builds ( Jul 10, 2017
codestyle.xml Updating README for local development (#96) May 20, 2016
gradlew chore(build): Gradle 4.7 Apr 23, 2018
gradlew.bat chore(build): Gradle 4.7 Apr 23, 2018
settings.gradle feat(bake/manifests): Rudimentary bake manifest support (#243) Apr 10, 2018

README.md

Rosco

Build Status

A bakery for use by Spinnaker to produce machine images.

It presently supports producing Google Compute Engine images, AWS amis and Azure images. It relies on packer and can be easily extended to support additional platforms.

It exposes a REST api which can be experimented with via the Swagger UI: http://localhost:8087/swagger-ui.html

Developing rosco

Need to run rosco locally for development? Here's what you need to setup and run:

Environment Setup

git clone git@github.com:spinnaker/rosco.git
git clone git@github.com:spinnaker/spinnaker.git

Docker Setup (runs redis locally)

docker-machine create --virtualbox-disk-size 8192 --virtualbox-memory 8192 -d virtualbox spinnaker
eval $(docker-machine env spinnaker)
cd spinnaker/experimental/docker-compose
docker-compose up -d redis

Verify redis

docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
(printf "PING\r\n";) | nc -v localhost 6379

IDE setup

Generate Intellij gradle project files

./gradlew idea

Apply groovy code formatting scheme

  1. Preferences -> Editor -> Code Style -> Manage ... -> Import -> select codestyle.xml from the project directory.
  2. Apply the 'spinnaker' scheme.

Running App

./gradlew bootRun

Debugging

To start the JVM in debug mode, set the Java system property DEBUG=true:

./gradlew -DDEBUG=true

The JVM will then listen for a debugger to be attached on port 8187. The JVM will not wait for the debugger to be attached before starting Rosco; the relevant JVM arguments can be seen and modified as needed in build.gradle.

Verifying

curl -v localhost:8087/bakeOptions

Swagger

http://localhost:8087/swagger-ui.html

Docker teardown

docker-compose stop
docker-machine rm spinnaker