diff --git a/plugins/techdocs-backend/src/service/router.ts b/plugins/techdocs-backend/src/service/router.ts index 2254e721bd..1d932a1fb9 100644 --- a/plugins/techdocs-backend/src/service/router.ts +++ b/plugins/techdocs-backend/src/service/router.ts @@ -62,7 +62,13 @@ export async function createRouter({ const router = Router(); router.get('/metadata/mkdocs/*', async (req, res) => { - const storageUrl = config.getString('techdocs.storageUrl'); + let storageUrl = config.getString('techdocs.storageUrl'); + if (publisher instanceof LocalPublish) { + storageUrl = new URL( + new URL(storageUrl).pathname, + await discovery.getBaseUrl('techdocs'), + ).toString(); + } const { '0': path } = req.params; const metadataURL = `${storageUrl}/${path}/techdocs_metadata.json`; @@ -77,13 +83,14 @@ export async function createRouter({ }); router.get('/metadata/entity/:namespace/:kind/:name', async (req, res) => { - const baseUrl = config.getString('backend.baseUrl'); + const catalogUrl = await discovery.getBaseUrl('catalog'); + const { kind, namespace, name } = req.params; try { const entity = (await ( await fetch( - `${baseUrl}/api/catalog/entities/by-name/${kind}/${namespace}/${name}`, + `${catalogUrl}/entities/by-name/${kind}/${namespace}/${name}`, ) ).json()) as Entity;