Extension to quickly consult topics and consumers of kafka broker
Name | Required | Default | Example | Description |
---|---|---|---|---|
configDirectory | Yes | ~/.kafka/ | /kafka-config/ | Configuration directory containing env files |
Environment file must be a json in the configuration directory with following fields :
export interface KafkaEnv {
// env name to display on raycast dropdown
name: string;
// to filter topics by keyword(s)
filterTopics?: string[];
// to filter consumers by keyword(s)
filterConsumers?: string[];
// kafka js configuration for broker, authentication, etc
kafkaJs: KafkaConfig;
}
Following kafkaJS configuration is used by default :
const defaultConfiguration = {
connectionTimeout: 10000,
requestTimeout: 30000,
logLevel: logLevel.ERROR
};
More info on configuring kafkaJS here
Example
{
"name": "Dev",
"filterTopics": [
"my-prefix-for-dev"
],
"filterConsumers": [
"dev",
"def"
],
"kafkaJs": {
"brokers": [
"kafka-host:kafka-port"
],
"sasl": {
"mechanism": "plain",
"username": "user",
"password": "password"
}
}
}
Name | Required | Default | Example | Description |
---|---|---|---|---|
extractRegex | No | - | topic_(.*)_(.*)_(.*) | Regex to extract information from topic name |
extractTitleGroup | No | - | 1 | Group to get from regex to display title |
extractSubTitleGroup | No | - | 2 | Group to get from regex to display subtitle |
extractMetadataNameAndGroup | No | - | Application=3 | Extract metadata from regex |
Note: in this example, with a topic named topic_NAME_OWNER_APP
, the title
would be NAME, the subtitle OWNER, and in the side panel we would have
the following metadata Application=APP. If you don't set extractRegex full
topic name will be displayed.
Have kafka in menu bar with background actualization every 5 minutes
Name | Required | Default | Description |
---|---|---|---|
hideWithoutLag | No | true | Hide consumers without lag to avoid long lists |
sendNotification | No | false | Send macos notification if at least one consumer has lag |
notificationThreshold | No | 1000 | Notification threshold to not exceed to send macos notification (need sendNotification to be true ) |