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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445terraform { 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 })}