idealista / kafka_role

Ansible role to install Apache Kafka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Build Status Ansible Galaxy

Kafka Ansible role

This Ansible role installs Apache Kafka in a Debian Environment. The server is installed using the sources.

Getting Started

These instructions will get you a copy of the role for your Ansible Playbook. Once launched, it will install a Apache Kafka distributed streaming platform in a Debian Environment.

Prerequisities

Ansible 2.8.8 version installed.

Molecule 3.x.x version installed.

For testing purposes, Molecule with Docker as driver and Goss as verifier.

Installing

Create or add to your roles dependency file (e.g requirements.yml):

- src: idealista.kafka_role
  version: 1.15.0
  name: kafka_role

Install the role with ansible-galaxy command:

ansible-galaxy install -p roles -r requirements.yml -f

Use in a playbook:

---
- hosts: someserver
  roles:
    - role: kafka_role

Usage

Look to the defaults properties file to see the possible configuration properties.

Kafka topics could be configured through the role. Just set the topics like:

kafka_topics:
  - name: 'test'
    partitions: '3'
    replicas: '3'
  - name: 'test2'
    partitions: '3'
    replicas: '1'

Enable delete topic var if you want to remove topics from the cluster.

The number of partitions can be modified but not the replicas. Please have this in mind when create the topics.

Also notice that you can't decrease the number of partitions of a created topic.

Testing

Install dependencies

$ pipenv sync

For more information read the pipenv docs.

Testing

$ pipenv run molecule test 

Built With

Ansible

Versioning

For the versions available, see the tags on this repository.

Additionaly you can see what change in each version in the CHANGELOG.md file.

Authors

See also the list of contributors who participated in this project.

License

Apache 2.0 License

This project is licensed under the Apache 2.0 license - see the LICENSE file for details.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

About

Ansible role to install Apache Kafka

License:Apache License 2.0


Languages

Language:Jinja 94.1%Language:Python 5.9%