/halyard

A tool for configuring, installing, and updating Spinnaker

Primary LanguageJavaApache License 2.0Apache-2.0

Halyard

Build Status

A tool for configuring, installing, and updating Spinnaker.

Halyard Docs are available on spinnaker.io

Installation

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

Overview

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.

halconfig

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

daemon

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.

debugging

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

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

Read the command reference here.

Container Images

Building locally

Execute ./release/docker.sh to build both the default openjdk8 and ubuntu based images.