Instaclustr is pleased to announce the General Availability (GA) release of version 2 of the Instaclustr Terraform Provider and Cluster Management API. This version builds on the recent preview release for Cassandra cluster operations, and now provides full functionality for Kafka cluster operations, with remaining Instaclustr offerings being added over the coming few months.
The Instaclustr Terraform Provider v2 represents an overhaul of the design of our Terraform Provider, with several key enhancements and design philosophies that represent a step change in ease of use for automating the provisioning of Instaclustr managed resources:
Intuitive Naming Conventions
Terraform Provider v2 resources will contain attributes that are named according to the conventions of the Instaclustr Console. This allows for the more intuitive use of the Terraform Provider based on previous experience in using the Instaclustr Console, along with improved consistency across our offerings.
The Terraform Registry documentation for Terraform Provider v2 will contain the same level of fidelity as the documentation for the Instaclustr API. With the GA release, the Instaclustr API documentation library has undergone a refresh. The key highlights of this refresh include:
- New API documentation that allows you to easily toggle between the current and deprecated documentation.
- Snappy response times when loading and navigating the library.
- “Try it” functionality in the library that allows customers to take request and response samples to the next level, allowing you to test out requests directly in your account and accelerating application development in the process.
The Instaclustr Terraform Provider v2 is architected to maintain parity with version 2 of the Instaclustr Cluster Management API, which will eliminate any future gaps between availability of features in the Instaclustr Cluster Management API and the Terraform Provider v2.
Logical Split of Resources
The Instaclustr Terraform Provider v2 defines Terraform resources according to the smallest provisionable unit supported by our provisioning system. This change now avoids any “combination” style resources or “union schemas” for resources that were present in Terraform Provider v1. The key benefit of this approach is that each cluster application will be a separate Terraform resource, and the provisioning options you see will be unique to the application, reducing any guesswork in how you define your cluster application through Terraform.
Terraform Code Generation
Hand coding Terraform configuration can be a pain, particularly when you have resources that already exist that you just want to bring under Terraform management. Instaclustr now fully automates the generation of Terraform plans from existing resources via the Terraform Code Generation Tool.
The Terraform Code Generation Tool also makes migration from v1 of the Instaclustr Terraform Provider to v2 simple and quick—just point the Code Generation Tool and the Instaclustr account with resources provisioned via Provider v1, and autogenerate a v2 compatible Terraform plan describing those resources.
The GA release covers complete support for Cassandra, Kafka, Kafka Connect, and ZooKeeper cluster operations.
The list of operations includes:
- Cluster provisioning: Base operations for the creation and modification of Cassandra, Kafka, Kafka Connect, and ZooKeeper Clusters.
- Kafka Topic Management: Operations for accessing and modifying topics’ configurations, deleting topics, and creating new ones.
- Kafka User Management: Operations for creating and deleting Kafka users, updating passwords, and listing users and user details.
- Kafka ACL Management: ACL management provides operations such as creating and deleting ACLs, and listing all existing ACLs.
- Kafka Karapace Support: Operations specific to the creation, and configuration of Kafka Clusters with the Karapace add-on. The Karapace add-on provides the REST-proxy and Schema Registry functionality.
- Kafka PrivateLink Support: Provides the management of principals on AWS Endpoint Service that support the provision of Kafka clusters with AWS PrivateLink
- Kafka Mirroring Support: Operations specific to the creation, and configuration of Kafka Connect Mirrors.
Support for other offerings is being added progressively through to early 2023. Once we reach feature parity, we will provide additional details on the on-going support for the existing provision API and v1 of Instaclustr Terraform Provider. The Terraform Provider documentation or future release announcement will allow you to track the progress for these remaining offerings.