Building Boundary

Building Boundary from source requires:

  • Go 1.14 or greater. (Note that HashiCorp currently develops against Go 1.15.)
  • make installed
  • Docker installed
  • Basic development environment (git, xcode if you’re on Mac, etc)
  1. $ git clone https://github.com/hashicorp/boundary or if you’re using SSH auth for github, $ git clone git@github.com:hashicorp/boundary
  2. $ cd boundary
  3. $ make dev

The first time you run make dev it will build UI assets, which will take a long time. After the initial build, you can update those assets to the currently-pinned version via make build-ui.

Once you’ve built Boundary, the binary will be available at <repo path>/bin/boundary. Move this binary to somewhere in your $PATH such as /usr/local/bin.

Cross Platform Build

If you need to cross compile boundary for another OS or architecture, use the XC_OSARCH environment variable to set this. Example: $ XC_OSARCH=linux/amd64 make dev

For more details, please consult the Boundary project on GitHub.

Troubleshooting

UI assets are built inside a Docker container. If this build step fails, try increasing memory and swap available to Docker.