From a16499065864dc2c09fa8ea2b584e2f8fbaaebcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 27 Aug 2020 11:12:57 +0200 Subject: [PATCH] fix(create-app): updated the backend template to match new functionality --- app-config.yaml | 5 +++ .../{app-config.yaml => app-config.yaml.hbs} | 27 ++++++++++++++-- .../backend/src/{index.ts.hbs => index.ts} | 31 ++----------------- 3 files changed, 32 insertions(+), 31 deletions(-) rename packages/create-app/templates/default-app/{app-config.yaml => app-config.yaml.hbs} (83%) rename packages/create-app/templates/default-app/packages/backend/src/{index.ts.hbs => index.ts} (73%) diff --git a/app-config.yaml b/app-config.yaml index 38f16e1ac3..0a85198630 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -61,6 +61,11 @@ catalog: - https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/playback-lib-component.yaml - https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/www-artist-component.yaml - https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/shuffle-api-component.yaml + - https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml + - https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml + - https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml + - https://github.com/spotify/cookiecutter-golang/blob/master/template.yaml + - https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/docs-template/template.yaml auth: providers: diff --git a/packages/create-app/templates/default-app/app-config.yaml b/packages/create-app/templates/default-app/app-config.yaml.hbs similarity index 83% rename from packages/create-app/templates/default-app/app-config.yaml rename to packages/create-app/templates/default-app/app-config.yaml.hbs index 0c3ec3ed80..a8e1e194a0 100644 --- a/packages/create-app/templates/default-app/app-config.yaml +++ b/packages/create-app/templates/default-app/app-config.yaml.hbs @@ -13,6 +13,28 @@ backend: origin: http://localhost:3000 methods: [GET, POST, PUT, DELETE] credentials: true + {{#if dbTypeSqlite}} + database: + client: sqlite3 + connection: ':memory:' + {{/if}} + {{#if dbTypePG}} + database: + client: pg + connection: + host: + $secret: + env: POSTGRES_HOST + port: + $secret: + env: POSTGRES_PORT + user: + $secret: + env: POSTGRES_USER + password: + $secret: + env: POSTGRES_PASSWORD + {{/if}} proxy: '/test': @@ -27,7 +49,7 @@ auth: catalog: locations: - # Backstage Example Component + # Backstage example components - type: github target: https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/artist-lookup-component.yaml - type: github @@ -44,8 +66,7 @@ catalog: target: https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/www-artist-component.yaml - type: github target: https://github.com/spotify/backstage/blob/master/packages/catalog-model/examples/shuffle-api-component.yaml - - # Backstage Example Templates + # Backstage example templates - type: github target: https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml - type: github diff --git a/packages/create-app/templates/default-app/packages/backend/src/index.ts.hbs b/packages/create-app/templates/default-app/packages/backend/src/index.ts similarity index 73% rename from packages/create-app/templates/default-app/packages/backend/src/index.ts.hbs rename to packages/create-app/templates/default-app/packages/backend/src/index.ts index 98f40ba4a4..0e1a85f0a3 100644 --- a/packages/create-app/templates/default-app/packages/backend/src/index.ts.hbs +++ b/packages/create-app/templates/default-app/packages/backend/src/index.ts @@ -7,18 +7,13 @@ */ import { + createDatabase, createServiceBuilder, loadBackendConfig, getRootLogger, useHotMemoize, } from '@backstage/backend-common'; import { ConfigReader, AppConfig } from '@backstage/config'; -{{#if dbTypePG}} -import knex, { PgConnectionConfig } from 'knex'; -{{/if}} -{{#if dbTypeSqlite}} -import knex from 'knex'; -{{/if}} import auth from './plugins/auth'; import catalog from './plugins/catalog'; import identity from './plugins/identity'; @@ -32,30 +27,10 @@ function makeCreateEnv(loadedConfigs: AppConfig[]) { return (plugin: string): PluginEnvironment => { const logger = getRootLogger().child({ type: 'plugin', plugin }); - - {{#if dbTypePG}} - const knexConfig = { - client: 'pg', - useNullAsDefault: true, + const database = createDatabase(config.getConfig('backend.database'), { connection: { - port: process.env.POSTGRES_PORT, - host: process.env.POSTGRES_HOST, - user: process.env.POSTGRES_USER, - password: process.env.POSTGRES_PASSWORD, database: `backstage_plugin_${plugin}`, - } as PgConnectionConfig, - }; - {{/if}} - {{#if dbTypeSqlite}} - const knexConfig = { - client: 'sqlite3', - connection: ':memory:', - useNullAsDefault: true, - }; - {{/if}} - const database = knex(knexConfig); - database.client.pool.on('createSuccess', (_eventId: any, resource: any) => { - resource.run('PRAGMA foreign_keys = ON', () => {}); + }, }); return { logger, database, config }; };