0.2.7 • Published 10 months ago

@solo.io/dev-portal-backstage-plugin v0.2.7

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
10 months ago

Gloo Platform Portal Backstage Plugin

As a part of Gloo Platform, Gloo Platform Portal provides a Kubernetes-native framework for managing the definitions of APIs, API client identity, and API policies that enables GitOps and CI/CD workflows. The portal abstracts the complexity and enables developers to publish, document, share, discover, and use APIs.

The Gloo Platform Portal Backstage plugin provides an interface for teams to manage, secure, and share APIs. This functionality is enabled through Gloo Platform Portal's built in REST API, and configurable ext-auth policies.

See a demo of Gloo Platform Portal in action here

Backstage Plugin Features

  • View OpenAPI docs for your Gloo Platform Portal APIs using Swagger UI and Redoc UI.
  • View details about your Gloo Platform Portal API usage plans.
  • View, create, and delete API keys for any of your usage plans.

Setup

  1. Install the Gloo Platform Portal Backstage plugin into your Backstage app:
yarn add --cwd packages/app @solo.io/dev-portal-backstage-plugin
  1. In ./packages/app/src/App.tsx, add these imports at the top of the file:
import {
  GlooPortalHomePage,
  GlooPortalApiDetailsPage,
} from '@solo.io/dev-portal-backstage-plugin';

Then add these routes to the <FlatRoutes/> element in that file:

<Route path="/gloo-platform-portal" element={<GlooPortalHomePage />} />
<Route path="/gloo-platform-portal/apis" element={<GlooPortalHomePage />} />
<Route path="/gloo-platform-portal/usage-plans" element={<GlooPortalHomePage />} />
<Route
  path="/gloo-platform-portal/apis/:apiId"
  element={<GlooPortalApiDetailsPage />}
/>
  1. In ./packages/app/src/components/Root/Root.tsx, add these imports to the top of the file:
import { GlooIcon } from '@solo.io/dev-portal-backstage-plugin';

Then add this to the <SidebarScrollWrapper/> element in that file.

<SidebarItem icon={GlooIcon} to="gloo-platform-portal" text="Gloo Portal" />
  1. Set the following variables in your app-config.local.yaml file to match your Gloo Platform Portal and Keycloak setup before running Backstage:
glooPlatformPortal:
  # The URL of the Gloo Platform Portal REST server.
  # The value of this variable should be: <portal-server-url>/v1
  # The default value is: "http://localhost:31080/v1".
  portalServerUrl: 'http://localhost:31080/v1'

  # The oauth client id.
  # In keycloak, this is shown in the client settings
  # of your keycloak instances UI.
  clientId: ''

  # This is the endpoint to get the oauth token.
  # In keycloak, this is the `token_endpoint` property from:
  # <your-keycloak-url>/realms/<your-realm>/.well-known/openid-configuration
  tokenEndpoint: ''

  # This is the endpoint to get PKCE authorization code.
  # In keycloak, this is the `authorization_endpoint` property from:
  # <your-keycloak-url>/realms/<your-realm>/.well-known/openid-configuration
  authEndpoint: ''

  # This is the endpoint to end your session.
  # In keycloak, this is the `end_session_endpoint` property from:
  # <your-keycloak-url>/realms/<your-realm>/.well-known/openid-configuration
  logoutEndpoint: ''

Screenshots

Logged out view:

logged out

Logged in view:

logged in

Viewing a list of APIs:

API list

Viewing an API using an OpenAPI schema viewer:

API details

Viewing API usage plans:

usage plans and api keys

Generating a new API key under a usage plan:

generating a new api key

0.2.1

10 months ago

0.2.0

10 months ago

0.2.7

10 months ago

0.2.3

10 months ago

0.2.2

10 months ago

0.1.9

11 months ago

0.1.8

11 months ago

0.1.7

11 months ago

0.1.6

11 months ago

0.1.5

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.1.2

11 months ago

0.1.1

12 months ago

0.1.0

12 months ago

0.0.9

12 months ago

0.0.8

12 months ago

0.0.7

12 months ago

0.0.6

12 months ago

0.0.5

12 months ago

0.0.4

12 months ago

0.0.3

12 months ago

0.0.2

12 months ago

0.0.1

12 months ago