Merge pull request #1371 from spotify/mob/prepare-from-catalog
File Preparer for the Scaffolder using the Catalog Template Entity
This commit is contained in:
@@ -17,13 +17,17 @@
|
||||
import {
|
||||
CookieCutter,
|
||||
createRouter,
|
||||
DiskStorage,
|
||||
FilePreparer,
|
||||
Preparers,
|
||||
} from '@backstage/plugin-scaffolder-backend';
|
||||
import type { PluginEnvironment } from '../types';
|
||||
|
||||
export default async function createPlugin({ logger }: PluginEnvironment) {
|
||||
const storage = new DiskStorage({ logger });
|
||||
const templater = new CookieCutter();
|
||||
const filePreparer = new FilePreparer();
|
||||
const preparers = new Preparers();
|
||||
|
||||
return await createRouter({ storage, templater, logger });
|
||||
preparers.register('file', filePreparer);
|
||||
|
||||
return await createRouter({ preparers, templater, logger });
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ export interface TemplateEntityV1alpha1 extends Entity {
|
||||
kind: typeof KIND;
|
||||
spec: {
|
||||
type: string;
|
||||
path?: string;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -39,6 +40,7 @@ export class TemplateEntityV1alpha1Policy implements EntityPolicy {
|
||||
spec: yup
|
||||
.object({
|
||||
type: yup.string().required().min(1),
|
||||
path: yup.string(),
|
||||
})
|
||||
.required(),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user