Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
September 26, 2016 11:24



A tool for configuring, installing, and updating Spinnaker.

Halyard Docs are available on


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
$ sudo bash


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.