JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q36435F
  • License Apache-2.0

Backstage plugin for integrating with Parseable log streams

Package Exports

  • @parseable/backstage-plugin-logstream
  • @parseable/backstage-plugin-logstream/package.json

Readme

Parseable Dataset Plugin for Backstage

This plugin allows engineers to pull their own Parseable datasets directly onto an entity page in Backstage.

Screenshot 2025-07-14 at 8 05 07 AM

Features

  • View datasets from Parseable directly in Backstage
  • Select from available datasets the user has access to
  • Copy log entries to clipboard

Installation

  1. Install the plugin in your Backstage app:
# From your Backstage root directory
yarn --cwd packages/app add @parseable/backstage-plugin-logstream
  1. Configure the plugin in your app-config.yaml:
# app-config.yaml
parseable:
  basicAuthCredential: ${PARSEABLE_B64_CRED}  # For demo.parseable.com, use: YWRtaW46YWRtaW4=

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=  # admin:admin for demo.parseable.com
  1. Add the plugin to your Backstage app:
// packages/app/src/App.tsx
import { parseableLogstreamPlugin } from '@parseable/backstage-plugin-logstream';

const app = createApp({
  // ...
  plugins: [
    // ...
    parseableLogstreamPlugin,
  ],
});
  1. Add the plugin to your entity page:
// packages/app/src/components/catalog/EntityPage.tsx
import {
  EntityParseableLogstreamContent,
  isParseableLogstreamAvailable,
} from '@parseable/backstage-plugin-logstream';

// Add to your entity page layout
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  # Use demo server for testing
  # ...
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:

# From the plugin directory
yarn start

To build the plugin:

# From the plugin directory
yarn build

Publishing

This plugin is published to the npm registry under the @parseable organization. To publish a new version:

# From the plugin directory
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