June 20-22 Announcing HashiConf Europe full schedule: keynotes, sessions, labs & more Register Now
  • Infrastructure
    • terraform
    • packer
  • Networking
    • consul
  • Security
    • vault
    • boundary
  • Applications
    • nomad
    • waypoint
    • vagrant
  • HashiCorp Cloud Platform

    A fully managed platform to automate infrastructure on any cloud with HashiCorp products.

    • consul
    • terraform
    • vault
    • packerbeta
    Visit cloud.hashicorp.com
  • Overview
  • Tutorials
  • Docs
  • CLI
  • Plugins
  • Community
GitHub
Download
    • v0.8.x (latest)
    • v0.7.x
    • v0.6.x
    • v0.5.x
    • v0.4.x
    • v0.3.x
    • v0.2.x
    • v0.1.x
    • Overview
      • Overview
      • Helm
      • Heroku, Vercel, etc.
      • Kubernetes
  • Getting Started
    • Overview
    • Compatibility Promise
    • Protocol Version Table
    • Release Notifications
      • Overview
      • Upgrade to 0.2.0

    • Install
    • Externally Built Images
    • Building Container Images
    • Helm Deployment
    • YAML-Free Deployment
    • YAML Directory Deployment
    • Resource Status
    • ConfigMaps and Secrets

    • Overview
    • Git Integration
    • Remote Operations
    • Overview
    • Build
    • Deploy
    • Release
    • Hooks
    • Labels
    • Workspace and Label Scoping
    • Overview
      • Overview
      • Input Variables
      • External Data
      • artifact
      • deploy
      • entrypoint
      • labels
      • path
      • workspace
      • Overview
      • Full Reference
      • Templating
      • Overview
      • Expressions
      • JSON Syntax
    • app
    • build
    • config
    • deploy
    • hook
    • plugin
    • registry
    • release
    • runner
    • url
    • use
    • variable
  • URL Service
  • Logs
  • Exec
    • Overview
    • Dynamic Values
    • Files
    • Internal Values
    • Workspace and Label Scoping
    • Overview
      • Overview
      • OIDC
      • Overview
      • Maintenance
      • Production
      • Security
    • Express Server Install
    • Overview
    • Configuration
    • Profiles
    • On-Demand Runner
    • Additional Runners
  • Workspaces
  • Plugins
  • Triggers

    • Overview
      • Overview
      • Registering Plugin Components
      • Handling Configuration
      • Implementing the Builder Interface
      • Compiling the Plugin
      • Creating an Example Application
      • Testing the Plugin
    • Initializing the SDK
    • Passing Values Between Components
      • Overview
      • Authenticator
      • Configurable
      • ConfigurableNotify
      • Builder
      • Registry
      • Platform
      • ReleaseManager
      • Destroy
      • Status
      • Default Parameters
      • Overview
    • Overview
    • Disable
    • Overview
    • GitHub Actions
    • GitLab CI/CD
    • CircleCI
    • Jenkins
  • Troubleshooting
  • Glossary

    • Overview
    • Architecture
    • Operation Execution
  • Roadmap
Type '/' to Search

»Operation Execution

This page documents how operations such as build, deploy, and release execute within Waypoint. This helps explain what components need access to what systems and how information flows within Waypoint.

Operation execution in Waypoint always flows through three components: the client enqueues a job request with the server, the server assigns the job to a runner, and the runner executes the job and streams logs and output back to the server and the client through the server. We will show a diagram of this happening.

To improve the user experience, Waypoint simplifies what is required and automatically runs certain components as needed. We will cover all of these cases on this page.

»Most Common: CLI and a Remote Server

In most cases, you use a CLI directly with a Waypoint server. In this model, there are no standalone "runner" processes running. This is the usage style in the getting started guide that we introduce to new users of Waypoint.

For this execution, the CLI transparently spins up a runner in-process. This runner registers with the server like any other runner process but advertises that it can only accept jobs that are directly assigned to it. The CLI queues a job with the server for the operation and directly assigns this to the runner it is running in-process. See the diagram below. The dotted boxes represent process boundaries (perhaps on different computers) and the white boxes are logical components within a single process.

CLI and a Remote Server

»Most Advanced: CLI, Remote Server, Remote Runner

The most advanced case is using a CLI to execute an operation that is executed on a remote runner. This scenario is most common to try to hide credentials, access internal systems the CLI may not be able to, etc.

For this style of execution, the CLI queues the job with the server, the server assigns the job to a runner, and the job executes it. The dotted boxes represent process boundaries (perhaps on different computers) and the white boxes are logical components within a single process.

CLI and a Remote Server

In this mode, the CLI does not need to remain attached to the server after queueing the job. The CLI may exit and the job will continue executing in the background.

»Most Limited: CLI, No Server

The most limited scenario is using a CLI with no remote server. This is also known as "local mode" execution.

For this execution, the CLI transparently spins up both a runner and server in-process. The CLI then follows the standard pattern of queueing and executing a job, but this all happens within a single process boundary. The dotted boxes represent process boundaries (perhaps on different computers) and the white boxes are logical components within a single process.

Local Mode Execution

github logoEdit this page

Using Waypoint

The best way to understand what Waypoint can enable for your projects is to give it a try.

Waypoint tutorials
Waypoint documentation
Tutorial

Get Started - Kubernetes

Build, deploy, and release applications to a Kubernetes cluster.

View
Tutorial

Introduction to Waypoint

Waypoint enables you to publish any application to any platform with a single file and a single command.

View

Waypoint is maintained by HashiCorp, Inc.

View Code of Conduct
DocumentationCLI ReferenceTutorialsIntegrations
All systems normal