armory / dinghy

Pipelines as code for Spinnaker
Apache License 2.0
31 stars 12 forks source link

Coverage Status

dinghy

Dinghy allows you to create and maintain Spinnaker pipeline templates in source control.

Read more in our documentation.

How It Works

There are two primitives:

How it works:

Local Development

You will need a golang toolchain and make to work on this project.

You should complete and add the file located in example/dinghy.yml to /opt/spinnaker/config/dinghy.yml since this is the file that dinghy search for configuration.

Building & Testing

You can run the make build and make test targets to build and test the project. You will need Redis running (either locally or in your Spinnaker cluster), as well as Front50 and Orca.

If you have an existing Spinnaker cluster, you can port-forward to your local machine like so:

kubectl -n spinnaker port-forward svc/spin-redis   6379
kubectl -n spinnaker port-forward svc/spin-front50 8080
kubectl -n spinnaker port-forward svc/spin-orca    8083
kubectl -n spinnaker port-forward svc/spin-fiat    7003
kubectl -n spinnaker port-forward svc/spin-echo    8089

Sample Request

curl -X POST \
  -H "Content-Type: application/json" \
  -d "@example/github_payload.json" \
  http://localhost:8081/webhooks/git/github

(The github_payload.json file in the example directory is a minimal set for testing the git webhook, as an example)

Dinghy is also embedded in the arm cli tool for local validation of pipelines.