We use cookies to understand how people use Depot.
Self-hosted

Setup and Usage

Here are the steps to set up and use self-hosted builders in Depot:

Configure a cloud connection

A cloud connection represents a connection between your cloud account and your Depot organization. Depot only supports AWS for the connection type today.

  1. Go to the Settings page for your organization
  2. Create a new connection in the Cloud Connections section
    • Choose your cloud connection type (AWS)
    • Enter a connection name for quickly identifying the connection in the UI
    • Enter your AWS account ID (a number like 123456789012)
  3. Save the generated connection token in a secure location (like a password manager) as it will not be shown again in the UI

Provision self-hosted infrastructure with Terraform

Today the required infrastructure is provisioned via Terraform, and we provide a depot/connection/aws Terraform module for that purpose.

See the module README for more information on the available module inputs, but the basic usage is as follows:

module "depot-connection" {
  source            = "depot/connection/aws"
  version           = "x.x.x" # see the module README for the latest version
  connection-id     = "xxxxxx"
  connection-token  = "xxxxxx"
  availability-zone = "us-east-1a"
}

The three required inputs are:

InputDescription
connection-idThe ID of the cloud connection, shown in the organization settings page
connection-tokenThe cloud connection token, shown once when you create the connection
availability-zoneThe availability zone to use for the connection resources

Important: The connection-token is a secret value that should be provided via a variable or however you prefer to manage Terraform secrets:

module "depot-connection" {
  source            = "depot/connection/aws"
  version           = "x.x.x"

  ...
  connection-token  = var.connection-token
}

Note: Cloud connections run inside a single availability zone, for example, us-east-1a. If you need to run different projects in different availability zones, you can create a separate connection for each availability zone.

Configure a Depot project to use self-hosted builders

After you have created a connection and provisioned the infrastructure, you can choose to use that new connection on a per-project basis.

You can update an existing project to use self-hosted builders by changing its connection type.

  1. Go to the Settings page for your project
  2. Under the Connection, select the one you would like to use
  3. Save the changes

New projects can be configured to use self-hosted builders by selecting their connection type.

  1. Click on the Create Project button
  2. Enter a project name
  3. Choose your new connection and click Create Project