Parseable Dataset Plugin for Backstage
This plugin allows engineers to pull their own Parseable datasets directly onto an entity page in Backstage.
Features
- View datasets from Parseable directly in Backstage
- Select from available datasets the user has access to
- Copy log entries to clipboard
Installation
- Install the plugin in your Backstage app:
yarn --cwd packages/app add @parseable/backstage-plugin-logstream
- Configure the plugin in your
app-config.yaml:
parseable:
basicAuthCredential: ${PARSEABLE_B64_CRED}
You need to set the PARSEABLE_B64_CRED environment variable with the Base64 encoded credentials for Parseable (in the format username:password).
Quick Start with Demo Server:
export PARSEABLE_B64_CRED=YWRtaW46YWRtaW4=
- Add the plugin to your Backstage app:
import { parseableLogstreamPlugin } from '@parseable/backstage-plugin-logstream';
const app = createApp({
plugins: [
parseableLogstreamPlugin,
],
});
- Add the plugin to your entity page:
import {
EntityParseableLogstreamContent,
isParseableLogstreamAvailable,
} from '@parseable/backstage-plugin-logstream';
const serviceEntityPage = (
<EntityLayout>
{/* ... other tabs ... */}
<EntityLayout.Route
path="/parseable"
title="Logs"
if={isParseableLogstreamAvailable}
>
<EntityParseableLogstreamContent />
</EntityLayout.Route>
</EntityLayout>
);
Configuration
Entity Annotation
To enable the Parseable dataset for an entity, add the following annotation to your catalog-info.yaml:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: example-service
annotations:
parseable.io/base-url: https://demo.parseable.com
spec:
type: service
Environment Variables
PARSEABLE_B64_CRED: Base64 encoded credentials for Parseable in the format username:password
- For demo.parseable.com: Use
admin:admin (Base64: YWRtaW46YWRtaW4=)
- For production: Set your actual Parseable credentials
Example Entity YAML
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: example-service
description: An example service with Parseable logs
annotations:
parseable.io/base-url: https://demo.parseable.com
spec:
type: service
lifecycle: production
owner: team-a
system: system-a
Development
To start the plugin in development mode:
yarn start
To build the plugin:
yarn build
Publishing
This plugin is published to the npm registry under the @parseable organization. To publish a new version:
yarn build
npm publish
Note: You need to be a member of the @parseable organization on npm and logged in via npm login to publish.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
Apache-2.0