Install Halyard
Halyard is a command-line administration tool that manages the lifecycle of your Spinnaker deployment, including writing & validating your deployment’s configuration, deploying each of Spinnaker’s microservices, and updating the deployment.
All production-capable deployments of Spinnaker require Halyard in order to install, configure, and update Spinnaker. Though it’s possible to install Spinnaker without Halyard, we don’t recommend it, and if you get stuck we’re just going to tell you to use Halyard.
There are two ways you can install Halyard:
This can be on a desktop or laptop computer, or on a VM.
We recommend you install Halyard on a machine with at least 12GB of RAM.
Note: If you need to run Halyard without access to public internet, read Deploy Custom Spinnaker Builds .
Install on Debian/Ubuntu
Halyard runs on…
- Ubuntu 18.04 or higher
- Debian 10 or higher
Get the latest version of Halyard:
curl -O https://raw.githubusercontent.com/spinnaker/halyard/master/install/debian/InstallHalyard.sh
Install it:
sudo bash InstallHalyard.sh
If you’re prompted for any information, default answers are usually suitable.
Check whether Halyard was installed properly:
hal -v
If this command fails, make sure
hal
is in your$PATH
, and check the logs under/var/log/spinnaker/halyard/halyard.log
.Run
. ~/.bashrc
to enable command completion.
To get help with any hal
command, append -h
. Also, see the
Halyard command
Reference
.
Update Halyard on Debian/Ubuntu
Note: This upgrade procedure only works with Halyard v1.45.0 and higher. If you are using a Halyard version prior to v1.45.0, follow the instructions above to Install Halyard .
sudo apt-get update
sudo apt --only-upgrade install spinnaker-halyard
Uninstall Halyard from Debian/Ubuntu
Important: uninstalling Halyard deletes the entire contents of your
~/.hal
directory. Don’t do it unless you’re prepared to lose your configuration.
If you used Halyard to deploy Spinnaker, and you want to purge that deployment, run the following command:
hal deploy clean
Now you can safely uninstall Halyard:
sudo ~/.hal/uninstall.sh
Install Halyard on Docker
Note: If you install Halyard in a Docker container, you will need to manually change permissions on the mounted ~/.hal directory to ensure Halyard can read and write to it.
Make sure you have Docker CE installed .
On your current machine, make a local Halyard config directory.
mkdir ~/.hal
This will persist between runs of the Halyard docker container.
Start Halyard in a new Docker container.
The following command creates the Halyard Docker container, mounting the Halyard config directory:
docker run -p 8084:8084 -p 9000:9000 \ --name halyard --rm \ -v ~/.hal:/home/spinnaker/.hal \ -it \ us-docker.pkg.dev/spinnaker-community/docker/halyard:stable
This runs as a foreground process in your current shell. This is useful because it emits all of the Halyard daemon’s logs, which are not persisted. If you don’t care about the logs, and would rather run in detached mode, replace the
-it
with-d
Note: Any secrets/config you need to supply to the daemon (for example, a kubeconfig file) must be mounted in either your local
~/.hal
directory, or another directory that you supply todocker run
with additional-v
command-line options.In a separate shell, connect to Halyard:
docker exec -it halyard bash
You can interact with Halyard from here.
Run the following command to enable command completion:
source <(hal --print-bash-completion)
To get help with any hal
command, append -h
. Also, see the
Halyard command
Reference
.
Update Halyard on Docker
Fetch the latest Halyard version.
docker pull us-docker.pkg.dev/spinnaker-community/docker/halyard:stable
Stop the running Halyard container.
docker stop halyard
Re-run the container:
docker run -p 8084:8084 -p 9000:9000 \ --name halyard --rm \ -v ~/.hal:/home/spinnaker/.hal \ -it \ us-docker.pkg.dev/spinnaker-community/docker/halyard:stable
This re-starts the container using the updated image you got in step 1.
In a separate shell, run:
docker exec -it halyard bash
Uninstall Halyard from Docker
To uninstall Halyard, just delete the container.
docker rm halyard
Next steps
Now that Halyard is running, it’s time to choose your cloud provider .