Using Waypoint Runners To Enable GitOps Workflows
Waypoint runners perform builds, deployments, poll for Git repository changes, and allow deployments for any platform.
Getting started with GitOps and software delivery has never been easier, thanks to HashiCorp Waypoint. Through the use of its runners, integrating GitOps into your workflow is no longer out of reach. GitOps is a strategy that uses a Git repository with declarative configuration to automate and deploy infrastructure. Many GitOps workflows focus on the final steps of typical application deployment. You can use HashiCorp Waypoint to facilitate workflows like GitOps to build, deploy, and release your applications.
Starting with version 0.3, Waypoint installs a single runner after successfully executing waypoint server install
. Runners can perform Git operations like tracking which commit is linked to builds, deployments, and releases. Runners also allow remote operations such as waypoint up
, waypoint build
, and waypoint deploy
. When paired with authentication credentials, they enable beneficial functionality and helpful patterns at every step of your GitOps workflow. In this post, you’ll learn how to configure a Waypoint runner and set up Git integration.
» Git Integration
Waypoint tracks Git commits with builds, deploys, releases, and runs waypoint up
when changes get pushed to a repository.
Waypoint allows for configuring the Git data source via the CLI or Waypoint's web UI. By doing so, the Waypoint server stores sensitive information rather than it being present in your Waypoint project configuration.
If you want to configure Waypoint's Git settings in the web UI, you can run the following command to open the Waypoint UI automatically:
$ waypoint ui -authenticate
Navigating to a project’s settings will let you set all of the appropriate values for your builds, deploys, and releases.
If you'd like to enable Git settings via your project file, you can set values as follows:
project = "example"
runner {
enable = true
data_source "git" {
url = "https://github.com/hashicorp/waypoint-examples.git"
path = "docker/node-js"
}
}
app "example" {
// etc
}
Waypoint supports additional polling and ref tracking options documented on our website.
» Runner Configuration
You can use the -runner flag to add configuration details to the Waypoint Runner:
$ waypoint config set -runner AWS_ACCESS_KEY_ID=abcd AWS_SECRET_ACCESS_KEY=1234
Currently, when you set your configuration, these values are exposed on every runner. Waypoint configuration values include the CLI operations run locally. If you’d like to unset any variables, you can assign them an empty value to remove them:
$ waypoint config set -runner AWS_ACCESS_KEY_ID=
To view your current configuration values, you can run:
$ waypoint config get -runner
Waypoint installs a single runner during the Waypoint install step. The documentation shows how you can also add more runners.
Waypoint works with just about any application deployment workflow that you have while providing an extensible toolkit for you to work with, whether you are making a GitOps journey of your own or looking to deploy a demo for a brand new application idea.
» What's Next for Waypoint
In the next major release of Waypoint, we plan to add significant foundational features for the project, like supporting variables within the waypoint.hcl
file, health check report forwarding, mutable deployment patterns with Helm, Nomad job files, and more.
You can also see work on the project's milestones in GitHub. Please check out the 0.4.0 milestone for a list of what we’re currently working on. If you have any questions or suggestions about improving the Waypoint project, please let us know in the Waypoint Discuss forums.
» Learn More
- See our whiteboard introduction to Waypoint and our demo introduction.
- Get started using Waypoint with tutorials on HashiCorp Learn.
- Learn how to use Git integration, runners, and Lambda.
- Read the 0.3.0 release notes on the Waypoint Discuss forum.
- Contribute to the open source Waypoint project and participate in its community
- Extend Waypoint by creating a plugin
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.