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.
Global
There are two paths under your account settings in Brainboard that you can follow to configure the remote backend at the global level.
Through the Organization page.
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 stores the Terraform state in its cloud storage, which helps you stay protected as we isolate by default the state of every architecture.
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.

Integrations page
On the Integrations page, click on the Terraform backend section.
Then, click
Add configurationon the Terraform backend page.On the New backend configuration page, you will have the option to select from the available supported backend options:
Azure blob storage
AWS S3 bucket
Google Cloud Storage
Terraform cloud
HTTP

If you use a different backend from the supported ones, please reach out to our support team.
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:
Open your architecture canvas.
Click the settings icon in the top navigation bar.
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
You can override the remote backend of a specific architecture in its settings page, as explained underArchitecture level.
Once the configuration is done, click on Save and close button given at the bottom right corner of the New backend configuration page to save the changes.
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
When you specify the storage container name, if the container doesn't exist, Brainboard will create a new one with the name you enter. To do so, it uses the default AzureRM credentials, so make sure these credentials have the rights to create a new storage container in the selected storage account.
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
When you specify the bucket name, if the bucket doesn't exist, Brainboard will create a new one with the name you enter. To do so, it uses the default AWS credentials, so make sure these credentials have the rights to create a new bucket.
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:
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.
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