»Getting Started

Before getting started with Boundary, it's important to understand a few key concepts. Please consult our Boundary concepts page to familiarize yourself with Boundary's architecture, and terminology.


The examples in Getting Started all revolve around running in dev mode. There are a few requirements for running dev mode:

  1. Docker is installed
  2. A route to download the Postgres Docker image is available or a local image cache is available
  3. A Boundary binary in your $PATH

»What is Dev Mode?

Dev mode is an all-in-one installation method for getting started with Boundary quickly. As the name implies, dev mode is not a production installation method, but instead a way to get Boundary running with a Postgres database easily. Do not use dev mode in a production environment, see Production Installation section for production ready deployment methods.

Dev mode brings up a fully functioning instance of Boundary, including:

  1. A controller server
  2. A worker server
  3. A Postgres database

These components should all be considered ephemeral - no data persistence occurs across dev mode restarts. Along with these external components, dev mode also creates several resources within Boundary to make it easier and faster to connect to your first target:

  1. A org scope and a project scope with a default ID of o_1234567890 and p_1234567890 respectively.
  2. An auth method with a random login name and password with a default auth method ID of ampw_1234567890.
  3. A static host catalog with a default ID of hcst_1234567890.
  4. A static host and host set with default ID's of hst_1234567890 and hsst_1234567890 respectively.
  5. A TCP target with a default ID of ttcp_1234567890.

The default ID suffixes are overridable or can be randomly generated, and there are many other dev mode controls. To see a complete list of these override flags, consult boundary dev -h.

If you plan on provisioning a large number of resources in dev mode, it's strongly recommended that users leverage our Terraform Provider for Boundary for managing configuration of Boundary. This will simplify starting up and shutting down your Boundary dev instance.