This is the repository of official Upstash Terraform provider.
terraform {
required_providers {
upstash = {
source = "upstash/upstash"
version = "x.x.x"
}
}
}
provider "upstash" {
email = var.email
api_key = var.api_key
}email is your registered email in Upstash.
api_key can be generated from Upstash Console. For more information please check our docs.
Here example code snippet that creates database:
resource "upstash_redis_database" "redis" {
database_name = "db-name"
region = "eu-west-1"
tls = "true"
multi_zone = "false"
}To import resources created outside of the terraform provider, simply create the resource in .tf file as follows:
resource "upstash_redis_database" "redis" {}after this, you can run the command:
terraform import upstash_redis_database.redis <db-id>
Above example is given for an Upstash Redis database. You can import all of the resources by changing the resource type and providing the resource id.
You can check full spec and doc from here.
If you need support then you can ask your questions Upstash Team in upstash.com chat widget.
There is also discord channel available for community. Please check here for more information.
- Terraform v0.13 and above
- Go 1.16 (to build the provider)
If you want to locally build/test the provider then follow these steps:
- Build the provider using:
go build .command, it will create executable in same directory - create
terraform.rcfile that contains following configuration. - export
TF_CLI_CONFIG_FILEenv variable that locatesterraform.rcfile. - Now your
terraformcommands will use local Upstash provider.
provider_installation {
dev_overrides {
"upstash" = "[PATH THAT CONTAINS CUSTOM PROVIDER]"
}
direct {}
}This provider uses tfplugindocs to generate its documentation. Run the command below, and the docs will be automatically generated from the provider code and examples
tfplugindocs
- First set your environment variables using the
envSetters.txtfile.
source envSetters.txt- Then, navigate to
integrationtestingfolder, and un the tests using the following command:
go test -vIf you want to run a specific test, you can use the -run flag. To run the test, first navigate to integrationtesting folder, and then run the following command. You can replace TestUpstashVectorIndexMAIN with the name of the test you want to run.
go test -v . -run TestUpstashVectorIndexMAIN