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.
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:
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 listRunner 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.
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.
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:
We hope you enjoy Waypoint 0.9!
Looking back on a busy year, we’re proud of so many technical accomplishments. We’re even more excited about the future.
If you’re attending AWS re:Invent in Las Vegas, Nov. 27 - Dec. 1, visit us for breakout sessions, expert talks, and product demos to learn how to accelerate your adoption of a cloud operating model.
From AI to the edge, HashiCorp Co-Founder and CTO Armon Dadgar shares his insights on where the cloud is headed, and what that means.