Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites management

Ingress routing

The FlowX Designer is a single-page application (SPA) served from its own pod, with backend API calls proxied to the Process Engine, Application Manager, and the various plugins. Routing for the Designer and every backend service is rendered by the FlowX Helm chart — there is no separate hand-authored NGINX configuration in 5.9.x. The Designer itself is exposed on the public host at / (path preserved), with a wildcard *.public-host rule that supports workspace-per-subdomain access. Each backend service the Designer calls has its own ingress rule rendered by the chart (see Ingress configuration guide for the complete route reference). For SPA-specific concerns — TLS, cookie affinity, custom domains — configure these through the chart values (services.designer.ingress.public.annotations, services.designer.ingress.public.extraTls) or share your requirements with FlowX so they are wired in during the upgrade. Upgrading from 5.1.x? See Ingress routing and CORS migration for the NGINX → chart-rendered routing transition.

Steps to deploy Frontend app

The FlowX.AI Designer is an SPA application that is packaged in a docker image with nginx. The web application allows an authenticated user to administrate the FlowX platform. Environment variables are injected at container startup via envsubst.

Application configuration

Environment VariableDescriptionDefault Value
BASE_API_URLBackend API base URL (the host configured in the NGINX ingress)-
ADMIN_API_URLAdmin API URL, used for admin-specific backend calls-
PROCESS_API_PATHAPI path prefix for the process engine (e.g. /engine)-
STATIC_ASSETS_PATHPublic URL for static assets / media library CDN-
BASE_HREFHTML base href override for non-root deployments/
VERSIONApplication version string displayed in the UI-
ROOT_DOMAINRoot domain for the application-
COLLABORATION_POLLING_INTERVALPolling interval in milliseconds for collaboration features-
LEGACY_HTTP_VERSIONEnables legacy HTTP polling mode with SSE reconnect on page visibility changefalse

Authentication (OpenID Connect)

Environment VariableDescriptionDefault Value
KEYCLOAK_ISSUEROpenID Connect provider issuer URL (e.g. https://your-idp/auth/realms/realmName)-
KEYCLOAK_REDIRECT_URIOAuth redirect URI (URL of the SPA)-
KEYCLOAK_CLIENT_IDOAuth client ID-
KEYCLOAK_SCOPESOAuth scopes requested during authenticationopenid profile email
DEFAULT_ORGANIZATION_NAMEDefault organization name for login-
REQUIRE_HTTPSRequire HTTPS for OAuth communicationtrue
SHOW_DEBUG_INFORMATIONShow OAuth debug information in the browser consoletrue
DISABLE_AT_HASH_CHECKDisable at_hash claim validationfalse
SKIP_ISSUER_CHECKSkip OAuth issuer URL validation-
STRICT_DISCOVERY_DOCUMENT_VALIDATIONEnforce strict OIDC discovery document validation-

Troubleshooting

Common issues

Symptoms: 502 Bad Gateway or 404 errors when accessing the Designer.Solutions:
  1. Verify the ingress annotations are correct, especially rewrite-target paths
  2. Check that backend service names and ports match your Kubernetes service definitions
  3. Ensure CORS origins include all domains the Designer is accessed from
  4. Validate the host values in ingress rules match your DNS configuration
  5. Check NGINX controller logs for detailed routing errors: kubectl logs -n ingress-nginx <controller-pod>
Symptoms: Redirect loops, blank screens after login, or 401 errors.Solutions:
  1. Verify KEYCLOAK_ISSUER matches the realm URL exactly (including /auth/realms/<realm>)
  2. Ensure KEYCLOAK_REDIRECT_URI matches the SPA URL configured in the Keycloak client
  3. Check that the Keycloak client ID (KEYCLOAK_CLIENT_ID) exists and is enabled
  4. Confirm the Keycloak client has the correct redirect URIs and web origins configured
  5. Clear browser cookies and local storage, then try again
Symptoms: Real-time updates not working, SSE events not received, process testing hangs.Solutions:
  1. Verify the SSE ingress configuration routes /api/events to the events-gateway service
  2. Check that nginx.ingress.kubernetes.io/cors-allow-headers includes required headers
  3. Ensure the events-gateway service is running and healthy
  4. Confirm network policies allow traffic from the Designer ingress to the events-gateway pod
  5. Check for proxy timeout settings that may terminate long-lived connections

Ingress Configuration

Configure routing, CORS, and TLS for FlowX services

IAM Configuration

Identity and access management setup
Last modified on June 2, 2026