Um fornecedor de Terraform para gerenciar recursos na Pinecone. Para documentação completa do provedor, consulte a página do provedor do registro
terraform {
required_providers {
pinecone = {
source = " thiskevinwang/pinecone "
version = " 0.1.2 "
}
}
}
provider "pinecone" {
apikey = var . pinecone_api_key # optional; PINECONE_API_KEY
environment = var . pinecone_environment # optional; PINECONE_ENVIRONMENT
}
data "pinecone_collection" "existing-collection" {
name = " my-existing-collection "
}
resource "pinecone_index" "my-first-index" {
name = " index-to-be-managed "
metric = " cosine "
pods = 1
source_collection = data . pinecone_collection . existing-collection . name
dimension = data . pinecone_collection . existing-collection . dimension
}Confira o diretório Exemplos para obter vários exemplos que podem ser executados localmente.
Durante o desenvolvimento local, certifique -se de definir um provider_override em seu arquivo de configuração do Terraform ( ~/.terraformrc ) para apontar para o binário local.
provider_installation {
dev_overrides {
# Adjust this path to point to the directory where the local provider
# binary is present. It is likely your $GOPATH/bin directory.
" thekevinwang.com/terraform-providers/pinecone " = " /Users/kevin/go/bin "
}
# 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 {}
} terraform {
required_providers {
pinecone = {
source = " thekevinwang.com/terraform-providers/pinecone "
}
}
} cp .env.example .env
go test -v ./... Este projeto se baseia em ./tools/tools.go para instalar tfplugindocs .
export GOBIN=$PWD/bin
export PATH=$GOBIN:$PATH
go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs
which tfplugindocs Execute tfplugindocs para gerar documentos e visualizar arquivos individuais em https://registry.terraform.io/tools/doc-preview
Existem algumas etapas únicas que já foram feitas e não serão abordadas nesta leitura. Veja a seguinte nota de rodapé para obter mais informações. 1
Para lançar uma nova versão do provedor para o registro, uma nova versão do GitHub precisa ser criada. Use as etapas a seguir para prosseguir.
main e tem uma árvore de trabalho limpa.git tag v0.1.2git push origin v0.1.2goreleaser : GITHUB_TOKEN=$(gh auth token) goreleaser release --cleanObservação
A configuração GORELEASER exige que GPG_FINGERPRINT seja definido. Talvez tente o seguinte (precisa ser testado)
export GPG_FINGERPRINT= $( gpg --list-keys --with-colons | awk -F: ' $1 == "fpr" || $1 == "fp2" {print $10} ' | head -n 1 )
export GITHUB_TOKEN= $( gh auth token )
goreleaser release --cleanDOCs sobre publicação: https://developer.hashicorp.com/terraform/registry/providers/publishishing#publishing-to-the-registry ↩