/devopsfe

Kafka Devops Feature Environment

Primary LanguagePython

Kafka DevOps Feature Environment

1. Requirements

  1. Install python3

  2. Install pip3

  3. Install python3 modules using pip3

    pip3 -install -r requirements.txt

2. Configuration Files

  1. Jinja2 Template Files

    1. Pre-configured jinja2 template file for julieops. Refer ./julie.j2

    2. Pre-configured jinja2 template file for cp-ansible. Refer ./cpansible.j2

  2. Command configuration. Refer ./examples/cloud.yaml to connect to Kafka Cluster

3. Input File

  1. Create a yaml file with following elements. Refer ./examples/input.yaml

Name

Description

name

Feature ID

description

Feature Description

connect.provision

Provision Connect Cluster

connect.hosts

List of Connect Hosts

connect.connectors

Lists of Connectors sourced from JSON configuration file

connect.plugins.hub

List of Connect Plugins to Download from Confluent Hub

connect.plugins.local

List of Connect Plugins to Download from local file system

connect.plugins.remote

List of Connect Plugins to Download from HTTP endppint

ksql.provision

Provision KSQL Cluster

ksql.hosts

List of KSQL Hosts

ksql.queries

List of KSQL Queries sourced from the query file

broker.topic.overrides.replication

To be used if replication factor not configured for topic

broker.topic.overrides.partitions

To be used if partitions not configured for topic

broker.topic.topics.name

List of topics to be created

broker.topic.topics.replication

Use replication factor. Default is 1

broker.topic.topics.partitions

Use Partitions. Default is 1

broker.topic.dependencies

List of dependent topics. Already provisioned

4. Usage

**usage:** create-cp-input.py [options]

Reads the feature environment YAML config file; converts it into julieops and cp-ansible inventory

optional arguments:
  -h, --help            show this help message and exit
  -f FECONFIG, --feconfig FECONFIG
                        Feature environment config YAML input file (default = input.yaml)
  -a ANSIBLETEMPLATE, --ansibletemplate ANSIBLETEMPLATE
                        Inventory template (default = cpansible.j2)
  -j JULIETEMPLATE, --julietemplate JULIETEMPLATE
                        Inventory template (default = julie.j2)
  -c COMMANDCONFIG, --commandconfig COMMANDCONFIG
                        Command Config (default = ccloud.yaml)