Skip to content
This repository has been archived by the owner on Oct 20, 2023. It is now read-only.
/ rosco Public archive
forked from spinnaker/rosco

A bakery for deployable images

License

Notifications You must be signed in to change notification settings

SFDC/rosco

 
 

Repository files navigation

Rosco

Build Status

A bakery for use by Spinnaker to produce machine images.

It presently supports producing Alibaba Cloud images, 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 [email protected]:spinnaker/rosco.git
git clone [email protected]: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

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

Packages

No packages published

Languages

  • Groovy 82.1%
  • Java 14.9%
  • PowerShell 1.5%
  • Shell 1.3%
  • Slim 0.2%