Files
backstage/plugins/scaffolder-backend
blam dc521c3c22 Merge remote-tracking branch 'origin/master' into task-action-idempotency
* origin/master: (176 commits)
  chore: filter timestamp on different DB engines
  chore: add unit tests for the createdAfter filter of notifications
  feat: add createdAfter filtering to the Notifications
  kubernetes-backend: auth test fix
  backend-app-api: review fixes for cookie auth
  backend-plugin-api: updated cookie auth implementation
  backend-test-utils: update mockCredentials for cookie auth
  backend-plugin-api: add AuthService.getNoneCredentials
  backend-plugin-api: add support for limited user tokens
  feat: update Notifications front-end
  feat: need an api report 🎉 Signed-off-by: blam <ben@blam.sh>
  chore: small cleanup
  wip
  wip
  wip
  wip
  wip
  wip
  wip
  Updated changeset
  ...

Signed-off-by: blam <ben@blam.sh>
2024-02-27 15:47:26 +01:00
..
2024-02-04 19:55:02 +01:00
2023-07-02 19:04:10 +02:00
wip
2024-02-17 15:08:35 +01:00
2024-02-20 11:04:26 +00:00
2024-01-14 16:24:05 +01:00
2024-02-12 11:06:30 +01:00
wip
2024-02-27 13:07:35 +01:00

Scaffolder Backend

This is the backend for the default Backstage software templates. This provides the API for the frontend scaffolder plugin, as well as the built-in template actions, tasks and stages.

Installation

This @backstage/plugin-scaffolder-backend package comes installed by default in any Backstage application created with npx @backstage/create-app, so installation is not usually required.

To check if you already have the package, look under packages/backend/package.json, in the dependencies block, for @backstage/plugin-scaffolder-backend. The instructions below walk through restoring the plugin, if you previously removed it.

Install the package

# From your Backstage root directory
yarn --cwd packages/backend add @backstage/plugin-scaffolder-backend

Adding the plugin to your packages/backend

You'll need to add the plugin to the router in your backend package. You can do this by creating a file called packages/backend/src/plugins/scaffolder.ts with contents matching scaffolder.ts in the create-app template.

With the scaffolder.ts router setup in place, add the router to packages/backend/src/index.ts:

+import scaffolder from './plugins/scaffolder';

async function main() {
  ...
  const createEnv = makeCreateEnv(config);

  const catalogEnv = useHotMemoize(module, () => createEnv('catalog'));
+  const scaffolderEnv = useHotMemoize(module, () => createEnv('scaffolder'));

  const apiRouter = Router();
+  apiRouter.use('/scaffolder', await scaffolder(scaffolderEnv));
  ...
  apiRouter.use(notFoundHandler());

Adding templates

At this point the scaffolder backend is installed in your backend package, but you will not have any templates available to use. These need to be added to the software catalog.

To get up and running and try out some templates quickly, you can or copy the catalog locations from the create-app template.