Terraform provider for managing Pulsar clusters, tenants, namespaces, topics, schemas, functions, connectors, subscriptions, permissions, and packages.
- Terraform 1.2.7 or newer
- Go 1.24.4 or newer for source builds
terraform {
required_providers {
pulsar = {
source = "streamnative/pulsar"
}
}
}
provider "pulsar" {
web_service_url = "http://localhost:8080"
}Use token or PULSAR_TOKEN/PULSAR_AUTH_TOKEN when authentication is enabled. See provider configuration for TLS and OAuth options.
Generated resource docs are canonical:
Configuration samples live under examples/.
make build
make test
go generate ./...For local Terraform runs, add version = "0.0.1" to required_providers.pulsar, run make build-dev VERSION=0.0.1, then terraform init -upgrade. Acceptance tests require a Pulsar cluster:
make run-pulsar-in-docker
make testacc
make remove-pulsar-from-dockerSee CONTRIBUTING.md for contribution checks.