»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.

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.