Peter Horvath created KAFKA-6851: ------------------------------------ Summary: Kafka CLI commands should support specifying the servers in environment variables Key: KAFKA-6851 URL: https://issues.apache.org/jira/browse/KAFKA-6851 Project: Kafka Issue Type: New Feature Components: clients Affects Versions: 1.0.1, 1.1.0, 1.0.0 Environment: ALL Reporter: Peter Horvath
Currently, different Kafka CLI commands require specifying different servers as argument (--broker-list, --bootstrap-server and --zookeeper). This is kind of tedious as different CLI commands require specifying different servers, which is especially painful if the host names are *long*, and *only slightly different* (e.g. naming scheme for AWS: ec2-12-34-56-2.region-x.compute.amazonaws.com). I know I could simply export shell variables for each type of endpoint and refer that in the command, but that still only eases the pain: export KAFKA_ZK=[ec2-12-34-56-2.region-x.compute.amazonaws.com|http://ec2-12-34-56-2.region-x.compute.amazonaws.com/] bin/kafka-topics.sh --list --zookeeper ${KAFKA_ZK} According to [some conversation on the Kafka mailing list|http://mail-archives.apache.org/mod_mbox/kafka-users/201804.mbox/%3cca+usspag21mwufr146_hlvdyftuzjm4zfn1c5tnfjugjxag...@mail.gmail.com%3E] (started by me), people usually resort to some kind of non-standardised work-arounds (see replies to thread _Using Kafka CLI without specifying the URLs every single time?_) When dealing with Kafka client CLI, it would be huge relief / productivity boost if the CLI could pick up the servers from the user's environment variables. For example, instead of using --broker-list, --bootstrap-server or --zookeeper, the Kafka client commands could check if there is an environment variable and use that in case the argument is missing. (allowing the environment-defined server to still be overridden with an *explicit* argument). I propose introducing some kind of specific environment variables that would allow the user to omit the explicit specification of the --broker-list, --bootstrap-server and --zookeeper argument every single time a CLI command is called. This would make using Kafka CLI much easier. ||CLI argument||Proposed environment variable name|| |--broker-list|KAFKA_CLIENT_BROKER_LIST| |--bootstrap-server|KAFKA_CLIENT_BOOTSTRAP_SERVER| |--zookeeper|KAFKA_CLIENT_ZOOKEEPER| It should be possible to implement this solely at the wrapper shell script level, with some checks being done that test if the variable is defined or not. -- This message was sent by Atlassian JIRA (v7.6.3#76005)