You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/website/content/docs/developing/building.mdx

48 lines
2.3 KiB

---
layout: docs
page_title: Build Boundary
description: >-
Learn how to build Boundary from the source. Discover resources to compile a cross-platform build and troubleshoot UI assets.
---
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
> [!IMPORTANT]
> **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com.
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
# Build Boundary
Building Boundary from source requires:
- [Go](https://golang.org/dl/). Boundary developers keep current with new
releases of Go in order to take advantage of new features and to ensure that
security issues within Go are addressed. If building Boundary yourself, always
use the latest version and keep current.
- `make` installed
- [Docker](https://docs.docker.com/get-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 install`
The first time you run `make install` 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 [GOOS and GOARCH](https://github.com/hashicorp/boundary/blob/master/scripts/build.sh#L26)
environment variable to set this. Example: `$ GOOS=linux GOARCH=amd64 make install`
For more details, please consult the [Boundary project on GitHub](https://github.com/hashicorp/boundary#build-and-start-boundary-in-dev-mode).
## Troubleshoot
UI assets are built inside a Docker container. If this build step fails, try
increasing memory and swap available to Docker.