Amplication Resources logo

Backstage Amplication Resources Plugin

Created by Amplication

Amplication Resources is the set of templates and services you define in Amplication to standardize how new apps get built. Think of it as your source of truth for service patterns. It captures your choices for architecture, code style, libraries, and guardrails. Teams start from these resources to create consistent services without reinventing basics.

The Amplication Resources Backstage plugin brings those resources into your Backstage catalog. It syncs templates from your Amplication account so engineers can browse them in one place. It adds them as ServiceTemplate components in the catalog. It also exposes a simple action to scaffold a new service through the Amplication API. The service that gets created includes a catalog info file so Backstage can discover it and keep metadata current. The plugin may add related entities such as Systems and APIs to round out the view.

Common use cases are straightforward. Help engineers find the right starting point during create time. Offer paved paths that encode best practices. Reduce copy paste by automating the first commit. Keep your catalog aligned with what the platform team maintains in Amplication. If you run a self hosted Backstage and want consistent service creation with less glue work, this plugin fits well.

Installation Instructions

These instructions apply to self-hosted Backstage only.

What you will set up

You will install two backend modules that work together

  • Catalog backend module that adds an Amplication catalog processor
  • Scaffolder backend module that adds an Amplication action to scaffold a new service

There is no frontend package to install. The catalog will show the new entities after the backend sync runs.

Install the backend modules

Run these from your Backstage root

Copy
yarn workspace backend add @backstage-community/plugin-catalog-backend-module-amplication
yarn workspace backend add @backstage-community/plugin-scaffolder-backend-module-amplication

Configure app config

Add Amplication settings and the catalog location. Edit app-config.yaml

Copy
amplication:
  appUrl: https://app.amplication.com
  apiUrl: https://server.amplication.com/graphql
  token: ${AMPLICATION_TOKEN}

catalog:
  locations:
    - type: amplication
      target: https://server.amplication.com/graphql

Set AMPLICATION_TOKEN in the backend process environment.

New backend system

Register the modules

Edit packages/backend/src/index.ts

Copy
// packages/backend/src/index.ts
import { createBackend } from '@backstage/backend-defaults';

const backend = createBackend();

// Amplication catalog processor
backend.add(
  import('@backstage-community/plugin-catalog-backend-module-amplication'),
);

// Amplication scaffolder action
backend.add(
  import('@backstage-community/plugin-scaffolder-backend-module-amplication'),
);

backend.start();

Add an Amplication action to a template

Add the action to one of your Software Templates. Example action block

Copy
id: scaffoldService
name: Scaffold a New Service
action: amplication:scaffold-service
input:
  name: fooService
  description: fooService description
  project_id: 1a2b3c4d5e6f7g8h9i0j
  serviceTemplate_id: 9i8h7g6f5e4d3c2b1a0
  workspace_id: f1e2d3c4b5a6978685d4

Place this block inside a template that you already expose in your Backstage Scaffolder page.

Legacy backend system

This plugin ships a BackendFeature for the new backend system. A legacy backend registration is not provided. Migrate your backend to the new system to use this plugin.

Optional service discovery

If your new services include a catalog info file you can auto discover them with GitHub. Add this to app-config.yaml if you use the GitHub provider

Copy
catalog:
  providers:
    github:
      providerId:
        organization: YOUR_GITHUB_ORGANIZATION
        catalogPath: '**/catalog-info.yaml'
        filters:
          repository: '.*'

Where it shows in the app

The catalog backend module pulls Amplication templates into the catalog. It also adds entities for the Amplication bot user plus System plus API. You can view them in the Catalog pages after the backend sync runs. The scaffolder action appears in your template where you added the action.

Changelog

This changelog is produced from commits made to the Amplication Resources plugin since 7 months ago, and based on the code located here. It may not contain information about all commits. Releases and version bumps are intentionally omitted. This changelog is generated by AI.

Features

  • Add Amplication Resources plugin initial release #2919 (7 months ago)

Maintenance

  • Declare support for Node.js 22 in the workspace engines field #3562 (6 months ago)
  • Remove catalog info file from the workspace template and existing workspaces #5270 (26 days ago)
  • Add missing prettier fix script to the workspace and template #5492 (11 days ago)

CI

  • Add optional knip report check in CI for workspaces that opt in #4046 (4 months ago)

Breaking changes

  • None

Set up Backstage in minutes with Roadie