# README
terraform-provider-kafka
A Terraform provider to manage Kafka topics lifecycle and compatible with latest Terraform version.
We couldn't use Confluent's Kafka REST service due to the way we create a Kafka topic. Hence, we build our own REST service https://github.com/packetloop/kafka-admin-service with Go bindings https://github.com/packetloop/go-kafkaesque.
[NOTE]
There's a old version of this provider in develop branch which is not compatible with latest Terraform.
Usage:
Download this provider, pick a version you'd like from releases from Binary Releases
curl -L \
https://github.com/packetloop/terraform-provider-kafka/releases/download/v0.1.0/terraform-provider-kafka_v0.1.0_Darwin_x86_64 \
-o ~/.terraform.d/plugins/terraform-provider-kafka_v0.1.0 && \
chmod +x ~/.terraform.d/plugins/terraform-provider-kafka_v0.1.0
provider "kafka" {
host_url = "http://localhost:8080"
version = "~> 0.1.0"
}
resource "kafka_topic" "my-topic" {
name = "my-topic"
partitions = 2
replication_factor = 1
retention_ms = 300000
cleanup_policy = "compact"
segment_ms = 1440000
segment_bytes = 1073741824
}
Development and testing:
- Clone kafka-admin-service ( REST SERVICE )
git clone [email protected]:packetloop/kafka-admin-service.git && \
cd kafka-admin-service && ./run.sh
TF_ACC=1 make test
- From this project:
TF_ACC=0 go test -race -cover -v ./...
More examples can be found in examples/main.tf.
TODO:
Import Resources:
Syntax
terraform import kafka_request.lenfree-run <resource ID>
terraform import kafka_docker_deploy.test-deploy-2 <resource ID>
Data resource:
# Packages
No description provided by the author