Build Status

A tool for configuring, installing, and updating Spinnaker.

Halyard Docs are available on spinnaker.io


NOTICE: This tool is in Beta - some behavior may still change. Please report any bugs/problems/questions on the issue tracker or in slack.

$ curl -O https://raw.githubusercontent.com/spinnaker/halyard/master/install/debian/InstallHalyard.sh
$ sudo bash InstallHalyard.sh


There are three parts to Halyard, the halconfig, the daemon, and hal. In short, hal is a Command Line Interface (CLI) that sends commands to the daemon to update the halconfig, which is ultimately the source of all configuration for your Spinnaker deployment.


The halconfig is a file that is central to how Halyard configures your Spinnaker deployment. Its goal is to centralize all configuration for your Spinnaker deployment (how to authenticate against your cloud providers, which CI system is in use, Spinnaker monitoring, etc...).

For a detailed description, please read the design doc


The daemon validates and generates Spinnaker config using your halconfig. It must run on a machine that has any credentials needed by Spinnaker in order to validate your configuration.


To run a daemon locally for JVM debugging, set the java system property DEBUG=true. For example:

./gradlew halyard-web:run -DDEBUG=true

It listens for the debugger on port 9099, and does not wait for the debugger before running halyard. To change these, check out the relevant bits in halyard-web/halyard-web.gradle


hal is a CLI for making changes to your halconfig via the daemon.

Read the command reference here.