Os desenvolvedores e as equipes de DevOps geralmente utilizam Infraestrutura como código (IaC) ferramentas e scripts para gerenciar suas implementações de software e infraestrutura de forma repetitiva e consistente. Com as ferramentas de IaC, os usuários podem automatizar o ciclo de vida das implementações, incluindo provisionamento, configuração, implementação e destruição de recursos. Hashicorp Terraform é uma ferramenta de IaC muito popular.

Temos o prazer de anunciar a disponibilidade geral da versão 1.0 do Provedor do Couchbase Capella Terraformque permitirá que os usuários gerenciem programaticamente as implementações do Couchbase Capella. Essa versão substitui a versão v0.2 do provedor Capella que agora está obsoleto e não terá mais suporte em breve.

Nesta postagem, apresentamos um exemplo rápido do provedor Capella Terraform.

Histórico

No início deste ano, anunciamos o lançamento de nossa nova versão do API de gerenciamento da Capella - uma versão renovada da API pública do Capella que permite aos usuários controlar programaticamente os recursos do Couchbase Capella por meio da interface RESTful.

O provedor do Couchbase Capella Terraform v1.0 utiliza a API de gerenciamento do Capella. Dessa forma, o conjunto de recursos do Capella que pode ser gerenciado por meio do provedor depende da API subjacente. À medida que a API evolui para oferecer suporte a novos pontos de extremidade. O provedor Terraform será estendido de forma correspondente para dar suporte ao gerenciamento dos recursos correspondentes expostos por meio dos pontos de extremidade.

Passo a passo do provedor

Neste exemplo, demonstraremos o uso do provedor do Capella Terraform para implantar um projeto do Capella, um cluster e provisionar um bucket.

O Repositório do GitHub tem um conjunto extenso de exemplos para gerenciar cada um dos recursos suportados, incluindo usuários, projetos, clusters, buckets, credenciais de banco de dados, CIDRs permitidos, App Services, backup/restauração e muito mais. 

Pré-requisitos

    • Terraform >= 1.5.2
    • Ir >= 1,20
    • Uma conta paga da Capella.

Observação que a versão atual do provedor não é compatível com as avaliações gratuitas da Capella. O suporte para avaliações estará disponível quando a API de gerenciamento subjacente da Capella suportar a orquestração de implantações de avaliação.

Autenticação e autorização

Todas as operações do provedor do Capella Terraform são autenticadas e autorizadas por meio da chave da API do Capella Management. Em um ambiente de produção, você usará algo como Cofre da HashiCorp ou um gerenciador de segredos oferecido por um provedor de serviços em nuvem, como Gerenciador de segredos da AWS para gerenciar suas chaves de API. A referência ao gerenciador de segredos seria especificada como entrada para o provedor Terraform.

Para fins desta demonstração, definiremos as credenciais em um arquivo de variáveis de ambiente local: 

  1. Crie um arquivo chamado variables.tf e adicione as seguintes definições de variáveis. Usaremos essas variáveis em nosso arquivo de configuração.

2. Crie um arquivo chamado terraform.template.tfvars e adicione as seguintes linhas. Aqui, especificamos os valores das principais variáveis associadas à implantação

    • auth_token: Você pode criar a chave da API por meio de IU da Capella ou por meio do API de gerenciamento. Dependendo do escopo dos recursos gerenciados pelo provedor, você deve criar uma chave de API no nível da organização ou do projeto com o conjunto correto de funções.
    • organization_id: Você pode obter isso na API de gerenciamento da organização ou no URL do navegador da interface do usuário do Capella (procure o parâmetro "oid")
      https://cloud.couchbase.com/databases?oid=0783f698-ac58–4018–84a3-xxxxxxxxxxxxx

Configuração para implantação de amostra

Conforme mencionado anteriormente, o Repositório do GitHub do provedor tem um conjunto extenso de modelos de configuração. Nesta postagem, estou usando um exemplo simples para demonstrar o uso do provedor para criar um perfil, implantar um cluster e um bucket dentro do cluster. 

    1. Crie um arquivo chamado capella.tf e adicione a seguinte configuração. A configuração faz o seguinte
    2. Cria um projeto dentro da organização especificada 
    3. Cria um cluster dentro do projeto 
    4. Cria um bucket dentro do cluster

Implantar e gerenciar recursos

Use o padrão Comandos do Terraform para inicializar e implantar os recursos

1. Inicialize o provedor do Terraform

O Terraform deve ser inicializado na primeira vez que você usar o provedor:

2. Revise o plano do Terraform

Use o seguinte comando para revisar os recursos que serão implantados:

3. Executar o plano do Terraform

Implante os recursos do Couchbase Capella usando o seguinte comando:

Você deverá ver uma saída semelhante à seguinte. A implantação dos recursos levará alguns minutos:

4. Obter o estado atual dos recursos

Você deverá ver uma saída semelhante à seguinte, que mostra os três recursos que foram criados:

5. Obter o estado detalhado de qualquer recurso implantado

Você deverá ver uma saída semelhante à seguinte, que mostra os três recursos que foram criados:

6. Destruir os recursos

Execute o seguinte comando para destruir os recursos:

Você deverá ver uma saída semelhante à seguinte. Levará alguns minutos para destruir os recursos.

Recursos e próximas etapas

A versão 1.0 do provedor substitui a v0.0.2 do provedor Capella, que está obsoleta e será removida em breve. Portanto, se você estiver usando o provedor antigo, deve planejar a migração para o novo provedor.

Aqui estão os links diretos para alguns recursos úteis:

Se você tiver dúvidas ou comentários, deixe um comentário abaixo. Os Fóruns do Couchbase ou Discórdia do Couchbase Os canais são outro bom lugar para entrar em contato com perguntas.

Autor

Postado por Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos

Priya Rajagopal é diretora sênior de gerenciamento de produtos da Couchbase, responsável pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente há mais de 20 anos em vários cargos técnicos e de liderança de produtos, com mais de 10 anos de foco em tecnologias móveis. Como delegada de padrões de IPTV da TISPAN, ela foi uma das principais colaboradoras das especificações de padrões de IPTV. Ela tem 22 patentes nas áreas de rede e segurança de plataforma.

2 Comentários

  1. É possível criar um endpoint de serviço de aplicativo por meio do TF junto com a função de validação para a coleção desejada?

    1. Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos julho 14, 2025 em 4:08 pm

      Olá, Jan. Hoje, temos APIs de gerenciamento que permitirão que você implemente e gerencie pontos de extremidade de aplicativos de forma programática. https://docs.couchbase.com/cloud/management-api-reference/index.html#tag/App-Endpoints. Terraform está em nosso radar. Fique ligado!

Deixar uma resposta