Skip to main content

Overview

This guide covers the configuration options for self-hosted TextQL deployments. Settings are applied either through Helm values (at deploy time) or through the Settings UI (at runtime). For IdP-specific SSO setup instructions, see Single Sign-On (SSO).

Authentication

Single Sign-On (OIDC)

Single-tenant OIDC mode enforces one identity provider for all users in the deployment.
All four OIDC fields (providerType, issuerUrl, clientId, clientSecret) must be set together. Partial configuration will cause authentication failures.
When single-tenant OIDC is enabled:
  • Users are redirected directly to the IdP — the login page is bypassed
  • Email/magic-link login is disabled
  • The OIDC provider appears as read-only in the Settings UI
When enforceAuth is also enabled:
  • Every request must carry a valid session or API key
  • Unauthenticated requests are automatically redirected to the IdP
  • This is the recommended setting for locked-down deployments
enforceAuth requires singleOIDCTenant to be true. The Helm chart will fail validation if enforceAuth is enabled without single-tenant OIDC.

Multiple OIDC Providers

For deployments that need multiple OIDC providers or per-organization configuration, leave singleOIDCTenant as false and configure providers through Settings → Security → OIDC Identity Providers. See Single Sign-On (SSO) for details. When using multiple providers, each organization must be mapped to one or more providers. Users can switch between organizations that share the same provider.

Email Domain Restrictions

When allowedDomains is set, only users with matching email domains can create new accounts. Existing users are not affected.

Organization Settings

The following settings are configured per-organization through the TextQL Settings panel.

Discoverability

Controls whether an organization appears when users sign up with a matching email domain. When to disable:
  • Single-tenant deployments where all users are provisioned via OIDC
  • Organizations that should only be accessible by direct invitation
  • Deployments using SCIM for user provisioning
Organizations with an OIDC provider mapping are automatically hidden from email-based discovery regardless of this setting.

Tool Availability

Control which tools are available to users from Settings → Capabilities. Organization-level restrictions override defaults. Member-level overrides (if set) take precedence over organization defaults but not restrictions.

LLM Configuration

Configure the default model and available models from Settings → Models.

Feature Flags

Toggle features on or off per-organization from Settings → Capabilities.

Role Sync

When enabled, user roles are automatically synchronized from IdP group claims on every login.

Enabling Role Sync

Add role_sync_enabled to the OIDC attribute mapping:
  • Single-tenant mode: Set via oidc.attributeMapping in Helm values
  • Multi-provider mode: Set in the Attribute Mapping field in Settings → Security → OIDC Identity Providers

How It Works

  1. On login, TextQL reads group claims from the IdP token
  2. Group names are matched case-insensitively to TextQL role names
  3. Matching roles are assigned; roles not present in the IdP groups are removed
  4. Groups with no matching TextQL role are silently ignored
When preserve_admin_role is true, the admin role is never removed by sync — this prevents accidental lockout if IdP groups change. If the IdP cannot return group memberships (e.g., the user belongs to too many groups), role sync is skipped and a warning is shown.

Troubleshooting

Common Deployment Patterns

Locked-Down Enterprise (Single IdP)

  • Discoverable: off (users are provisioned via OIDC)
  • Configure tool restrictions per organization requirements

Multi-Org with Shared IdP

  • Configure the OIDC provider once via Settings → Security → OIDC Identity Providers
  • Map the provider to each organization that should use it
  • Users can switch between organizations that share the provider
  • Discoverable: off for each org (OIDC handles access)

Email-Only (No SSO)

  • No OIDC configuration needed
  • Discoverable: on for organizations users should find via domain matching
  • Set allowedDomains to your company domain to prevent external signups