@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-kafka': patch
|
||||
'@backstage/plugin-kafka-backend': patch
|
||||
---
|
||||
|
||||
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
|
||||
@@ -1,55 +1,3 @@
|
||||
# Kafka Backend
|
||||
# Deprecated
|
||||
|
||||
This is the backend part of the Kafka plugin. It responds to Kafka requests
|
||||
from the frontend.
|
||||
|
||||
## Configuration
|
||||
|
||||
This configures how to connect to the brokers in your Kafka cluster.
|
||||
|
||||
### `clientId`
|
||||
|
||||
The name of the client to use when connecting to the cluster.
|
||||
|
||||
### `brokers`
|
||||
|
||||
A list of the brokers' host names and ports to connect to.
|
||||
|
||||
### `ssl` (optional)
|
||||
|
||||
Configure TLS connection to the Kafka cluster. The options are passed directly
|
||||
to [tls.connect] and used to create the TLS secure context. Normally these
|
||||
would include `key` and `cert`.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
kafka:
|
||||
clientId: backstage
|
||||
clusters:
|
||||
- name: prod
|
||||
brokers:
|
||||
- localhost:9092
|
||||
```
|
||||
|
||||
### `sasl` (optional)
|
||||
|
||||
Configure SASL authentication for the Kafka client.
|
||||
|
||||
```yaml
|
||||
kafka:
|
||||
clientId: backstage
|
||||
clusters:
|
||||
- name: prod
|
||||
brokers:
|
||||
- my-cluster:9092
|
||||
ssl: true
|
||||
sasl:
|
||||
mechanism: plain # or 'scram-sha-256' or 'scram-sha-512'
|
||||
username: my-username
|
||||
password: my-password
|
||||
```
|
||||
|
||||
### ACLs
|
||||
|
||||
If you are using ACLs on Kafka, you will need to have the `DESCRIBE` ACL on both consumer groups and topics.
|
||||
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-kafka-backend` instead.
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"version": "0.3.15",
|
||||
"description": "A Backstage backend plugin that integrates towards Kafka",
|
||||
"backstage": {
|
||||
"role": "backend-plugin"
|
||||
"role": "backend-plugin",
|
||||
"moved": "@backstage-community/plugin-kafka-backend"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
@@ -68,5 +69,6 @@
|
||||
"jest-when": "^3.1.0",
|
||||
"supertest": "^6.1.3"
|
||||
},
|
||||
"configSchema": "config.d.ts"
|
||||
"configSchema": "config.d.ts",
|
||||
"deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-kafka-backend instead."
|
||||
}
|
||||
|
||||
+2
-118
@@ -1,119 +1,3 @@
|
||||
# Kafka Plugin
|
||||
# Deprecated
|
||||
|
||||
<img src="./src/assets/screenshot-1.png">
|
||||
|
||||
## Setup
|
||||
|
||||
1. Run:
|
||||
|
||||
```bash
|
||||
# From your Backstage root directory
|
||||
yarn --cwd packages/app add @backstage/plugin-kafka
|
||||
yarn --cwd packages/backend add @backstage/plugin-kafka-backend
|
||||
```
|
||||
|
||||
2. Add the plugin backend:
|
||||
|
||||
In a new file named `kafka.ts` under `backend/src/plugins`:
|
||||
|
||||
```js
|
||||
import { createRouter } from '@backstage/plugin-kafka-backend';
|
||||
import { Router } from 'express';
|
||||
import { PluginEnvironment } from '../types';
|
||||
|
||||
export default async function createPlugin(
|
||||
env: PluginEnvironment,
|
||||
): Promise<Router> {
|
||||
return await createRouter({
|
||||
logger: env.logger,
|
||||
config: env.config,
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
And then add to `packages/backend/src/index.ts`:
|
||||
|
||||
```js
|
||||
// In packages/backend/src/index.ts
|
||||
import kafka from './plugins/kafka';
|
||||
// ...
|
||||
async function main() {
|
||||
// ...
|
||||
const kafkaEnv = useHotMemoize(module, () => createEnv('kafka'));
|
||||
// ...
|
||||
apiRouter.use('/kafka', await kafka(kafkaEnv));
|
||||
```
|
||||
|
||||
3. Add the plugin as a tab to your service entities:
|
||||
|
||||
```jsx
|
||||
// In packages/app/src/components/catalog/EntityPage.tsx
|
||||
import { EntityKafkaContent } from '@backstage/plugin-kafka';
|
||||
|
||||
const serviceEntityPage = (
|
||||
<EntityLayout>
|
||||
{/* other tabs... */}
|
||||
<EntityLayout.Route path="/kafka" title="Kafka">
|
||||
<EntityKafkaContent />
|
||||
</EntityLayout.Route>
|
||||
```
|
||||
|
||||
4. Add broker configs for the backend in your `app-config.yaml` (see
|
||||
[kafka-backend](https://github.com/backstage/backstage/blob/master/plugins/kafka-backend/README.md)
|
||||
for more options):
|
||||
|
||||
```yaml
|
||||
kafka:
|
||||
clientId: backstage
|
||||
clusters:
|
||||
- name: cluster-name
|
||||
brokers:
|
||||
- localhost:9092
|
||||
```
|
||||
|
||||
5. Add the `kafka.apache.org/consumer-groups` annotation to your services:
|
||||
|
||||
Can be a comma separated list.
|
||||
|
||||
```yaml
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
# ...
|
||||
annotations:
|
||||
kafka.apache.org/consumer-groups: cluster-name/consumer-group-name
|
||||
spec:
|
||||
type: service
|
||||
```
|
||||
|
||||
6. Configure dashboard urls:
|
||||
|
||||
You have two options.
|
||||
Either configure it with an annotation called `kafka.apache.org/dashboard-urls`
|
||||
|
||||
```yaml
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
# ...
|
||||
annotations:
|
||||
kafka.apache.org/dashboard-urls: cluster-name/consumer-group-name/dashboard-url
|
||||
spec:
|
||||
type: service
|
||||
```
|
||||
|
||||
> The consumer-group-name is optional.
|
||||
|
||||
or with configs in `app-config.yaml`
|
||||
|
||||
```yaml
|
||||
kafka:
|
||||
# ...
|
||||
clusters:
|
||||
- name: cluster-name
|
||||
dashboardUrl: https://dashboard.com
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- List topics offsets and consumer group offsets for configured services.
|
||||
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-kafka` instead.
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"version": "0.3.34",
|
||||
"description": "A Backstage plugin that integrates towards Kafka",
|
||||
"backstage": {
|
||||
"role": "frontend-plugin"
|
||||
"role": "frontend-plugin",
|
||||
"moved": "@backstage-community/plugin-kafka"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
@@ -57,5 +58,6 @@
|
||||
"react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0",
|
||||
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
||||
},
|
||||
"configSchema": "config.d.ts"
|
||||
"configSchema": "config.d.ts",
|
||||
"deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-kafka instead."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user