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

»app Stanza

Placementapp

The app stanza describes a single deployable application within a project. A majority of the configuration of your project will be done in this stanza.

A minimum of one app stanza is required in your project configuration.

app "frontend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}
app "frontend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}

Multiple app stanzas can be specified if Waypoint should deploy multiple applications in your project. Some examples where this might be useful are a deployment that targets multiple application tiers, a project that is part of a monorepo, or applications that require lock-step deployment.

project = "multi-tier-project"

app "frontend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}

app "backend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}
project = "multi-tier-project"

app "frontend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}

app "backend" {
  build {
    # ...
  }

  deploy {
    # ...
  }

  release {
    # ...
  }
}

Select a specified app with the parameter -app <app-label>. For example, to deploy the frontend app from the multi-tier-project, run waypoint deploy -app frontend. The -app flag is a global target, and can be used with all Waypoint commands.

»app Parameters

»Label

The app stanza takes a "label", which is "frontend" above. The label of the stanza is the name of the application.

The application name is used by Waypoint for organizational purposes. It is listed in the UI, annotates logs, and more. The application name is accessible to plugins and is used for defaults in many cases.

Warning: the application name cannot be changed. Changing the application name will cause Waypoint to treat it as a new application. History from the prior name will be preserved but under the prior name. We will provide a path to rename applications in a future version.

The app stanza is composed of other stanzas and parameters, namely build, deploy, and optionally, release stanzas.

»Required

  • build (build) - Describes how to build this application during waypoint up or waypoint build.

  • deploy (deploy) - Describes how to deploy this application during waypoint up or waypoint deploy.

»Optional

  • labels (map<string>string: {}) - A set of labels to apply to all operations for this application. All builds, deploys, etc. will have these labels applied.

  • path (string: "") - The path to the application source. This defaults to the directory alongside the project configuration file. This is used by builders to determine the root path for the source to build.

  • release (release: nil) - Describes how to release this application during waypoint up or waypoint release. See default behavior for how releases are handled if release configuration is not specified.

  • url (url: nil) - Describes the URL service behavior for this application. If this isn't specified, the default settings configured on the Waypoint server will be used.

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