Skip to content

ElaiShalevRH/backstage-plugins

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backstage Plugins by Janus IDP

Apache 2.0 license GitHub Workflow Status (Release) Released packages

Backstage is a single-page application composed of a set of plugins. This repository holds all plugins that are maintained, developed, and managed by the Janus IDP project.

For more information about the plugin ecosystem, see the upstream documentation.

A subset of available Janus IDP plugins is available at our community site.

You can also see the Plugin Marketplace for other open-source plugins you can add to your Backstage instance.

Dynamic Plugins Installation

It is possible to install plugins without code changes in a backstage that supports Dynamic Plugins (e.g. Janus IDP and Red Hat Developer Hub). Follow the steps below to install a dynamic plugin:

  • Map the dynamic plugins root directory in app-config.local.yaml:
dynamicPlugins:
  rootDirectory: dynamic-plugins-root
  • Place your package inside the plugins root directly. You can pack a local plugin or download from NPM using npm pack, then make sure to extract it correctly into the plugin root directory:
cd dynamic-plugins-root
mkdir {plugin name}
tar -xzvf {path to the NPM package tgz file} -C {plugin name}  --strip-components=1
  • Configure your plugin in app-config.local.yaml. For example, the configuration below will make a new menu item to access the plugin on route my-plugin:
dynamicPlugins:
  rootDirectory: dynamic-plugins-root
  frontend:
    {plugin name}:   # this should match the plugin name in package.json, remember to remove "@" and replace "/" by dots (".")
      pluginConfig:
      dynamicRoutes:
        - path: /my-plugin
          importName: MyPlugin   # the exported react component that should be rendered
          menuItem:
            text: My Plugin
  • Start backstage and you should see in logs that your plugin was correctly scanned by Backstage:
scalprum info Loaded dynamic frontend plugin '{plugin name}' from '${Backstage path}/dynamic-plugins-root/{plugin name}'  type=plugin

Now when accessing Backstage you should see a new menu item with name My Plugin and when clicking on it your plugin will be rendered.

For more information check the Dynamic Plugins Guide.


✨ We would love for you to contribute to Janus IDP's collection of Backstage plugins and help make it even better than it is today! ✨

  1. Contribution guide
  2. Code of Conduct

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 92.8%
  • JavaScript 3.8%
  • CSS 2.5%
  • Handlebars 0.7%
  • Shell 0.1%
  • HTML 0.1%