Skip to content

pinecone-io/terraform-provider-pinecone

Repository files navigation

Terraform Provider for Pinecone

Go Reference Go Report Card Github Actions Workflow GitHub release (latest by date)

The Terraform Provider for Pinecone allows Terraform to manage Pinecone resources.

Note: We take Terraform's security and our users' trust very seriously. If you believe you have found a security issue in the Terraform Provider for Pinecone, please responsibly disclose it by contacting us.

Requirements

  • Terraform >= v1.4.6
  • Go >= 1.20. This is necessary to build the provider plugin.

Installing the provider

The provider is registered in the official Terraform registry. This enables the provider to be auto-installed when you run terraform init. You can also download the latest binary for your target platform from the releases tab.

Building the provider

Follow these steps to build the Terraform Provider for Pinecone:

  1. Clone the repository using the following command:

    sh $ git clone https://github.com/pinecone-io/terraform-provider-pinecone
    
  2. Build the provider using the following command. The install directory depends on the GOPATH environment variable.

    sh $ go install .  
    

Usage

You can enable the provider in your Terraform configuration by adding the following to your Terraform configuration file:

terraform {
  required_providers {
    pinecone = {
      source = "pinecone-io/pinecone"
    }
  }
}

Pinecone API Key

Your Pinecone API Key is required to use the Terraform Provider. There are a couple of ways to configure this.

As a PINECONE_API_KEY environment variable

You can configure the Pinecone client using environment variables to avoid setting sensitive values in the Terraform configuration file. To do so, set PINECONE_API_KEY to your Pinecone API Key. Then the provider declaration is simply:

provider "pinecone" {}

As part of the provider declaration

If your API key was set as an Input Variable, you can use that value in the declaration. For example:

provider "pinecone" {
  api_key = var.pinecone_api_key
}

Remember, your API Key should be a protected secret. See how to protect sensitive input variables when setting your API Key this way.

Documentation

Documentation can be found on the Terraform Registry.

Examples

See the examples for example usage.

Support

Please create an issue for any support requests.

Contributing

Thank you to skyscrapr for developing this Terraform Provider. The original repository can be found at skyscrapr/terraform-provider-pinecone. He continues to be the primary developer of this codebase.

We welcome all contributions. If you identify issues or improvements, please create an issue or pull request.