Skip to content

Plugins Catalog

joshuaaferguson edited this page Apr 25, 2026 · 2 revisions

Plugins Catalog

This page distills the streamspace-plugins repository and the platform Plugin API so you can evaluate or build extensions quickly.

Repository Overview

  • Location: https://github.com/streamspace-dev/streamspace-plugins
  • Structure:
    • official/ – maintained by StreamSpace (session-recorder, audit-logger, slack-integration, metrics-exporter, etc.)
    • community/ – community submissions (github-integration, custom-theme, jira-integration, ldap-sync, more)
    • catalog.yaml – metadata powering the in-product marketplace
    • README.md / CONTRIBUTING.md – onboarding, submission, and testing rules

Plugin Types

  1. Extension Plugins – add UI widgets, catalog panels, or admin workflows.
  2. Webhook Plugins – respond to events (session.created, user.login, template.updated, plugin.state, system.startup, audit.violation, etc.).
  3. API Integrations – push data to Slack, GitHub, Jira, PagerDuty, email.
  4. UI Themes – customize branding, colors, and accessibility.

Installation Options

# Helm values snippet for auto-sync
repositories:
  plugins:
    enabled: true
    url: https://github.com/streamspace-dev/streamspace-plugins
    branch: main
    syncInterval: "1h"
# CLI-based install
streamspace plugin install session-recorder

# Raw manifest
kubectl apply -f https://raw.githubusercontent.com/streamspace-dev/streamspace-plugins/main/official/session-recorder/manifest.yaml

Plugin Structure

my-plugin/
├── manifest.json        # metadata + permissions + entrypoints
├── index.js             # lifecycle hooks and handlers
├── README.md            # usage/config instructions
├── config.schema.json   # optional configuration validation
├── package.json         # dependencies (if needed)
└── assets/              # icons, screenshots

Minimal manifest.json:

{
  "name": "my-plugin",
  "version": "1.0.0",
  "displayName": "My Plugin",
  "type": "extension",
  "permissions": ["read:sessions"],
  "entrypoints": { "main": "index.js" }
}

Plugin API Essentials (docs/PLUGIN_API.md)

  • Accessed via global streamspace object (api, notify, email, storage, ui, commands, log, version, config).
  • Session/User/Template APIs support filtering, pagination, and state transitions.
  • Lifecycle hooks (onLoad, onEnable, onDisable, onUnload) manage setup/teardown.
  • Event handlers subscribe to webhook topics for reactive automation.
  • UI API lets you register panels, buttons, modals, and theme tokens.

Contribution Workflow

  1. Fork streamspace-plugins, create plugin under official/ or community/.
  2. Implement logic using Plugin API, include docs/screenshots.
  3. Add entry to catalog.yaml.
  4. Test via local StreamSpace instance (streamspace plugin install ./path) and document results.
  5. Submit PR referencing the affected event types or APIs.

See Development-Guide for coding conventions and Security-and-Compliance for expectations when handling secrets or external calls.

Clone this wiki locally