redhatinsights-plugin-scaffolder-backend
v1.18.1
Published
The Backstage backend plugin that helps you create new things -- forked for insights
Downloads
2
Readme
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 add --cwd packages/backend @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.