backend: add and use for external URL discovery

This commit is contained in:
Patrik Oldsberg
2020-09-24 23:43:08 +02:00
parent b0565777e9
commit 0e76ab7873
9 changed files with 44 additions and 29 deletions
+5 -3
View File
@@ -30,6 +30,7 @@ import {
getRootLogger,
useHotMemoize,
notFoundHandler,
SingleHostDiscovery,
} from '@backstage/backend-common';
import { ConfigReader, AppConfig } from '@backstage/config';
import healthcheck from './plugins/healthcheck';
@@ -59,7 +60,8 @@ function makeCreateEnv(loadedConfigs: AppConfig[]) {
},
},
);
return { logger, database, config };
const discovery = SingleHostDiscovery.fromConfig(config);
return { logger, database, config, discovery };
};
}
@@ -85,11 +87,11 @@ async function main() {
apiRouter.use('/rollbar', await rollbar(rollbarEnv));
apiRouter.use('/scaffolder', await scaffolder(scaffolderEnv));
apiRouter.use('/sentry', await sentry(sentryEnv));
apiRouter.use('/auth', await auth(authEnv, '/api/auth'));
apiRouter.use('/auth', await auth(authEnv));
apiRouter.use('/identity', await identity(identityEnv));
apiRouter.use('/techdocs', await techdocs(techdocsEnv));
apiRouter.use('/kubernetes', await kubernetes(kubernetesEnv));
apiRouter.use('/proxy', await proxy(proxyEnv, '/api/proxy'));
apiRouter.use('/proxy', await proxy(proxyEnv));
apiRouter.use('/graphql', await graphql(graphqlEnv));
apiRouter.use(notFoundHandler());
+7 -5
View File
@@ -17,9 +17,11 @@
import { createRouter } from '@backstage/plugin-auth-backend';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
{ logger, database, config }: PluginEnvironment,
basePath: string,
) {
return await createRouter({ logger, config, database, basePath });
export default async function createPlugin({
logger,
database,
config,
discovery,
}: PluginEnvironment) {
return await createRouter({ logger, config, database, discovery });
}
+6 -5
View File
@@ -18,9 +18,10 @@
import { createRouter } from '@backstage/plugin-proxy-backend';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
{ logger, config }: PluginEnvironment,
pathPrefix: string,
) {
return await createRouter({ logger, config, pathPrefix });
export default async function createPlugin({
logger,
config,
discovery,
}: PluginEnvironment) {
return await createRouter({ logger, config, discovery });
}
+2
View File
@@ -17,9 +17,11 @@
import Knex from 'knex';
import { Logger } from 'winston';
import { Config } from '@backstage/config';
import { PluginEndpointDiscovery } from '@backstage/backend-common';
export type PluginEnvironment = {
logger: Logger;
database: Knex;
config: Config;
discovery: PluginEndpointDiscovery;
};