Skip to main content

Install the Backstage Integration

The SKE Backstage integration connects Kratix to your Backstage instance so that platform teams can expose Promises as self-service templates and users can track the status of their Resource Requests — all from within Backstage.

The integration works in two directions:

  • Kratix → Backstage: Kratix writes Backstage entity files (Components and Templates) to a shared State Store. Backstage reads from that store to populate its Software Catalog.
  • Backstage → Kratix: The SKE backend plugin accepts Resource Requests submitted through Backstage and sends them to Kratix for fulfilment.

Prerequisites

  • Kratix/SKE: A running Kratix platform. If you haven't installed SKE, follow the installation guide

  • SKE Operator v0.28.0+: The Backstage Controller is installed via the SKE Operator

  • Backstage v1.40+: The SKE plugins are compatible with Backstage v1.40 and above (tested up to v1.50.4).

  • Node.js 22+: Required for Backstage v1.50+. Ensure your build environment and Docker images use Node 22+

  • Syntasso registry token: Required to install the private SKE npm packages and pull the Backstage Controller image. Contact Syntasso if you do not have one.

Decide before you begin

Several values appear in multiple installation steps and must be consistent across them. Decide these upfront:

  • State Store type: Whether you'll use an S3-compatible bucket or a Git repository to store Backstage entity files. This affects both the Kratix State Store configuration and the Backstage catalog discovery setup.
  • State Store location: The S3 endpoint and bucket name, or the Git repository URL and branch. Kratix and Backstage must both point at the same location.
  • Entity path: The directory path within the State Store where Kratix writes entity files (the path field on the Kratix Destination). Backstage must be configured to read catalog entries from this same path.

Installation steps

Complete the following steps:

  1. Create the Entity State Store — Configure a Kratix State Store and Destination so Kratix knows where to write Backstage entity files. Backstage and Kratix must point at the same store.

  2. Configure Catalogue Ingestion — Configure Backstage to read its Software Catalog from the State Store that Kratix writes to.

  3. Install and Configure the Plugins — Install the @syntasso/plugin-ske-frontend and @syntasso/plugin-ske-backend packages into your Backstage app. The frontend plugin renders dedicated pages for Kratix Promises and Resources; the backend plugin handles Resource Requests and catalog queries.

  4. Install the Backstage Controller — Deploy the Backstage Controller via the SKE Operator to automatically generate Backstage Components and Templates from your Kratix Promises.

Advanced Configuration

  • Configuring OIDC Authentication — Configure Backstage to authenticate with the platform cluster using an OIDC provider for fine-grained access control.