StreamNative Terraform Provider Overview
What is Terraform?
HashiCorp Terraform is an open source infrastructure-as-code tool that lets you build, change, and version your cloud data infrastructure in a safe, efficient way. You program Terraform with human-readable configuration files that you can version, reuse, share, and deploy in your CI/CD pipelines.
Why Terraform and StreamNative?
StreamNative provides two terraform providers for your to deploy and manage StreamNative Cloud infrastructure and Pulsar resources respectively.
- StreamNative Terraform Provider to deploy and manage StreamNative Cloud infrastructure
- Pulsar Terraform Provider to manage the Pulsar resources in your StreamNative Cloud clusters
By leveraging the two providers together, you can automate the workflow of managing instances, clusters, tenants, namespaces, topics, and other resources in StreamNative Cloud.
These are some of the benefits you get with using the StreamNative & Pulsar Terraform Providers:
- Human Readable Configuration: Define your infrastructure in Terraform configuration files that are human readable and can be versioned, reused, shared, and deployed in your CI/CD pipelines.
- Consistent Infrastructure: Provision and manage your StreamNative Cloud infrastructure and Pulsar resources safely and efficiently throughout its lifecycle.
- Cloud Flexibility: Deploy your StreamNative Cloud infrastructure seamlessly across different cloud providers.
- Scale Quickly: Provision complicated and dependent infrastructure and resources quickly and easily.
- Open Standard: Enable industry standard GitOps workflows and infrastructure-as-code practices.
Tutorials
Configure the providers
Resources you can manage
by StreamNative Provider
You can provision the following StreamNative Cloud resources and get data from these data sources in your Terraform configuration files using the StreamNative provider:
Infrastructure & Networking
Resource | Data Source |
---|---|
Cloud Connection | Cloud Connection |
Cloud Environment | Cloud Environment |
Pulsar Gateway | Pulsar Gateway |
Pool | |
Pool Member |
Instance & Cluster
Resource | Data Source |
---|---|
Pulsar Instance | Pulsar Instance |
Pulsar Cluster | Pulsar Cluster |
Security, access control and identity
Resource | Data Source |
---|---|
Service Account | Service Account |
Service Account Binding | Service Account Binding |
API Key | API Key |
by Pulsar Provider
You can provision the following Pulsar resources in your Terraform configuration files using the Pulsar provider:
Resource | Data Source |
---|---|
Pulsar Cluster | |
Pulsar Tenant | |
Pulsar Namespace | |
Pulsar Topic | |
Pulsar Function | |
Pulsar Source | |
Pulsar Sink |
References
- For the StreamNative provider source code, see streamnative/terraform-provider-streamnative
- For the Pulsar provider source code, see streamnative/terraform-provider-pulsar
- For sample configuration files for StreamNative resources, see streamnative/terraform-provider-streamnative/examples
- For sample configuration files for Pulsar resources, see streamnative/terraform-provider-pulsar/examples