2026.08 Infrastructure Changes — Unique AI Documentation

2026.08 Infrastructure Changes

Changes on Application environment

Change Environment Variable Name Application Default Value
(if env variable unset)
Example Required Applications Short Description
Added ZITADEL_WEBHOOK_ENDPOINT - http://backend-service-scope-management.chat.svc/webhook/zitadel-events false - backend-service-scope-management Enables real-time user sync via Zitadel Actions v2 webhooks.
⚠The scope-management service user must now have the Iam Owner role to be able to register the webhook target for receiving Zitadel events.
Before enabling: See documentation for prerequisites and setup.
Modified FEATURE_FLAG_ENABLE_ADVANCED_FORMATTING_UN_9758 false true false - web-app-chat Allows advanced formatting such as HTML in the frontend.
Added FEATURE_FLAG_ENABLE_HTML_RENDERING_UN_15131 false true false - web-app-chat

- assistants core
Enables HTML rendering in the chat. Requires FEATURE_FLAG_ENABLE_ADVANCED_FORMATTING_UN_9758 to be set as well.
Added REFLECTOR_BACKEND_API_URL - https://reflector.unique.app false - web-app-chat URL of the Code Reflector service. Required for the new HTML Store secure iframe rendering feature. See Code Reflector Infrastructure.
Added ZITADEL_ISSUER - https://zitadel.unique.app true - web-app-chat

- web-app-admin

- web-app-knowledge-upload

- web-app-theme
Zitadel issuer URL for frontend apps. Replaces ZITADEL_PROJECT_ID for authentication on frontend services.
Added SOURCE_AVAILABLE_TOOLS_REMOTELY false true false - backend-service-chat When set to true, fetches available tools from the Python service instead of using the hardcoded list in node-chat.
Added HTML_STORE_MAX_SLOTS 50 50 false - code-reflector Maximum number of concurrent HTML store slots.
Added HTML_STORE_TTL_MS 10000 10000 false - code-reflector Time-to-live for stored HTML entries in milliseconds.
Added HTML_STORE_MAX_SIZE_BYTES 2097152 2097152 false - code-reflector Maximum HTML content size in bytes (default 2MB). Content exceeding this shows a download button instead of rendering inline.
Added HTML_STORE_MAX_WAIT_MS 5000 5000 false - code-reflector Maximum time to wait for an available slot in milliseconds. Returns 503 if exceeded.
Added HTML_STORE_SLOT_WAIT_INTERVAL_MS 500 500 false - code-reflector Interval between slot availability checks in milliseconds.
Added HTML_STORE_CLEANUP_INTERVAL_MS 1000 1000 false - code-reflector Cleanup interval for expired HTML entries in milliseconds.
Added FEATURE_FLAG_ENABLE_FILE_BASED_ACCESS_UN_12660 false true false - backend-service-ingestion

- web-app-knowledge-upload

- backend-service-scope-management
Enables file-access-based control.
Added FILE_ACCESS_REBUILD_MERGE_EXISTING_FILE_ACCESSES false true false - backend-service-ingestion (cron: node-ingestion-file-access-rebuild) Enables merging of existing file accesses during the file access rebuild cron job.
Added FILE_ACCESS_REBUILD_UPDATE_INDEXER_CONCURRENCY_LIMIT 45 45 false - backend-service-ingestion Concurrency limit for updating indexers when merging file accesses.
Removed ZITADEL_PROJECT_ID - - - - backend-service-chat

- backend-service-ingestion

- backend-service-configuration

- backend-service-event-socket

- backend-service-app-repository

- client-insights-exporter
No longer needed on specified backend services. Frontend apps now use ZITADEL_ISSUER instead.
Added FEATURE_FLAG_ENABLE_NEW_ANSWERS_UI_UN_14411 false true false - web-app-chat This environment variable enables the new UI for the chat input

Chat backend Timeout Change

When using the backend-service chart version>= 10.1.0 the Kong service annotations (konghq.com/read-timeout, write-timeout, connect-timeout) have been replaced with routes.timeout: 1h. Self-hosted customers using Kong can update their timeout configuration accordingly.

File based access migration update

Only relevant if enabling file-based access. Do NOT add the data migration if file-based access is not being enabled.

A new data migration hook has been added to the backend-service-ingestion. The migration command in the migration hook in the default values of the service need to be adjusted.

// search for
cd /home/node/app/services/node-ingestion/prisma; npx prisma migrate deploy --config ../prisma.config.ts;

// replace with
cd /home/node/app/services/node-ingestion/prisma; npx prisma migrate deploy --config ../prisma.config.ts; cd /home/node/app/services/node-ingestion/dist; RUNNING_MODE=data-migration  node /home/node/app/services/node-ingestion/dist/main.js;

The final result should look like this in the default values of backend-service-ingestion:

hooks:
  migration:
    command: |
      cd /home/node/app/services/node-ingestion/prisma; npx prisma migrate deploy --config ../prisma.config.ts; cd /home/node/app/services/node-ingestion/dist; RUNNING_MODE=data-migration  node /home/node/app/services/node-ingestion/dist/main.js;
    enabled: true

| Author | Solution Engineering |