Los desarrolladores y los equipos DevOps suelen utilizar Infraestructura como código (IaC) para gestionar sus despliegues de software e infraestructuras de forma repetible y coherente. Con las herramientas IaC, los usuarios pueden automatizar el ciclo de vida de las implantaciones, incluido el aprovisionamiento, la configuración, la implantación y la destrucción de recursos. Hashicorp Terraform es una herramienta IaC muy popular.

Nos complace anunciar la disponibilidad general de la versión 1.0 de la aplicación Proveedor Terraform Couchbase Capellaque permitirá a los usuarios gestionar mediante programación los despliegues de Couchbase Capella. Esta versión sustituye a la v0.2 del proveedor Capella que ahora está obsoleto y dejará de ser compatible en breve.

En este post, le ofrecemos un rápido ejemplo de recorrido por el proveedor Capella Terraform.

Fondo

A principios de este año, anunciamos el lanzamiento de nuestra nueva versión de API de gestión de Capella - una versión renovada de la API pública de Capella que permite a los usuarios controlar mediante programación los recursos de Couchbase Capella a través de una interfaz RESTful.

El proveedor de Couchbase Capella Terraform v1.0 aprovecha la API de gestión de Capella. Como tal, el conjunto de recursos de Capella que pueden gestionarse a través del proveedor depende de la API subyacente. A medida que la API evolucione para admitir nuevos puntos finales. El proveedor Terraform se ampliará en consecuencia con el fin de apoyar la gestión de los recursos correspondientes expuestos a través de los puntos finales.

Paseo del proveedor

En este ejemplo, demostraremos el uso del proveedor Capella Terraform para desplegar un proyecto Capella, un cluster y aprovisionar un bucket.

En Repo de GitHub tiene un amplio conjunto de ejemplos para gestionar cada uno de los recursos soportados, incluyendo usuarios, proyectos, clusters, buckets, credenciales de bases de datos, CIDRs permitidos, App Services, backup/restore y más. 

Requisitos previos

    • Terraform >= 1.5.2
    • Ir >= 1,20
    • Una cuenta de pago Capella.

Nota que la versión actual del proveedor no es compatible con las pruebas gratuitas de Capella. La compatibilidad con las pruebas estará disponible cuando la API de gestión subyacente de Capella admita la orquestación de despliegues de pruebas.

Autenticación y autorización

Todas las operaciones del proveedor Capella Terraform se autentican y autorizan mediante la clave API de Capella Management. En un entorno de producción, utilizará algo como Bóveda de HashiCorp o un gestor de secretos ofrecido por un proveedor de servicios en nube como Administrador de secretos de AWS para gestionar sus claves API. La referencia al gestor de secretos se especificaría como entrada al proveedor Terraform.

A efectos de esta demostración, estableceremos las credenciales en un archivo de variables de entorno local: 

  1. Cree un archivo llamado variables.tf y añada las siguientes definiciones de variables. Vamos a utilizar estas variables dentro de nuestro archivo de configuración.

2. Cree un archivo llamado terraform.template.tfvars y añadir las siguientes líneas. Aquí, especificamos los valores de las variables clave asociadas con el despliegue

    • auth_token: Puede crear la clave API a través de Capella UI o a través del API de gestión. En función del alcance de los recursos gestionados por el proveedor, debe crear una clave API de nivel de organización o de nivel de proyecto con el conjunto de funciones adecuado.
    • organización_id: Puede obtenerlo de la API de gestión de la organización o de la URL del navegador de Capella UI (busque el parámetro "oid").
      https://cloud.couchbase.com/databases?oid=0783f698-ac58–4018–84a3-xxxxxxxxxxxxx

Configuración de la implantación de ejemplo

Como ya se ha mencionado, el Repo de GitHub del Proveedor tiene un amplio conjunto de plantillas de configuración. En este post, voy a utilizar un ejemplo sencillo para demostrar el uso del proveedor para crear un perfil, desplegar un clúster y un bucket dentro del clúster. 

    1. Cree un archivo llamado capella.tf y añada la siguiente configuración. La configuración hace lo siguiente
    2. Crea un proyecto dentro de la Organización especificada 
    3. Crea un cluster dentro del proyecto 
    4. Crea un cubo dentro del clúster

Despliegue y gestión de recursos

Utilizar la norma Comandos de Terraform para inicializar y desplegar los recursos

1. Inicializar el proveedor Terraform

Terraform debe inicializarse la primera vez que se utiliza el proveedor:

2. Revisar el plan Terraform

Utilice el siguiente comando para revisar los recursos que se desplegarán:

3. Ejecutar el plan Terraform

Despliegue los recursos Couchbase Capella utilizando el siguiente comando:

Debería ver una salida similar a la siguiente. El despliegue de los recursos tardará unos minutos:

4. Obtener el estado actual de los recursos

Debería ver una salida similar a la siguiente, que muestra los tres recursos creados:

5. Obtener el estado detallado de cualquier recurso desplegado

Debería ver una salida similar a la siguiente, que muestra los tres recursos creados:

6. Destruir los recursos

Ejecute el siguiente comando para destruir los recursos:

Debería ver una salida similar a la siguiente. Tardará unos minutos en destruir los recursos.

Recursos y próximos pasos

La versión 1.0 del proveedor sustituye a la v0.0.2 del proveedor Capella, que está obsoleta y se eliminará en breve. Por lo tanto, si está utilizando el antiguo proveedor, debe planificar la migración al nuevo.

Aquí tiene enlaces directos a algunos recursos útiles:

Si tiene alguna pregunta o comentario, déjelo a continuación. En Foros de Couchbase o Couchbase discord son otro buen lugar para plantear preguntas.

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

2 Comentarios

  1. ¿Es posible crear un endpoint app-service a través de TF junto con una función de validación para la colección deseada?

    1. Priya Rajagopal, Directora de Gestión de Productos julio 14, 2025 a 4:08 pm

      Hola Jan- Actualmente disponemos de APIs de gestión que le permitirán desplegar y gestionar de forma programática App Endpoints - https://docs.couchbase.com/cloud/management-api-reference/index.html#tag/App-Endpoints. Terraform está en nuestro radar. Permanezca atento.

Dejar una respuesta