Back to Backstage

Gateway Backend Plugin

plugins/gateway-backend/README.md

1.51.0-next.21.4 KB
Original Source

Gateway Backend Plugin

A plugin for managing request routing in distributed Backstage deployments.

Overview

This plugin is designed for organizations that have split their backend plugins across multiple Backstage deployments and implemented a custom Discovery service to resolve backend plugin URLs.

While a custom discovery service handles routing between backend plugins, it doesn't address frontend-to-backend routing without either:

  • Hardcoding URLs in the frontend
  • Implementing a custom reverse proxy

The Gateway Backend Plugin solves this by providing a centralized routing solution in a dedicated "gateway" Backstage deployment. It routes frontend requests to the appropriate backend plugins using the Discovery service, while prioritizing local plugins when available.

Installation

  1. Install the plugin package:
bash
# From your root directory
yarn --cwd packages/backend add @backstage/plugin-gateway-backend
  1. Add the plugin to your backend in packages/backend/src/index.ts:
diff
  const backend = createBackend();
  // ...
+ backend.add(import('@backstage/plugin-gateway-backend'));
  1. Configure the baseUrl in your app-config.yaml to point to your gateway deployment:
yaml
backend:
  # The baseUrl of your gateway Backstage deployment
  baseUrl: http://gateway-backstage-backend.example.com