kdef

command module
v0.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 1 Imported by: 0

README

kdef

CI GoReportCard GoDoc

kdef aims to provide an easy way to manage resources in a Kafka cluster by having them defined explicitly in a human-readable format. Changes to resource definitions can be reviewed like code and applied to a cluster.

kdef was designed to support being run in a CI-CD environment, allowing teams to manage Kafka resource definitions in source control with pull requests (GitOps).

Demo

Features

  • Definition support for:
    • Topics
    • ACLs
    • Per-broker configs
    • Cluster-wide broker configs
  • YAML and JSON definition formats
  • TLS and SASL mechanisms (PLAIN, SCRAM, AWS_MSK_IAM)
  • CLI scripting support (input via stdin, JSON output, etc.)

Compatibility

kdef uses Kafka broker APIs. These are the minimum Kafka versions required to apply each definition kind.

  • acl (Kafka 0.11.0+)
  • broker (Kafka 0.11.0+)
  • brokers (Kafka 0.11.0+)
  • topic (Kafka 2.4.0+)

Documentation

See the manual for installation, configuration and usage instructions.

Installation

For the complete list of installation options see the manual.

homebrew tap

brew install peter-evans/kdef/kdef

go install

go install github.com/peter-evans/kdef@latest

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cli
cmd
Package cmd implements the root command.
Package cmd implements the root command.
cmd/apply
Package apply implements the apply command and executes the controller.
Package apply implements the apply command and executes the controller.
cmd/configure
Package configure implements the configure command.
Package configure implements the configure command.
cmd/export
Package export implements the export command.
Package export implements the export command.
cmd/export/acl
Package acl implements the export acl command and executes the controller.
Package acl implements the export acl command and executes the controller.
cmd/export/broker
Package broker implements the export broker command and executes the controller.
Package broker implements the export broker command and executes the controller.
cmd/export/brokers
Package brokers implements the export brokers command and executes the controller.
Package brokers implements the export brokers command and executes the controller.
cmd/export/topic
Package topic implements the export topic command and executes the controller.
Package topic implements the export topic command and executes the controller.
config
Package config implements loading config from several sources and client creation.
Package config implements loading config from several sources and client creation.
ctl/apply
Package apply implements the apply controller.
Package apply implements the apply controller.
ctl/apply/docparse
Package docparse implements parsers to transform input into separated documents.
Package docparse implements parsers to transform input into separated documents.
ctl/export
Package export implements the export controller.
Package export implements the export controller.
log
Package log implements a logging interface.
Package log implements a logging interface.
scanner
Package scanner implements a scanner with methods to prompt for user input.
Package scanner implements a scanner with methods to prompt for user input.
test/tutil
Package tutil implements testing utility functions.
Package tutil implements testing utility functions.
core
client
Package client implements the creation of a Kafka client.
Package client implements the creation of a Kafka client.
helpers/acls
Package acls implements helper functions for handling ACLEntryGroups.
Package acls implements helper functions for handling ACLEntryGroups.
helpers/assignments
Package assignments implements helper functions for partition assignment operations.
Package assignments implements helper functions for partition assignment operations.
helpers/jsondiff
Package jsondiff implements a line-oriented JSON differ.
Package jsondiff implements a line-oriented JSON differ.
kafka
Package kafka implements the Kafka service handling requests and responses.
Package kafka implements the Kafka service handling requests and responses.
model/def
Package def implements definitions for Kafka resources.
Package def implements definitions for Kafka resources.
model/meta
Package meta implements metadata structures and related operations.
Package meta implements metadata structures and related operations.
model/opt
Package opt implements configuration options.
Package opt implements configuration options.
model/res
Package res implements structures handling the result of operations.
Package res implements structures handling the result of operations.
operators/acl
Package acl implements operators for acl definition operations.
Package acl implements operators for acl definition operations.
operators/broker
Package broker implements operators for broker definition operations.
Package broker implements operators for broker definition operations.
operators/brokers
Package brokers implements operators for brokers definition operations.
Package brokers implements operators for brokers definition operations.
operators/topic
Package topic implements operators for topic definition operations.
Package topic implements operators for topic definition operations.
test/compose
Package compose implements Docker compose setup and teardown for integration tests.
Package compose implements Docker compose setup and teardown for integration tests.
test/harness
Package harness implements test harnesses for integration tests.
Package harness implements test harnesses for integration tests.
test/tutil
Package tutil implements testing utility functions.
Package tutil implements testing utility functions.
util/diff
Package diff implements functions to compute a line-oriented diff.
Package diff implements functions to compute a line-oriented diff.
util/i32
Package i32 implements functions for various int32 operations.
Package i32 implements functions for various int32 operations.
util/str
Package str implements functions for various string operations.
Package str implements functions for various string operations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL