For the complete documentation index, see llms.txt. This page is also available as Markdown.

Remote backend

Definition

The remote backend is a storage that hosts the Terraform state of your cloud infrastructure after it is provisioned.

Brainboard uses Terraform as the provisioning engine, and so the concept of the remote backend comes from the configuration of Terraform that allows you to specify which storage system you want to use and how to access it.

The remote backend configuration can be set up at two levels:

  1. Global

  2. Architecture level

Global

There are two paths under your account settings in Brainboard that you can follow to configure the remote backend at the global level.

  1. Through the Organization page.

  2. Through the Integrations page.

Organization page

Navigate to the Infrastructure as Code Backend section on this page. Here, you can select or add the desired remote backend by using the Backend configuration field.

Brainboard is the default backend when you don't specify one.

If you want to add a new configuration, simply click the Add new configuration option that appears in the dropdown menu of the Backend configuration field. It will navigate you to the New backend configuration page, which is exactly the same as the one that opens when you add a new Terraform configuration through the Integrations page.

If you use your own S3 or blob storage remote backend, it means that by default, all the states will be stored in your own infrastructure.

Integrations page

  1. On the Integrations page, click on the Terraform backend section.

  2. Then, click Add configuration on the Terraform backend page.

  3. On the New backend configuration page, you will have the option to select from the available supported backend options:

    1. Azure blob storage

    2. AWS S3 bucket

    3. Google Cloud Storage

    4. Terraform cloud

    5. HTTP

Architecture level

You can specify a different remote backend at the architecture level, giving you more control over where you want to store the state files for any given architecture.

To specify a remote backend for the architecture:

  1. Open your architecture canvas.

  2. Click the settings icon in the top navigation bar.

  3. On the Architecture settings page, you can configure the backend using the Infrastructure as Code Backend section. Follow the same steps as mentioned before for AWS S3, Azure blob storage or Brainboard backend.

Supported backends

Either you specify a remote backend (other than Brianboard) at the global or architecture level, the same New backend configuration page is used.

Path: Settings > Integrations > Terraform backend > Add new configuration

lightbulb-gear

1. Brainboard

Brainboard is the default backend, which can be set up as a global backend using the Organization pageor at the Architecture level.

2. Azure blob storage

Configuring the Azure blob storage as the backend in Brainboard means that the Terraform state of all your architectures will be stored in the specified blob storage.

When you specify the Azure blob storage, Brainboard stores the Terraform state of every architecture in a separate file that has the UUID of the architecture as a name.

On the New backend configuration page, navigate to the Azure Blob Storage tab and enter the following information:

  • Name of the configuration

  • Resource group

  • Storage account name

  • Storage account key: You can create a new access key following this Azure documentation

  • Container name

  • Use Microsoft Entra ID: Enabling this will use the architecture cloud provider connection to access the storage account. Conflicts with the storage account key.

  • Create more

2. AWS S3 bucket

Specifying the AWS S3 bucket as a backend in Brainboard means the Terraform state of all your architectures will be stored in the bucket you specify.

When you specify the S3 bucket, Brainboard stores the Terraform state of every architecture in a separate file that has the UUID of the architecture as a name.

On the New backend configuration page, navigate to the AWS S3 Bucket tab and enter the following information:

  • Credential

  • Name of the configuration

  • Bucket name

  • Region

  • Dynamodb table

3. Google Cloud Storage

Brainboard enables you to use Google Cloud Storage as a remote backend to host your Terraform states of all your architectures.

On the New backend configuration page, navigate to the Google Cloud Storage tab and enter the following information:

  • Credential

  • Name of the configuration

  • Bucket name

  • Project

4. Terraform Cloud backend

Brainboard enables you to use Terraform Cloud as a remote backend to host your Terraform states of all your architectures.

On the New backend configuration page, navigate to the Terraform Cloud tab and enter the following information:

  • Name of the configuration

  • Hostname

  • Organization name

  • Workspace name

  • The token to authenticate

5. HTTP

Brainboard enables you to use HTTP as a remote backend to host your Terraform states of all your architectures.

On the New backend configuration page, navigate to the Terraform Cloud tab and enter the following information:

  • Name of the configuration

  • Address

  • Lock address

  • Unlock address

  • Update method

  • Lock method

  • Unlock method

  • Username

  • Password

  • Skip certificate verification on/off toggle

Access

To access the remote backend, Brainboard uses the default cloud provider credentials that you provide in the credentials page, so make sure that these credentials have the right to access the storage.

Refer to the data management page if you want to understand what information is manipulated and/or stored by Brainboard.

State migration

To migrate your Terraform state into Brainboard, you have two options:

  1. Use Brainboard backend: In this case, you need to upload your state files when you import your Terraform files. Brainboard will automatically detect the state file and put it in our storage.

  2. Use your remote backend (AWS S3 or Azure blob storage):

    • Configure the remote backend in Brainboard. Follow the steps for AWS S3 or Azure Blob Storage.

    • In the remote backend storage that you configured, create a folder that has a name as that of the architecture UUID.

    • Put your state in the folder you just created.

    • Test in Brainboard by launching a Terraform Plan from the design area of your architecture.

Last updated