How can you run Julie Ops¶
Julie Ops is available to be integrated using different artifacts:
As a CLI tool, available to be installed using rpm, deb and tar.gz packages from github.
As a docker image, available from docker hub.
NOTE: In the future it will also be available as a jar to be integrated in other libraries.
Running Julie Ops as a CLI command¶
If you are using the CLI tool, you an use the –help command to list the different options available.
$> julie-ops-cli.sh --help
usage: cli
- <<<<<<< HEAD
- --allowDelete
Permits delete operations for topics and configs. (deprecated, to be removed)
- --brokers <arg>
The Apache Kafka server(s) to connect to.
- --clientConfig <arg>
The client configuration file.
- --dryRun
Print the execution plan without altering anything.
- --help
Prints usage information.
- --overridingClientConfig <arg>
The overriding client configuration file.
- --plans <arg>
File describing the predefined plans
- --quiet
Print minimum status update
- --topology <arg>
Topology config file.
- --validate
- Only run configured validations in
your topology
- --version
Prints useful version information.
The most important ones are:
–brokers: This is an optional parameter where the user can list the target Kafka cluster urls.
–clientConfig: As other tools, Julie Ops needs it’s own configuration. In this parameter users can pass a file listing all different personalisation options.
–overridingClientConfig: The user can pass a second configuration. This configuration takes priority over the default. This mechanism can be used in a CI/CD pipeline, to separate credentials from the main configuration.
–dryRun: When as a user, you don’t want to run the tool, but instead see what might happen. This option is very useful to evaluate changes before applying them to the cluster.
–topology: This is where you will pass the topology file. It can be either a single file, or a directory. If a directory is used, all files within are going to be compiled into a single macro topology.
–version: If you wanna know the version you are running.
–allowDelete: By default Julie Ops will not make any destructive operations. If as a user, you allow the tool to update the cluster,
for example by deleting unnecessary ACLs, or topics, you need to pass this option.
Running Julie Ops as a Docker image.¶
As explained earlier, users can run the tool as well directly as docker images. An example command for this function will look like this:
$> docker run -t -i \
-v /Users/pere/work/kafka-topology-builder/example:/example \
purbon/kafka-topology-builder:latest \
julie-ops-cli.sh \
--brokers pkc-4ygn6.europe-west3.gcp.confluent.cloud:9092 \
--clientConfig /example/topology-builder-with-schema-cloud.properties \
--topology /example/descriptor.yaml -quiet
CLI options are all available here. Available image tags can be found at docker hub.