• 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 contentOverview
  • Getting Started


  • URL Service
  • Logs
  • Exec
  • Workspaces
  • Plugins
    • Overview
    • Configuration
  • 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. Pipelines
  5. Configuration
  • 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

ยปPipeline Configurations

This section details some of the various built-in Step plugins and their configuration options.

Step Configurations

Steps have a few basic configuration options that are defined below.

name
// this step has a label name "my-step-name"
step "my-step-name" {
  use "build" {}
}
  • Stanza label
  • Type: string
  • Required
depends_on

A step can depend on many other steps within a pipeline. By default, a step will always depend on the previously defined step unless depends_on is set. No step cycles are allowed. This means you cannot have steps that depend on other steps that form a cyclic dependency.

step "my-step-name" {
  depends_on = ["step-1", "step-3", "root"]

  use "deploy" {}
}
  • Type: Array of strings
  • Optional
image_url

Currently used only for the exec step, this is the container image URL that will be used to spawn the exec pipeline step.

step "my-step-name" {
  image_url = "https://example.com:5000/waypoint-odr:latest"

  use "exec" {}
}
  • Type: string
  • Optional
workspace

If set, will override the workspace in which this step runs.

step "my-step-name" {
  workspace = "production"

  use "deploy" {}
}
  • Type: string
  • Optional
use

If used in a step, this will denote which "built-in" Step plugin to use.

// this step will "use" the build plugin
step "my-step-name" {
  use "build" {}
}
  • Type: stanza
pipeline

Steps can also contain embedded pipelines.

Note that it isn't valid to have both a "use" and a "pipeline "stanza inside a Step.

// this step has an embedded pipeline
step "my-step-name" {
  pipeline "another-pipeline" {
    step "more" { ... }
  }
}

Built-In Step Config Options

Currently, Pipeline Steps have "built-in" plugins that are backed by the existing Waypoint job system. See below for examples of each of these built-in Steps and their parameters.

build

This built-in Step will run a Build operation job, similar to running waypoint build.

step "my-build-step" {
  use "build" {
    disable_push = false
  }
}
disable_push
  • Type: bool
  • Optional

deploy

This built-in Step will run a Deploy operation job, similar to running waypoint deploy.

step "my-deploy-step" {
  use "deploy" {}
}

release

This built-in Step will run a Release operation job, similar to running waypoint release.

step "my-release-step" {
  use "release" {
    prune        = true
    prune_retain = 4
  }
}
deployment_ref

0 or unset will use the latest deployment for a release. To specify a Deployment for release, this accepts Deployment sequence numbers.

  • Type: int
  • Optional
prune

If true, will prune old releases beyond the prune_retain limit when a new release is created.

  • Type: bool
  • Optional
prune_retain

The total number of deployments to retain when pruning on a release. This will only be valid if prune_retain_override is set to true.

  • Type: int
  • Optional
  • Default: 2
prune_retain_override

If true, will respect the prune_retain value when pruning during a release.

  • Type: bool
  • Optional

up

This built-in Step will run an Up operation job, similar to running waypoint up.

step "my-up-step" {
  use "up" {
    prune = true
  }
}
prune

If true, will prune old releases beyond the prune_retain limit when a new release is created.

  • Type: bool
  • Optional
prune_retain

The total number of deployments to retain when pruning on a release. This will only be valid if prune_retain_override is set to true.

  • Type: int
  • Optional
  • Default: 2
prune_retain_override

If true, will respect the prune_retain value when pruning during a release.

  • Type: bool
  • Optional

exec

step "my-exec-step" {
  use "exec" {
    command = "echo"
    args    = ["hello world!"]
  }
}
command

The command to execute on the container for this Step.

  • Type: string
  • Required
args

The arguments to pass through to the command when running on the container for this Step.

  • Type: string
  • Optional

pipeline

This built-in Step lets you reference another pipeline within a Step to be run.

step "my-pipeline-step" {
  use "pipeline" {
    project = "my-pipeline-project"
    name    = "other-pipeline"
  }
}
project

The project that the pipeline reference exists in. Note that currently Waypoint does not support running across Project pipelines.

  • Type: string
  • Optional
name

The pipeline name that the pipeline reference is for.

  • Type: string
  • Required
Edit this page on GitHub

On this page

  1. Pipeline Configurations
  2. Step Configurations
  3. Built-In Step Config Options
Give Feedback(opens in new tab)
  • Certifications
  • System Status
  • Terms of Use
  • Security
  • Privacy
  • Trademark Policy
  • Trade Controls
  • Give Feedback(opens in new tab)