Installation¶
Installing kafka-gitops requires either Java or Docker.
Binary Release¶
Download the latest kafka-gitops.zip from the GitHub releases page, then extract the kafka-gitops executable and move it onto your PATH.
unzip kafka-gitops.zip
chmod +x kafka-gitops
mv kafka-gitops /usr/local/bin/kafka-gitops
Ensure the command is working by running:
kafka-gitops
You should see output similar to the following:
Usage: kafka-gitops [-hvV] [--no-delete] [--skip-acls] [-c=<file>] [-f=<file>]
[COMMAND]
Manage Kafka resources with a desired state file.
-c, --command-config=<file>
Command config properties file.
-f, --file=<file> Specify the desired state file.
-h, --help Display this help message.
--no-delete Disable the ability to delete resources.
--skip-acls Do not take ACLs into account during plans or applies.
-v, --verbose Show more detail during execution.
-V, --version Print the current version of this tool.
Commands:
account Create Confluent Cloud service accounts.
apply Apply changes to Kafka resources.
import Import current Kafka topics and ACLs into a bootstrap state file.
plan Generate an execution plan of changes to Kafka resources.
validate Validates the desired state file.
Build From Source¶
The current build baseline uses JDK 21.
./gradlew buildRelease
The release zip is written to build/distributions/kafka-gitops.zip.
Docker¶
We publish a Docker image at devshawn/kafka-gitops.
The Docker Hub namespace has not moved yet, so use that image name even though the source repository now lives under chenrui333/kafka-gitops.
The image runs as an unprivileged kafka-gitops user and uses kafka-gitops as the container entrypoint.
Example:
docker run --rm devshawn/kafka-gitops --version
If you need Amazon MSK IAM authentication, copy or mount the AWS MSK IAM auth plugin jar into the container and set CLASSPATH to that jar before running kafka-gitops.