Rosco is Spinnaker's bakery, producing machine images with Hashicorp Packer and rendered manifests with templating engines Helm and Kustomize.
It presently supports producing Alibaba Cloud images, Google Compute Engine images, Huawei Cloud images, Tencent Cloud images, AWS AMI's and Azure images. It relies on Hashicorp 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
Need to run rosco locally for development? Here's what you need to setup and run:
git clone git@github.com:spinnaker/rosco.git
git clone git@github.com:spinnaker/spinnaker.git
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
docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
(printf "PING\r\n";) | nc -v localhost 6379
./gradlew idea
- Preferences -> Editor -> Code Style -> Manage ... -> Import -> select codestyle.xml from the project directory.
- Apply the 'spinnaker' scheme.
./gradlew
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
.
curl -v localhost:8087/bakeOptions
http://localhost:8087/swagger-ui.html
docker-compose stop
docker-machine rm spinnaker