enable static api url

This commit is contained in:
Elio Bischof
2025-02-13 21:47:56 +01:00
parent f0d5d17de4
commit 20c170bbd5
3 changed files with 19 additions and 9 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

@@ -49,8 +49,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

@@ -6,19 +6,14 @@
"DEBUG",
"VERCEL_URL",
"EMAIL_VERIFICATION",
"EU1_AUDIENCE",
"EU1_SYSTEM_USER_ID",
"EU1_SYSTEM_USER_PRIVATE_KEY",
"US1_AUDIENCE",
"US1_SYSTEM_USER_ID",
"US1_SYSTEM_USER_PRIVATE_KEY",
"AUDIENCE",
"SYSTEM_USER_ID",
"SYSTEM_USER_PRIVATE_KEY",
"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": {