Skip to content

planetscale/terraform-provider-planetscale

PlanetScale Terraform Provider

Summary

Terraform Provider for PlanetScale: Manage your PlanetScale resources with Terraform

Table of Contents

Installation

To install this provider, copy and paste this code into your Terraform configuration. Then, run terraform init.

terraform {
  required_providers {
    planetscale = {
      source  = "planetscale/planetscale"
      version = "1.0.0-rc1"
    }
  }
}

provider "planetscale" {
  server_url = "..." # Optional - can use PLANETSCALE_SERVER_URL environment variable
}

Authentication

This provider supports authentication configuration via environment variables and provider configuration.

The configuration precedence is:

  • Provider configuration
  • Environment variables

Available configuration:

Provider Attribute Description
service_token PlanetScale Service Token. Configurable via environment variable PLANETSCALE_SERVICE_TOKEN.
service_token_id PlanetScale Service Token ID. Configurable via environment variable PLANETSCALE_SERVICE_TOKEN_ID.

Available Resources and Data Sources

Managed Resources

Data Sources

Testing the provider locally

Local Provider

Should you want to validate a change locally, the --debug flag allows you to execute the provider against a terraform instance locally.

This also allows for debuggers (e.g. delve) to be attached to the provider.

go run main.go --debug
# Copy the TF_REATTACH_PROVIDERS env var
# In a new terminal
cd examples/your-example
TF_REATTACH_PROVIDERS=... terraform init
TF_REATTACH_PROVIDERS=... terraform apply

Compiled Provider

Terraform allows you to use local provider builds by setting a dev_overrides block in a configuration file called .terraformrc. This block overrides all other configured installation methods.

  1. Execute go build to construct a binary called terraform-provider-planetscale
  2. Ensure that the .terraformrc file is configured with a dev_overrides section such that your local copy of terraform can see the provider binary

Terraform searches for the .terraformrc file in your home directory and applies any configuration settings you set.

provider_installation {

  dev_overrides {
      "registry.terraform.io/planetscale/planetscale" = "<PATH>"
  }

  # For all other providers, install them directly from their origin provider
  # registries as normal. If you omit this, Terraform will _only_ use
  # the dev_overrides block, and so no other providers will be available.
  direct {}
}

Contributing

See Contributing to the PlanetScale Terraform Provider

About

Terraform provider for PlanetScale

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages