Kleidia Deployment Configuration#
Site URL Configuration#
Kleidia requires proper site URL configuration for OIDC authentication and CORS to work correctly across different customer deployments.
Required Configuration#
Set the global.siteUrl in your Helm values file to match your deployment’s public URL:
global:
siteUrl: "https://kleidia.yourdomain.com" # Replace with your actual domainWhat This Configures#
- OIDC Redirect URIs: The frontend will automatically use
${siteUrl}/auth/oidc/callbackas the redirect URI - CORS Origins: The backend will allow requests from the configured site URL
- Absolute URLs: Any absolute URLs generated by the frontend will use this base
Examples#
Production Deployment#
global:
siteUrl: "https://kleidia.company.com"Development/Testing#
global:
siteUrl: "https://kleidia-dev.company.com"Local Development with NodePort#
global:
siteUrl: "https://kleidia.local:30805"OIDC Configuration#
When configuring OIDC in the Kleidia admin interface, use the redirect URI:
${your-site-url}/api/auth/oidc/callbackFor example, if your site URL is https://kleidia.company.com, configure your OIDC provider with:
https://kleidia.company.com/api/auth/oidc/callbackAdvanced CORS Configuration#
If you need to allow additional origins (e.g., for development or multiple domains), you can override the CORS configuration:
backend:
corsOrigins: "https://kleidia.company.com,https://kleidia-dev.company.com"If corsOrigins is empty or not set, it defaults to the global.siteUrl.
Environment Variables#
The configuration sets these environment variables:
Frontend:
NUXT_PUBLIC_SITE_URL: Used for generating absolute URLs and OIDC redirects
Backend:
CORS_ORIGINS: Allowed origins for CORS requests
Migration from Hardcoded Values#
If you’re upgrading from a version with hardcoded domains:
- Update your
values.yamlto includeglobal.siteUrl - Remove any hardcoded domain references
- Update your OIDC provider configuration to use the new redirect URI format
- Redeploy the application
The frontend will automatically detect the correct domain from the browser when possible, but the Helm configuration ensures consistency across all components.