• HashiCorp Developer

  • HashiCorp Cloud Platform
  • Terraform
  • Packer
  • Consul
  • Vault
  • Boundary
  • Nomad
  • Waypoint
  • Vagrant
Waypoint
  • Install
  • Tutorials
  • Documentation
  • CLI
  • Plugins
  • Try Cloud(opens in new tab)
  • Sign up
Waypoint Home

Documentation

Skip to main content
  • Documentation
  • Getting Started


    • Overview
    • Build
    • Deploy
    • Release
    • Hooks
    • Labels
    • Workspace and Label Scoping
  • URL Service
  • Logs
  • Exec
  • Workspaces
  • Plugins
  • Triggers

  • Troubleshooting
  • Glossary

  • Roadmap

  • Resources

  • Tutorial Library
  • Community Forum
    (opens in new tab)
  • Support
    (opens in new tab)
  • GitHub
    (opens in new tab)
  1. Developer
  2. Waypoint
  3. Documentation
  4. Lifecycle
  5. Release
  • Waypoint
  • v0.9.x
  • v0.8.x
  • v0.7.x
  • v0.6.x
  • v0.5.x
  • v0.4.x
  • v0.3.x
  • v0.2.x
  • v0.1.x

ยปRelease

A release activates a previously staged deployment and opens it to general traffic. This step may involve adding a deployment to a load balancer, updating DNS, configuring a service mesh, etc.

The release stage is optional. See default behavior for more information.

Configuration

The release is configured using the release stanza within an app. This section is optional. If it isn't specified, each deployment is assumed to be released.

app "my-app" {
  release {
    use "aws-alb" {}
  }
}

Default Behavior

If the release stage is not specified, two different behaviors may occur depending on if the deployment platform being used supports a default releaser.

Platform Default Releaser

The deployment platform being used may support what is called a "default releaser". This means the deployment platform has default release behavior if an explicit release stage isn't specified. For example, the Kubernetes platform supports a default releaser that creates a Service resource.

In this case, the default releaser will be used automatically if no release configuration is explicitly available in the Waypoint project configuration file.

No Releaser

If no default releaser exists for the deployment platform and no release is configured in the Waypoint project configuration, then each deploy is expected to already be released.

This behavior matches how deploys may have been considered in the past: you deploy and it is immediately available to consumers of your application.

In this scenario, it is expected that either the deployment platform makes the deployments available to traffic or this is handled externally.

Deployment Pruning

During the release stage, Waypoint will prune unreleased deployments. By default, Waypoint keeps just one previous deployment for easy rollback behavior. Any older unreleased deployments are destroyed.

This behavior can be changed using the -prune and -prune-retain flags on waypoint up and waypoint release. The -prune flag can be used to disable pruning completely and -prune-retain can be used to specify how many recent deployments to keep around.

Note: CLI flags are the only way to customize this today. In the future, we will support setting defaults on the server side, in the waypoint.hcl file, and via the UI.

Pruning All Unreleased Deployments

If you don't want to keep any past deployments, specify a value of 0 for -prune-retain:

$ waypoint up -prune-retain=0
...

or

$ waypoint release -prune-retain=0
...
Edit this page on GitHub

On this page

  1. Release
  2. Configuration
  3. Default Behavior
  4. Deployment Pruning
Give Feedback(opens in new tab)
  • Certifications
  • System Status
  • Terms of Use
  • Security
  • Privacy
  • Trademark Policy
  • Trade Controls
  • Give Feedback(opens in new tab)