Reapply "enable static api url"

This reverts commit beffae47af.
This commit is contained in:
Elio Bischof
2025-02-14 11:43:51 +01:00
parent 4a791c5d24
commit 59f7f0b9d7
3 changed files with 19 additions and 3 deletions

View File

@@ -10,10 +10,18 @@ declare namespace NodeJS {
SYSTEM_USER_PRIVATE_KEY: string; // The fallback service user private key
/**
* Self hosting: The instance url
* Self hosting: The Zitadel API url
*/
ZITADEL_API_URL: string;
/**
* Takes effect only if ZITADEL_API_URL is not empty.
* This is only relevant if Zitadels runtime has the ZITADEL_INSTANCEHOSTHEADERS config changed.
* The default is x-zitadel-instance-host.
* Most users don't need to set this variable.
*/
ZITADEL_INSTANCE_HOST_HEADER: string
/**
* Self hosting: The service user id
*/

View File

@@ -42,8 +42,15 @@ export async function createServiceForHost<T extends ServiceClass>(
throw new Error("No token found");
}
const instanceHost = new URL(serviceUrl).host
const transport = createServerTransport(token, {
baseUrl: serviceUrl,
baseUrl: process.env.ZITADEL_API_URL ?? serviceUrl,
interceptors: process.env.ZITADEL_API_URL && process.env.ZITADEL_API_URL != serviceUrl || process.env.ZITADEL_INSTANCE_HOST_HEADER ? [(next) => {
return (req) => {
req.header.set(process.env.ZITADEL_INSTANCE_HOST_HEADER ?? "x-zitadel-instance-host", instanceHost)
return next(req)
}
}] : undefined
});
return createClientFor<T>(service)(transport);

View File

@@ -12,7 +12,8 @@
"ZITADEL_API_URL",
"ZITADEL_SERVICE_USER_ID",
"ZITADEL_SERVICE_USER_TOKEN",
"NEXT_PUBLIC_BASE_PATH"
"NEXT_PUBLIC_BASE_PATH",
"ZITADEL_INSTANCE_HOST_HEADER"
],
"tasks": {
"generate": {