Home

Terraform Provider


The Supabase Provider allows Terraform to manage resources hosted on Supabase platform.

You may use this provider to version control your project settings or setup CI/CD pipelines for automatically provisioning projects and branches.

Using the provider

This simple example imports an existing Supabase project and synchronises its API settings.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
terraform { required_providers { supabase = { source = "supabase/supabase" version = "~> 1.0" } }}provider "supabase" { access_token = file("${path.module}/access-token")}# Define a linked project variable as user inputvariable "linked_project" { type = string}# Import the linked project resourceimport { to = supabase_project.production id = var.linked_project}resource "supabase_project" "production" { organization_id = "nknnyrtlhxudbsbuazsu" name = "tf-project" database_password = "tf-example" region = "ap-southeast-1" lifecycle { ignore_changes = [database_password] }}# Configure api settings for the linked projectresource "supabase_settings" "production" { project_ref = var.linked_project api = jsonencode({ db_schema = "public,storage,graphql_public" db_extra_search_path = "public,extensions" max_rows = 1000 })}