{"_id":"@acesaro/strimzi-headlamp","_rev":"2-81b10bc5fe1e0e41f4660896c6ada636","name":"@acesaro/strimzi-headlamp","dist-tags":{"latest":"0.5.0"},"versions":{"0.3.9":{"name":"@acesaro/strimzi-headlamp","version":"0.3.9","keywords":["headlamp","headlamp-plugin","kubernetes","strimzi","kafka"],"author":{"name":"Angelo Cesaro"},"license":"Apache-2.0","_id":"@acesaro/strimzi-headlamp@0.3.9","maintainers":[{"name":"acesaro","email":"cesaro.angelo@gmail.com"}],"homepage":"https://github.com/cesaroangelo/strimzi-headlamp#readme","bugs":{"url":"https://github.com/cesaroangelo/strimzi-headlamp/issues"},"dist":{"shasum":"182fc7889012c9898f805fb21e81bb72668df22a","tarball":"https://registry.npmjs.org/@acesaro/strimzi-headlamp/-/strimzi-headlamp-0.3.9.tgz","fileCount":4,"integrity":"sha512-AYZB0G9xCvKvCVi7JC2L4TrjEv/XFjAYvbSKO0T5ZZjNchCEsjlJQ3MmEOqjzF6OdvGaXzVWfYTJiusmwAgKXA==","signatures":[{"sig":"MEUCIQDNWvqzjkwtFSxWYOIN4dPwfYBoQy4i8teZJirWbIw2twIgJ/C1YWSSDF2ZTGpYD/mcjaQImW3VQf58yCj6uFJjdX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300476},"main":"dist/main.js","gitHead":"35d4d96f6265d15223216623b79d7b17344ab070","private":false,"scripts":{"tsc":"headlamp-plugin tsc","i18n":"headlamp-plugin i18n","lint":"eslint src --ext .ts,.tsx","test":"headlamp-plugin test","build":"headlamp-plugin build","start":"headlamp-plugin start","format":"prettier --write \"src/**/*.{ts,tsx}\"","package":"headlamp-plugin package","storybook":"headlamp-plugin storybook","storybook-build":"headlamp-plugin storybook-build"},"_npmUser":{"name":"acesaro","email":"cesaro.angelo@gmail.com"},"prettier":"@headlamp-k8s/eslint-config/prettier-config","repository":{"url":"git+https://github.com/cesaroangelo/strimzi-headlamp.git","type":"git"},"_npmVersion":"10.8.2","description":"Headlamp plugin for managing Strimzi (Apache Kafka on Kubernetes) resources","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@xyflow/react":"^12.9.3"},"eslintConfig":{"extends":["@headlamp-k8s","prettier","plugin:jsx-a11y/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","prettier":"^3.2.4","typescript":"^5.6.2","@types/node":"^20.11.0","@types/react":"^18.2.48","eslint-plugin-react":"^7.33.2","@kinvolk/headlamp-plugin":"^0.13.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/strimzi-headlamp_0.3.9_1772843770875_0.11787689823490388","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"@acesaro/strimzi-headlamp@0.5.0","msw":{"workerDirectory":[".storybook/public"]},"bugs":{"url":"https://github.com/cesaroangelo/strimzi-headlamp/issues"},"dist":{"shasum":"95464cda362ec1e1dfa9745d141397e64bc34437","tarball":"https://registry.npmjs.org/@acesaro/strimzi-headlamp/-/strimzi-headlamp-0.5.0.tgz","fileCount":4,"integrity":"sha512-WrEjQCLF5XaMr/IrExuIbEhC6MquIr26B24LhkL8AfXb4LfXmlmEw/uwvoDQDqYssUOp13ujcVN/33Wdlh7r8Q==","signatures":[{"sig":"MEUCIQCKkP+9x7fVOddW3htvoeuwpUs87RV2PZ/DT8Cfv5faEAIgDJRuQjI37a+4JKtLJAzyoaTTLDIverFbzB2BTaQomXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDWB8XSPVnG4+svKLRhoNPfQoVm+ekaDH6hWtVjzU0AOgIhAJP1DoCTICGhpUk94eC1CWKC6Mg4lmsuruy9uhqLNJty"}],"unpackedSize":23013},"name":"@acesaro/strimzi-headlamp","author":{"name":"Angelo Cesaro"},"gitHead":"5e1c1cf6640645352df08ec865579df75acaf0f1","license":"Apache-2.0","private":false,"scripts":{"tsc":"headlamp-plugin tsc","i18n":"headlamp-plugin i18n","lint":"eslint src --ext .ts,.tsx","test":"headlamp-plugin test","build":"headlamp-plugin build","start":"headlamp-plugin start","format":"prettier --write \"src/**/*.{ts,tsx}\"","package":"headlamp-plugin package","licenses":"node scripts/generate-third-party-licenses.mjs","storybook":"storybook dev -p 6007 -c .storybook","storybook-build":"headlamp-plugin storybook-build"},"version":"0.5.0","_npmUser":{"name":"acesaro","email":"cesaro.angelo@gmail.com"},"headlamp":{"extraDist":{"THIRD-PARTY-LICENSES.md":"THIRD-PARTY-LICENSES.md"}},"homepage":"https://github.com/cesaroangelo/strimzi-headlamp#readme","keywords":["headlamp","headlamp-plugin","kubernetes","strimzi","kafka"],"repository":{"url":"git+https://github.com/cesaroangelo/strimzi-headlamp.git","type":"git"},"_npmVersion":"11.19.1","description":"Headlamp plugin for managing Strimzi (Apache Kafka on Kubernetes) resources","directories":{},"maintainers":[{"name":"acesaro","email":"cesaro.angelo@gmail.com"}],"_nodeVersion":"26.8.2","dependencies":{"@xyflow/react":"^12.11.6"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","prettier":"^3.9.8","typescript":"^5.6.2","@types/jest":"^29.5.12","@types/node":"^20.19.43","@types/react":"^18.3.31","tty-browserify":"^0.0.1","eslint-plugin-react":"^7.37.5","@kinvolk/headlamp-plugin":"^0.14.0","@typescript-eslint/parser":"^8.70.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/strimzi-headlamp_0.5.0_1789933710504_0.6533549451242604"}}},"time":{"created":"2026-03-07T00:36:10.773Z","modified":"2026-09-20T19:48:30.762Z","0.3.9":"2026-03-07T00:36:11.033Z","0.5.0":"2026-09-20T19:48:30.593Z"},"bugs":{"url":"https://github.com/cesaroangelo/strimzi-headlamp/issues"},"author":{"name":"Angelo Cesaro"},"license":"Apache-2.0","homepage":"https://github.com/cesaroangelo/strimzi-headlamp#readme","keywords":["headlamp","headlamp-plugin","kubernetes","strimzi","kafka"],"repository":{"url":"git+https://github.com/cesaroangelo/strimzi-headlamp.git","type":"git"},"description":"Headlamp plugin for managing Strimzi (Apache Kafka on Kubernetes) resources","maintainers":[{"name":"acesaro","email":"cesaro.angelo@gmail.com"}],"readme":"# Strimzi Headlamp Plugin\n\n[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/strimzi-headlamp)](https://artifacthub.io/packages/search?repo=strimzi-headlamp)\n\nManage [Strimzi](https://strimzi.io/) resources — Apache Kafka on Kubernetes —\nfrom the [Headlamp](https://headlamp.dev/) UI.\n\n[![Demo](https://img.youtube.com/vi/MNt28s6b5d8/sddefault.jpg)](https://www.youtube.com/watch?v=MNt28s6b5d8)\n\n## Features\n\n- **Kafka clusters** — status, version, replicas, and KRaft or ZooKeeper mode,\n  plus a topology view of node pools and pods\n- **Topics** — create, edit and delete, with partitions, replicas, retention,\n  compression and min in-sync replicas\n- **Users** — create and delete, with SCRAM-SHA-512 or TLS authentication and\n  ACL rules; view the generated password or certificate\n- **Connect clusters** — replicas, version, bootstrap servers, the REST\n  endpoint, and the connector plugins the operator found\n- **Connectors** — desired state against runtime state, per-task detail, and\n  pause, resume or start in one step; values that look like credentials stay\n  masked until you ask for them\n- **Resource map** — Strimzi resources appear on Headlamp's map, linked to the\n  cluster they belong to\n- Works across namespaces, with search and sorting on every list\n\n## Requirements\n\n- Headlamp 0.22 or later\n- A cluster running the Strimzi operator. Both API versions work: `v1beta2` on\n  Strimzi 0.x, and `v1` on Strimzi 1.0 and later. The plugin checks which one\n  the cluster serves and uses it.\n\n## Install\n\nFrom a release archive:\n\n```bash\n# macOS\nmkdir -p ~/Library/Application\\ Support/Headlamp/plugins/strimzi\ntar -xzf *strimzi-headlamp-*.tar.gz \\\n  -C ~/Library/Application\\ Support/Headlamp/plugins/strimzi --strip-components=1\n\n# Linux\nmkdir -p ~/.config/Headlamp/plugins/strimzi\ntar -xzf *strimzi-headlamp-*.tar.gz \\\n  -C ~/.config/Headlamp/plugins/strimzi --strip-components=1\n```\n\nThen restart Headlamp.\n\nFrom npm:\n\n```bash\nnpm install @acesaro/strimzi-headlamp\n```\n\nWith Headlamp server:\n\n```bash\nheadlamp-server -plugins-dir=/path/to/plugin\n```\n\nTo run Headlamp in your cluster with the plugin, see [`deploy/`](deploy/README.md).\n\n## Supported resources\n\nAll of these are served as `kafka.strimzi.io/v1` or `v1beta2`, depending on the\noperator version. `StrimziPodSet` comes from `core.strimzi.io`.\n\n| Resource | What you can do |\n|---|---|\n| `Kafka` | View spec and status, listener addresses, and KRaft or ZooKeeper mode; open the topology view |\n| `KafkaNodePool`, `StrimziPodSet` | Shown in the topology view, with an inline JSON editor |\n| `KafkaTopic` | Create, edit and delete. Set partitions, replicas, retention, min in-sync replicas, and compression (`gzip`, `snappy`, `lz4`, `zstd`, `producer`) |\n| `KafkaUser` | Create and delete, with SCRAM-SHA-512 or TLS authentication and `simple` ACL rules on topics, groups and the cluster. Reveal the generated password or certificate |\n| `KafkaConnect` | View spec, status, the REST endpoint, and the connector plugins the operator found |\n| `KafkaConnector` | View the full config and the per-task state; pause, resume or start. Credential-like config values stay masked until revealed |\n\nConnect clusters are read-only on purpose. Their spec covers images, config,\nTLS and authentication, which are easier to keep in YAML.\n\nConnector actions send a JSON merge-patch to `spec.state`, so the rest of the\nresource is untouched. This is safe for connectors managed by GitOps.\n\n## Development\n\n```bash\nnpm install\nnpm run build      # writes dist/\nnpm run test       # unit tests\nnpm run lint       # eslint\nnpm run tsc        # type check\nnpm run package    # build a .tar.gz\nnpm run storybook  # component workbench\nnpm run licenses   # regenerate THIRD-PARTY-LICENSES.md\n```\n\nLayout:\n\n```\nsrc/\n├── components/   UI, with detail views under one folder per resource\n├── resources/    KubeObject classes for the Strimzi CRDs\n├── hooks/        shared React hooks\n├── utils/        pure helpers, covered by the unit tests\n├── mapView.tsx   resource map sources\n└── index.tsx     routes, sidebar and registration\n```\n\nGuides:\n\n- [Local testing](docs/LOCAL-TESTING.md) — run the plugin against a cluster\n- [Demo walkthrough](docs/DEMO.md) — set up a cluster and tour the UI\n- [Storybook](STORYBOOK_AND_LOCAL_TESTING.md) — component workbench\n- [Releasing](docs/RELEASING.md) — version, tag and publish\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE).\n\nThe build bundles its runtime dependencies into `dist/main.js`. Their licences\nare listed in [THIRD-PARTY-LICENSES.md](THIRD-PARTY-LICENSES.md), which ships\nwith every release archive.\n\n## Links\n\n- [Strimzi documentation](https://strimzi.io/documentation/)\n- [Headlamp plugin development](https://headlamp.dev/docs/latest/development/plugins/)\n- [Apache Kafka](https://kafka.apache.org/)\n","readmeFilename":"README.md"}