Merge pull request #3331 from backstage/rugvip/cbapp

create-app: add app-backend plugin to template
This commit is contained in:
Patrik Oldsberg
2020-11-19 11:39:29 +01:00
committed by GitHub
9 changed files with 137 additions and 3 deletions
+1
View File
@@ -43,6 +43,7 @@
"@backstage/config": "^0.1.1",
"@backstage/core": "^0.3.0",
"@backstage/plugin-api-docs": "^0.2.1",
"@backstage/plugin-app-backend": "^0.2.0",
"@backstage/plugin-auth-backend": "^0.2.1",
"@backstage/plugin-catalog": "^0.2.1",
"@backstage/plugin-catalog-backend": "^0.2.0",
+2
View File
@@ -35,6 +35,7 @@ import { version as cli } from '@backstage/cli/package.json';
import { version as config } from '@backstage/config/package.json';
import { version as core } from '@backstage/core/package.json';
import { version as pluginApiDocs } from '@backstage/plugin-api-docs/package.json';
import { version as pluginAppBackend } from '@backstage/plugin-app-backend/package.json';
import { version as pluginAuthBackend } from '@backstage/plugin-auth-backend/package.json';
import { version as pluginCatalog } from '@backstage/plugin-catalog/package.json';
import { version as pluginCatalogBackend } from '@backstage/plugin-catalog-backend/package.json';
@@ -61,6 +62,7 @@ export const packageVersions = {
'@backstage/config': config,
'@backstage/core': core,
'@backstage/plugin-api-docs': pluginApiDocs,
'@backstage/plugin-app-backend': pluginAppBackend,
'@backstage/plugin-auth-backend': pluginAuthBackend,
'@backstage/plugin-catalog': pluginCatalog,
'@backstage/plugin-catalog-backend': pluginCatalogBackend,
@@ -0,0 +1,8 @@
app:
# Should be the same as backend.baseUrl when using the `app-backend` plugin
baseUrl: http://localhost:7000
backend:
baseUrl: http://localhost:7000
listen:
port: 7000
@@ -8,6 +8,7 @@
"scripts": {
"start": "yarn workspace app start",
"build": "lerna run build",
"build-image": "yarn workspace backend build-image",
"tsc": "tsc",
"tsc:full": "tsc --skipLibCheck false --incremental false",
"clean": "backstage-cli clean && lerna run clean",
@@ -13,4 +13,4 @@ RUN yarn install --frozen-lockfile --production
# Do not use this Dockerfile outside of that command, as it will copy in the source code instead.
COPY . .
CMD ["node", "packages/backend"]
CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"]
@@ -9,7 +9,7 @@
},
"scripts": {
"build": "backstage-cli backend:build",
"build-image": "backstage-cli backend:build-image --build --tag example-backend",
"build-image": "backstage-cli backend:build-image --build --tag backstage",
"start": "backstage-cli backend:dev",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
@@ -17,9 +17,11 @@
"migrate:create": "knex migrate:make -x ts"
},
"dependencies": {
"app": "0.0.0",
"@backstage/backend-common": "^{{version '@backstage/backend-common'}}",
"@backstage/catalog-model": "^{{version '@backstage/catalog-model'}}",
"@backstage/config": "^{{version '@backstage/config'}}",
"@backstage/plugin-app-backend": "^{{version '@backstage/plugin-app-backend'}}",
"@backstage/plugin-auth-backend": "^{{version '@backstage/plugin-auth-backend'}}",
"@backstage/plugin-catalog-backend": "^{{version '@backstage/plugin-catalog-backend'}}",
"@backstage/plugin-proxy-backend": "^{{version '@backstage/plugin-proxy-backend'}}",
@@ -18,6 +18,7 @@ import {
UrlReaders,
} from '@backstage/backend-common';
import { Config } from '@backstage/config';
import app from './plugins/app';
import auth from './plugins/auth';
import catalog from './plugins/catalog';
import scaffolder from './plugins/scaffolder';
@@ -53,6 +54,7 @@ async function main() {
const authEnv = useHotMemoize(module, () => createEnv('auth'));
const proxyEnv = useHotMemoize(module, () => createEnv('proxy'));
const techdocsEnv = useHotMemoize(module, () => createEnv('techdocs'));
const appEnv = useHotMemoize(module, () => createEnv('app'));
const apiRouter = Router();
apiRouter.use('/catalog', await catalog(catalogEnv));
@@ -64,7 +66,8 @@ async function main() {
const service = createServiceBuilder(module)
.loadConfig(config)
.addRouter('/api', apiRouter);
.addRouter('/api', apiRouter)
.addRouter('', await app(appEnv));
await service.start().catch(err => {
console.log(err);
@@ -0,0 +1,13 @@
import { createRouter } from '@backstage/plugin-app-backend';
import { PluginEnvironment } from '../types';
export default async function createPlugin({
logger,
config,
}: PluginEnvironment) {
return await createRouter({
logger,
config,
appPackageName: 'app',
});
}