From 883622a1a22b93dbce2a7767896f0f5b246dbff4 Mon Sep 17 00:00:00 2001 From: Stanislaw Malinowski Date: Thu, 4 Jul 2024 10:44:11 +0100 Subject: [PATCH] add readme page from scratch --- backstage/packages/app/package.json | 3 ++- .../app/src/components/catalog/EntityPage.tsx | 6 +++++- backstage/packages/backend/package.json | 3 ++- backstage/packages/backend/src/index.ts | 3 +++ backstage/packages/backend/src/plugins/readme.ts | 15 +++++++++++++++ 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 backstage/packages/backend/src/plugins/readme.ts diff --git a/backstage/packages/app/package.json b/backstage/packages/app/package.json index ec582fadb..9d8d97cdd 100644 --- a/backstage/packages/app/package.json +++ b/backstage/packages/app/package.json @@ -18,6 +18,7 @@ "cy:run": "cypress run --browser chrome" }, "dependencies": { + "@axis-backstage/plugin-readme": "^0.7.1", "@backstage/app-defaults": "^1.4.5", "@backstage/catalog-model": "^1.4.3", "@backstage/cli": "^0.26.2", @@ -82,4 +83,4 @@ "files": [ "dist" ] -} +} \ No newline at end of file diff --git a/backstage/packages/app/src/components/catalog/EntityPage.tsx b/backstage/packages/app/src/components/catalog/EntityPage.tsx index 08692e570..9f2083ffa 100644 --- a/backstage/packages/app/src/components/catalog/EntityPage.tsx +++ b/backstage/packages/app/src/components/catalog/EntityPage.tsx @@ -69,6 +69,7 @@ import { import { Button, Grid } from '@material-ui/core'; import React from 'react'; import { EntityAboutCard } from '../AboutCard/AboutCard'; +import { ReadmeCard } from '@axis-backstage/plugin-readme'; const TECHDOCS_ANNOTATION = 'backstage.io/techdocs-ref'; const ANNOTATIONS_DOCS_URL = @@ -147,9 +148,12 @@ const entityWarningContent = ( const overviewContent = ( {entityWarningContent} - + + + + diff --git a/backstage/packages/backend/package.json b/backstage/packages/backend/package.json index 37f2e6fd5..39c2bb277 100644 --- a/backstage/packages/backend/package.json +++ b/backstage/packages/backend/package.json @@ -16,6 +16,7 @@ "build-image": "docker build ../.. -f Dockerfile --tag backstage" }, "dependencies": { + "@axis-backstage/plugin-readme-backend": "^0.6.0", "@backstage/backend-common": "^0.23.2", "@backstage/backend-tasks": "^0.5.12", "@backstage/catalog-client": "^1.4.6", @@ -56,4 +57,4 @@ "files": [ "dist" ] -} +} \ No newline at end of file diff --git a/backstage/packages/backend/src/index.ts b/backstage/packages/backend/src/index.ts index 376f23757..877856574 100644 --- a/backstage/packages/backend/src/index.ts +++ b/backstage/packages/backend/src/index.ts @@ -19,6 +19,7 @@ import auth from './plugins/auth'; import catalog from './plugins/catalog'; import gitlab from './plugins/gitlab'; import proxy from './plugins/proxy'; +import readme from './plugins/readme'; import scaffolder from './plugins/scaffolder'; import search from './plugins/search'; import techdocs from './plugins/techdocs'; @@ -74,6 +75,7 @@ async function main() { const scaffolderEnv = useHotMemoize(module, () => createEnv('scaffolder')); const authEnv = useHotMemoize(module, () => createEnv('auth')); const proxyEnv = useHotMemoize(module, () => createEnv('proxy')); + const readmeEnv = useHotMemoize(module, () => createEnv('readme')); const techdocsEnv = useHotMemoize(module, () => createEnv('techdocs')); const searchEnv = useHotMemoize(module, () => createEnv('search')); const gitlabEnv = useHotMemoize(module, () => createEnv('gitlab')); @@ -84,6 +86,7 @@ async function main() { apiRouter.use('/auth', await auth(authEnv)); apiRouter.use('/techdocs', await techdocs(techdocsEnv)); apiRouter.use('/proxy', await proxy(proxyEnv)); + apiRouter.use('/readme', await proxy(readmeEnv)); apiRouter.use('/search', await search(searchEnv)); apiRouter.use('/gitlab', await gitlab(gitlabEnv)); diff --git a/backstage/packages/backend/src/plugins/readme.ts b/backstage/packages/backend/src/plugins/readme.ts new file mode 100644 index 000000000..e9dbdf585 --- /dev/null +++ b/backstage/packages/backend/src/plugins/readme.ts @@ -0,0 +1,15 @@ +import { createRouter } from '@axis-backstage/plugin-readme-backend'; +import { Router } from 'express'; +import { PluginEnvironment } from '../types'; + +export default async function createPlugin( + env: PluginEnvironment, +): Promise { + return await createRouter({ + logger: env.logger, + config: env.config, + reader: env.reader, + discovery: env.discovery, + tokenManager: env.tokenManager, + }); +}