JSPM

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

Package Exports

  • @parseable/backstage-plugin-logstream
  • @parseable/backstage-plugin-logstream/dist/index.esm.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@parseable/backstage-plugin-logstream) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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
  • Live tail support with pause/resume functionality
  • Copy log entries to clipboard
  • Advanced search page with:
    • Time range selection
    • Free-text search
    • Export to CSV

Installation

  1. Install the plugin in your Backstage app:
# From your Backstage root directory
yarn add --cwd packages/app @internal/plugin-parseable-logstream
  1. Configure the plugin in your app-config.yaml:
# 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).

  1. Add the plugin to your Backstage app:
// packages/app/src/App.tsx
import { parseableLogstreamPlugin } from '@internal/plugin-parseable-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 '@internal/plugin-parseable-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
  # ...
spec:
  type: service
  # ...

Environment Variables

  • PARSEABLE_B64_CRED: Base64 encoded credentials for Parseable in the format username:password

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