Waypoint 0.9 Adds New Runner Commands
HashiCorp Waypoint 0.9 introduces on-demand runner introspection, a runner install command, and support for HCP Waypoint.
We are excited to announce the general availability of HashiCorp Waypoint 0.9. Waypoint is an application deployment tool that aims to deliver a PaaS-like experience for Kubernetes, Amazon ECS, and other platforms. Waypoint 0.9 adds several significant new features, including on-demand runner introspection commands, and an install command to provision runners to your selected platform. These commands allow operators to have more control over where runners are provisioned and how to gather information on what Waypoint is doing for remote-enabled projects.
» On-Demand Runner Introspection
In Waypoint 0.9, we introduced the CLI command waypoint task
. This command
currently gives users more introspection into the task launcher system for On-Demand Runners and what Waypoint is doing with remote-enabled projects. The task CLI will give users more insight into what Waypoint server is doing as it schedules tasks to execute jobs for a project.
The simplest benefit to this command is listing all known tasks in the system:
$ waypoint task list
» Waypoint On-Demand Runner Tasks
ID | RUN JOB OPERATION | TASK STATE | PROJECT | TIME CREATED | TIME COMPLETED
-----------------------------+-------------------+------------+-------------+----------------+-----------------
01G1RYP6JFSEAQVE2SQX38Q19D | Up | RUNNING | go-gitops-0 | 3 seconds ago |
01G1RYP37X5FTD9TFZQE5J2BQM | QueueProject | STOPPED | go-gitops-0 | 7 seconds ago | 3 seconds ago
01G1RYP08Z9V18HMBP5XDPP0KA | Poll | STOPPED | go-gitops-0 | 10 seconds ago | 6 seconds ago
01G1RYNTQJ5421K3QBYR6FPAZP | Init | STOPPED | go-gitops-0 | 15 seconds ago | 12 seconds ago
01G1RYNNEK141B23YDE26XPED7 | Init | STOPPED | go-gitops-0 | 21 seconds ago | 15 seconds ago
This will display a list of all known tasks in the Waypoint server. It will show the current state of the task as well. If you inspect a specific task, it will show you all of the jobs that were launched by Waypoint:
$ waypoint task inspect 01G1RYP6JFSEAQVE2SQX38Q19D
» On-Demand Runner Task Configuration
Task ID: 01G1RYP6JFSEAQVE2SQX38Q19D
Task State: RUNNING
Workspace: default
Project: go-gitops-0
Application: go
» Run Job Configuration
Job Configuration:
Job ID: 01G1RYP6JDVM4FPXEZVHP2JPD9
Operation: Up
Target Runner: 01G1RYP6JD0AV2HEWF4B9CYY29
Workspace: default
Project: go-gitops-0
Application: go
Job Results:
State: Running
» Start Job Configuration
Job Configuration:
Job ID: 01G1RYP6JF57MV6MSGPHMCCQCR
Operation: StartTask
Target Runner: *
Workspace: default
Project: go-gitops-0
Application: go
Job Results:
State: Success
Complete Time: 25 seconds ago
» Stop Job Configuration
Job Configuration:
Job ID: 01G1RYP6JFSS7SHZG2HETKVCBR
Operation: StopTask
Target Runner: *
Workspace: default
Project: go-gitops-0
Application: go
Job Results:
State: Queued
This update pairs well with the new Evaluations UI in Nomad 1.3. If you run your Waypoint server on a Nomad cluster, you can now view info on past on-demand runner jobs via both waypoint job list
, and also directly in the Nomad UI:
» New Runner Install/Uninstall Command
Waypoint’s server installation with waypoint install
comes with an initial Waypoint static runner in the same platform where the server is installed. Waypoint 0.9 introduces a new command, waypoint runner install
, to install a runner to a given platform. The same platforms supported for the server installation, Kubernetes, Amazon ECS, Docker,and HashiCorp Nomad, are also supported for runner installation with this new command.
By default, with this command, after the runner is installed and attempting to communicate with the Waypoint server at the provided address, the server will automatically adopt the new static runner, and create a runner profile targeting the new runner. Here is an example of installing a Waypoint runner to Docker with the new waypoint runner install
command:
$ waypoint runner install -platform=docker -docker-runner-network=waypoint -server-addr=waypoint-server:9701 -server-cookie=abc123
✓ Connecting to: waypoint-server:9701
✓ Runner 01G5F2R0EKY0J8WW4W8HRGZVN1 installed successfully
✓ Runner profile docker-01G5F2R0EKY0J8WW4W8HRGZVN1 created successfully.
✓ Waypoint runner installed and started!
✓ Runner detected by server
✓ Runner 01G5F2R0EKY0J8WW4W8HRGZVN1 adopted successfully.
You can see that the installed runner has registered with the server and has been adopted, and a runner profile has been created with the ID of the new runner set as the target runner for the profile. This immediately enables the new static runner to begin creating on-demand runners for the server’s remote operations in the new platform:
$ waypoint runner list
ID | STATE | KIND | LABELS | LAST REGISTERED
-----------------------------+----------+--------+-------------------------------------------------------------+------------------
01G5F2R0EKY0J8WW4W8HRGZVN1 | adopted | remote | |
$ waypoint runner profile list
Runner profiles
NAME | PLUGIN TYPE | OCI URL | TARGET RUNNER | DEFAULT
----------------------------------------+-------------+--------------------------------------+-----------------------------------------+----------
docker-01G5F2R0EKY0J8WW4W8HRGZVN1 | docker | hashicorp/waypoint-odr:latest | 01G5F2R0EKY0J8WW4W8HRGZVN1 |
This new command makes it easier than ever to install a static runner to your infrastructure, and to start remotely building, deploying, and releasing anywhere.
» One waypoint.hcl, One App
Since the initial release of Waypoint in 2020, the product has supported the ability to configure multiple apps within a single waypoint.hcl
file. Starting with Waypoint 0.9, this functionality is deprecated and will be removed in 0.10. The vast majority of users are not using this functionality and it served mostly as a source of confusion. For users who are using a monorepo pattern, we plan to add better workflows for you.
With a waypoint.hcl
now focused on the configuration of a single application, the concept of a project within the Waypoint data model will be removed, moving applications to the top level. This is already how users talk about using Waypoint and we are confident that it will improve the overall understanding of Waypoint as well.
If you have questions about this change in functionality, we invite you to discuss with us on this HashiCorp Forum thread or the Waypoint GitHub repository.
» Next Steps
The list of new features and improvements in Waypoint 0.9 is too long to detail here, so please see the CHANGELOG for a complete rundown. Finally, don’t miss these useful Waypoint resources:
- Download Waypoint 0.9 from the project website.
- If interested, sign up for the HCP Waypoint Private Beta Program.
- Learn more about Waypoint with tutorials on the HashiCorp Learn site.
- Contribute to the Waypoint open source project and participate in its community.
- Extend Waypoint by creating a plugin.
We hope you enjoy Waypoint 0.9!
Sign up for the latest HashiCorp news
More blog posts like this one
Terraform, Packer, Nomad, and Waypoint updates help scale ILM at HashiConf 2024
New Infrastructure Lifecycle Management (ILM) offerings from HashiCorp Terraform, Packer, Nomad, and Waypoint help organizations manage their infrastructure at scale with reduced complexity.
HCP Waypoint now GA with enhancements to golden workflow capabilities
Announced last year, HCP Waypoint is now generally available and so are templates and add-ons. The new release features HCP API support and an upgraded workflow for templates.
HCP Waypoint actions is now in public beta
The beta of HCP Waypoint actions to let platform teams expose Day 2+ operations and workflows to developers.