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) |