forked from raycast/extensions
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- chore: prepare for public store - chore: package.json - fix: package-lock - chore: move extensions - chore: package.json - fix: package-lock - feat: rename extensions in package.json - feat: rename vault command - fix: screenshots resolution - feat: add changelog - feat: add screeshots - fix: package-lock - fix: github package.json name - fix: github extension - fix: package-lock - feat: update icon - feat: rename github to github pulls - feat: rename github to github pulls - fix: publish workflow - deps: update (raycast#18) - feat: add multiple login methods (raycast#17) - feat(vault): add favorite namespaces easy switch (raycast#16) - feat(kafka): add list section (raycast#10) - feat(vault): add options to disable write and/or delete (raycast#9) - feat: move to npm (raycast#8) - feat: white icon for menu bar and display lag even if currently loading (raycast#7) - ci: rename list extensions -> list for matrix - ci: rename list extensions -> list for matrix - ci: conditional publish on changes files - chore(kafka-menu-bar): update log (raycast#6) - feat: reusable list extensions workflow - fix: publish workflow - fix: publish workflow (raycast#5) - feat: add publish workflow - fix: ci (raycast#4) - feat: add actions - feat: add dependabot - feat: monorepo - docs: improve kafka documentation - docs: add kakfa doc link in readme - feat: add conf to hide consumers without lag - feat: add metadata extractor - feat: add partitions in topics and improve compacted tag - fix: kafka extension icon - feat(kafka): new extension - deps: update raycast - feat(vault): add paste to current app - feat(vault): add favorites management - chore(doc): improve documentation - Merge pull request raycast#2 from fonimus/feat/license - Merge pull request raycast#1 from fonimus/feat/build-sh - Merge pull request raycast#3 from fonimus/feat/git-ignore - feat(vault): add list/create/delete entities - feat(github): improve list accessories - feat(github): improve list accessories - feat(github): remove pr number when details are shown - fix(github): remove labels from list temporarily (bug in raycast/extensions raycast#3359) - chore(git): add .gitignore - chore(license): add MIT license - chore(build): add extension builder - feat(github): improve left icon for bots, waiting, etc - feat(github): improve left icon for bots, waiting, etc - feat(github): add pr number in navigation and set approval as left icon - fix(vault): typo - chore(deps): migrate to last raycast version - chore(all): reformat with prettier - fix(vault): fix logo dimension - ♻️ Remove unused url preference - 🐛 Remove console logs - 🔧 Fix readme - 🔧 Add dsstore to gitignore - 🔧 Update manifests - ✨(vault) Save show technical paths in cache - ✨(github) Add draft information - ✨(vault) Add folder recursive deletion - ✨(vault) Add json validation when adding new version - ✨ Add tint color in icons - ✨ Add tint color in icons, add mark in user avatar - 🔨 Add react hooks eslint plugin - 🐛 Fix reloading issue - ✨ Add owner name in repo list and copy pr url in clipboard - 🔧 Remove organization from preferences - ✨ Add approve action, add possibility to show/hide details, add number of approvals in list/detail - ♻️ Use useCallback hook and make actions methods components - ♻️ Use usePromise from raycast utils when possible - 🐛 Fix system sound by replacing unnecessary submit form action by standard action - ♻️ Use useCachedState from raycast utils - 🎉 Init project with vault and github extensions - Initial commit
- Loading branch information
Showing
17 changed files
with
1,093 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Kafka Changelog | ||
|
||
## [Added kafka] - 2023-03-01 | ||
|
||
### Kafka command | ||
|
||
- List and consult topic configurations | ||
- List consumers with state, members and overall lag | ||
|
||
### Kafka menu bar command | ||
|
||
Have kafka in menu bar with background actualization every 5 minutes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# Kafka extension | ||
|
||
> Extension to quickly consult topics and consumers of kafka broker | ||
## Configuration | ||
|
||
| Name | Required | Default | Example | Description | | ||
|-----------------------------|----------|-------------|------------------------|-------------------------------------------------------------------| | ||
| configDirectory | Yes | `~/.kafka/` | `/kafka-config/` | Configuration directory containing [env files](#environment-file) | | ||
| 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. | ||
|
||
### Environment file | ||
|
||
Environment file must be a json in the configuration directory with following | ||
fields : | ||
|
||
````typescript | ||
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](https://kafka.js.org/) configuration is used by default : | ||
|
||
````typescript | ||
const defaultConfiguration = { | ||
connectionTimeout: 10000, | ||
requestTimeout: 30000, | ||
ssl: { | ||
rejectUnauthorized: false | ||
}, | ||
logLevel: logLevel.ERROR | ||
}; | ||
```` | ||
|
||
More info on configuring | ||
[kafkaJS](https://kafka.js.org/) [here](https://kafka.js.org/docs/configuration) | ||
|
||
_Example_ | ||
|
||
````json | ||
{ | ||
"name": "Dev", | ||
"filterTopics": [ | ||
"my-prefix-for-dev" | ||
], | ||
"filterConsumers": [ | ||
"dev", | ||
"def" | ||
], | ||
"kafkaJs": { | ||
"brokers": [ | ||
"kafka-host:kafka-port" | ||
], | ||
"sasl": { | ||
"mechanism": "plain", | ||
"username": "user", | ||
"password": "password" | ||
} | ||
} | ||
} | ||
|
||
```` | ||
|
||
## Kafka command | ||
|
||
- List and consult topic configurations | ||
- List consumers with state, members and overall lag | ||
|
||
## Kafka menu bar command | ||
|
||
Have kafka in menu bar with background actualization every 5 minutes | ||
|
||
## Configuration | ||
|
||
| Name | Required | Default | Description | | ||
|----------------|----------|---------|------------------------------------------------| | ||
| hideWithoutLag | No | false | Hide consumers without lag to avoid long lists | |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
{ | ||
"$schema": "https://www.raycast.com/schemas/extension.json", | ||
"name": "kafka", | ||
"title": "Kafka", | ||
"description": "Kafka extension for Raycast", | ||
"icon": "kafka.png", | ||
"author": "fonimus", | ||
"categories": [ | ||
"Productivity", | ||
"Developer Tools" | ||
], | ||
"license": "MIT", | ||
"commands": [ | ||
{ | ||
"name": "kafka", | ||
"title": "Kafka", | ||
"subtitle": "Kafka - topics and consumers", | ||
"description": "Overview of kafka topics and consumers by environment", | ||
"mode": "view" | ||
}, | ||
{ | ||
"name": "kafka-menubar", | ||
"title": "Kafka Menubar", | ||
"subtitle": "Kafka menu bar - consumers", | ||
"description": "Overview of kafka consumers lag by environment with refresh", | ||
"mode": "menu-bar", | ||
"interval": "5m", | ||
"preferences": [ | ||
{ | ||
"name": "hideWithoutLag", | ||
"title": "Hide without lag", | ||
"label": "Hide consumers without lag", | ||
"description": "Hide consumers without lag to avoid long lists", | ||
"type": "checkbox", | ||
"required": false | ||
} | ||
] | ||
} | ||
], | ||
"preferences": [ | ||
{ | ||
"name": "configDirectory", | ||
"title": "Config directory for env files", | ||
"description": "Configuration directory containing env files", | ||
"type": "directory", | ||
"default": "~/.kafka/", | ||
"required": true | ||
}, | ||
{ | ||
"name": "extractRegex", | ||
"title": "Extract regex", | ||
"description": "Regex to extract information from topic name", | ||
"type": "textfield", | ||
"required": false | ||
}, | ||
{ | ||
"name": "extractTitleGroup", | ||
"title": "Extract title group", | ||
"description": "Group to get from regex to display title", | ||
"type": "textfield", | ||
"required": false | ||
}, | ||
{ | ||
"name": "extractSubTitleGroup", | ||
"title": "Extract sub title group", | ||
"description": "Group to get from regex to display sub title", | ||
"type": "textfield", | ||
"required": false | ||
}, | ||
{ | ||
"name": "extractMetadataNameAndGroup", | ||
"title": "Extract metadata name and group", | ||
"description": "Extract metadata from regex. Ex: (Owner=2,Application=4)", | ||
"type": "textfield", | ||
"required": false | ||
} | ||
], | ||
"dependencies": { | ||
"@raycast/api": "1.48.5", | ||
"@raycast/utils": "1.5.0", | ||
"kafkajs": "2.2.3", | ||
"moment": "2.29.4" | ||
}, | ||
"devDependencies": { | ||
"@types/kafkajs": "1.9.0", | ||
"@types/node": "18.14.2", | ||
"@types/react": "18.0.28", | ||
"@typescript-eslint/eslint-plugin": "5.53.0", | ||
"@typescript-eslint/parser": "5.54.0", | ||
"eslint": "8.35.0", | ||
"eslint-config-prettier": "8.6.0", | ||
"eslint-plugin-react-hooks": "4.6.0", | ||
"prettier": "2.8.4", | ||
"typescript": "4.9.5" | ||
}, | ||
"scripts": { | ||
"build": "ray build -e dist", | ||
"dev": "ray develop", | ||
"fix-lint": "ray lint --fix", | ||
"lint": "ray lint", | ||
"publish": "ray publish" | ||
} | ||
} |
Oops, something went wrong.