Giter Club home page Giter Club logo

terraform-provider-kafka's Introduction

Terraform Kafka Topic Provider

This is a Terraform provider for managing Kafka topics with Terraform.

Why use this Kafka provider?

  • Supports adding partitions and altering configs
  • Supports TLS/SASL
  • Uses Kafka's new admin APIs rather than shelling out to old bash scripts

Installation

  1. Download the latest compiled binary from GitHub releases.

  2. Unzip/untar the archive.

  3. Move it into $HOME/.terraform.d/plugins:

    $ mkdir -p $HOME/.terraform.d/plugins
    $ mv terraform-provider-kafka $HOME/.terraform.d/plugins/terraform-provider-kafka
  4. Create your Terraform configurations as normal, and run terraform init:

    $ terraform init

    This will find the plugin locally.

Usage

  1. Create a Terraform configuration file:

    provider "kafka" {
    	hosts = ["localhost:9092"]
    }
    
    resource "kafka_topic" "example" {
    	name: "example"
    	num_partitions: "8"
    	replication_factor: "1"
    	config_entries: {
    		retention.bytes: "102400"
    		cleanup.policy: "compact
    	}
    }

    There's parameters to set if you use TLS/SASL.

  2. Run terraform init to pull in the provider:

    $ terraform init
  3. Run terraform plan and terraform apply to interact with the filesystem:

    $ terraform plan
    
    $ terraform apply

Importing topics

This provider supports importing externally created topics by their name. Assuming you've already created a topic declaration like the one above, you can get Terraform to manage the state of the existing topic:

$ terraform import kafka_topic.example example

Examples

For more examples, please see the examples folder in this repository.

License

MIT


terraform-provider-kafka's People

Contributors

marcinwyszynski avatar travisjeffery avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.