From def39e6367ff8438ae91f326e3a47f98c4a6175f Mon Sep 17 00:00:00 2001 From: Kostiantyn Pshenychnyi Date: Mon, 29 Jun 2026 13:59:03 +0300 Subject: [PATCH 1/2] docs(user-guide): document feature flags migration to backend config --- .../platform-managed-mode-configuration.md | 35 ++--- .../codemie/customer-feature-configuration.md | 125 ++++++++++++------ ...-project-and-user-management-in-codemie.md | 11 +- 3 files changed, 115 insertions(+), 56 deletions(-) diff --git a/docs/admin/configuration/access-control/platform-managed-mode-configuration.md b/docs/admin/configuration/access-control/platform-managed-mode-configuration.md index 50d697b3..4749c131 100644 --- a/docs/admin/configuration/access-control/platform-managed-mode-configuration.md +++ b/docs/admin/configuration/access-control/platform-managed-mode-configuration.md @@ -31,9 +31,10 @@ For a comparison of both modes, see the ## Step 1: Configure Helm Values -:::warning Both components must be updated -The AI/Run CodeMie backend and the UI must be configured consistently. Enabling only one of them results -in either missing UI controls or API errors. +:::warning Both backend settings must be enabled +`ENABLE_USER_MANAGEMENT` activates Platform-managed mode in the backend, while the +`features:userManagement` flag in `customer-config.yaml` tells the UI to show the management +tabs. Enabling only one results in either missing UI controls or API errors. ::: ### AI/Run CodeMie Backend @@ -58,24 +59,26 @@ your organisation's policy. Apply the changes to the deployment. -### AI/Run CodeMie UI +### AI/Run CodeMie UI Feature Flags -The UI must be told that Platform-managed mode is active so it shows the in-app -**Users management** and **Projects management** tabs under **Settings → Administration**. - -In the `codemie-ui` Helm chart `values.yaml`, set: +The UI reads feature flags from the backend configuration to determine which management views +to show. Add the following entries to your `customer-config.yaml`: ```yaml -viteEnableUserManagement: true -viteEnableBudgetManagement: true +components: + - id: "features:userManagement" + settings: + enabled: true + - id: "features:budgetManagement" + settings: + enabled: true ``` -`viteEnableUserManagement` tells the UI that Platform-managed mode is active. When set to -`true`, the **Users management** and **Projects management** tabs appear under -**Settings → Administration**. +`features:userManagement` controls the **Users management** and **Projects management** tabs +under **Settings → Administration**. Set to `true` to enable them. -`viteEnableBudgetManagement` enables budget columns and the budget management section on -project detail pages. Set it to `false` if your deployment does not use budget tracking. +`features:budgetManagement` enables budget columns and the budget management section on project +detail pages. Set to `false` if your deployment does not use budget tracking. Apply the changes to the deployment. @@ -224,7 +227,7 @@ changes during the upgrade and what action, if any, is required from you. | Area | What happens | Action required | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Database schema | New user management tables (`users`, `user_projects`, and related tables) are created automatically when the pod starts | None — Alembic migrations run on startup | -| Platform-managed mode activation | Off by default in 2.19.0 (`ENABLE_USER_MANAGEMENT=false`) | Add the Helm values from [Step 1](#step-1-configure-helm-values) before or during the upgrade if you want to enable it | +| Platform-managed mode activation | Off by default in 2.19.0 (`ENABLE_USER_MANAGEMENT=false`) | Add the backend environment variable and feature flags from [Step 1](#step-1-configure-helm-values) before or during the upgrade if you want to enable it | | Existing Keycloak user assignments | Not migrated automatically | Follow [Step 2](#step-2-migrate-existing-keycloak-users-existing-deployments-only) on first startup if you use `IDP_PROVIDER=keycloak` and want to preserve project assignments | ### How to upgrade diff --git a/docs/admin/configuration/codemie/customer-feature-configuration.md b/docs/admin/configuration/codemie/customer-feature-configuration.md index 6cf33fa3..f0648b5b 100644 --- a/docs/admin/configuration/codemie/customer-feature-configuration.md +++ b/docs/admin/configuration/codemie/customer-feature-configuration.md @@ -15,43 +15,48 @@ Control which features, UI elements, and integrations are available to users in Use this table to quickly find where each component appears in the UI. -| Component ID | Where It Appears | When Enabled Shows | When Disabled Hides | Notes | -| ----------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------- | ----------------------------------------- | -| **CORE FEATURES** | | | | | -| `adminActions` | Settings → Administration | Menu items: AI/Run Adoption, Categories, MCPs, Projects, Providers | Entire Administration menu | | -| `feedbackAssistant` | Help Center, Quick actions (top-right) | Feedback assistant card/button | Feedback collection interface | | -| `mcpConnect` | Assistant/Workflow config → Tools | "MCP Servers" option in dropdown | MCP integration option | | -| `mcpCustomServersDisabled` | Assistant/Workflow config → MCP Servers | Catalog-referenced and custom MCP servers | Possibility to configure custom MCP servers | | -| `skills` | Navigation, Chat config, Assistant config | Skills menu, skill selector, management pages | Entire Skills subsystem | Major feature gate | -| `aiAdoption` | Analytics page, Settings → Administration | Analytics dashboard with 4 dimensions | Analytics dashboard and config | Enterprise Edition only | -| `visualWorkflowEditor` | Workflow editor page | Visual drag-and-drop editor (React Flow) | Visual editor (YAML only) | | -| `defaultConversationAssistant` | New chat creation | Pre-selects specified assistant | Default behavior (no pre-selection) | Requires `slug` parameter | -| `features:personalLiteLLMIntegrations` | Integrations → User tab | LiteLLM as a personal integration option for regular users | LiteLLM from personal integrations (only maintainers and administrators can manage) | Disabled by default | -| **DYNAMIC TOOLS (Chat Interface)** | | | | | -| `features:webSearch` | Chat → Dynamic tools settings (gear icon) | "Web Search" toggle | Web search option | If both disabled, entire section hidden | -| `features:dynamicCodeInterpreter` | Chat → Dynamic tools settings (gear icon) | "Code Interpreter" toggle | Code interpreter option | If both disabled, entire section hidden | -| **HELP CENTER LINKS** | | | | | -| `videoPortal` | Help Center → Learning Resources | Link card with "Open Guide" button | Link card | | -| `youtubeChannel` | Help Center → Learning Resources | YouTube channel link card | Link card | | -| `userGuide` | Help Center → Learning Resources | Documentation link card | Link card | | -| `userSurvey` | Help Center → Learning Resources | Survey form link card | Link card | | -| **CONTEXTUAL HELP (Conditional Display)** | | | | | -| `helpLinks:assistants:creating` | Create Assistant page (top-right) | Help documentation link | No documentation link | Triggers: Page load | -| `helpLinks:assistants:tools` | Assistant config → Tools section | Help documentation link | No documentation link | Triggers: User opens tools | -| `helpLinks:workflows:creating` | Create Workflow page (top-right) | Help documentation link | No documentation link | Triggers: Page load | -| `helpLinks:workflows:configuration` | Workflow editor → YAML tab | Help documentation link | No documentation link | Triggers: User switches to YAML | -| `helpLinks:integrations:selection:` | Integration creation form | Help link for selected type | No documentation link | Triggers: User selects type from dropdown | -| `helpLinks:datasources:selection:` | Data source creation form | Help link for selected type | No documentation link | Triggers: User selects type from dropdown | -| **ASSISTANT FEATURES** | | | | | -| `features:favorites` | Assistants list, Skills list, Workflows list | Favorite/Unfavorite action buttons | Favorite actions hidden | | -| `features:pinnedAssistants` | Assistants list, Navigation sidebar | Pin/Unpin actions and Pinned Assistants sidebar section | Pin actions and sidebar section hidden | | -| `features:favoritesPage` | Main navigation | Favorites page and navigation link | Favorites page and nav link hidden | Default: disabled | -| **DATASOURCE FEATURES** | | | | | -| `features:sharepointCodeMieOAuth` | Data Sources → SharePoint setup form | "Sign in with Microsoft (CodeMie Project)" authentication option | SharePoint PKCE auth option hidden | Requires `SHAREPOINT_PKCE_ENABLED=true` | -| **INTEGRATED APPLICATIONS** | | | | | -| `applications:` | Applications menu | Application card with icon | Application card | Type: `module`, `iframe`, or `link` | -| **PRECONFIGURED ASSISTANTS** | | | | | -| Any assistant ID | Assistants list, New chat dropdown, Help Center → AI Help | Assistant appears in all locations | Assistant hidden from all locations | Default: enabled if not configured | +| Component ID | Where It Appears | When Enabled Shows | When Disabled Hides | Notes | +| ----------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------- | +| **CORE FEATURES** | | | | | +| `adminActions` | Settings → Administration | Menu items: AI/Run Adoption, Categories, MCPs, Projects, Providers | Entire Administration menu | | +| `feedbackAssistant` | Help Center, Quick actions (top-right) | Feedback assistant card/button | Feedback collection interface | | +| `mcpConnect` | Assistant/Workflow config → Tools | "MCP Servers" option in dropdown | MCP integration option | | +| `mcpCustomServersDisabled` | Assistant/Workflow config → MCP Servers | Catalog-referenced and custom MCP servers | Possibility to configure custom MCP servers | | +| `skills` | Navigation, Chat config, Assistant config | Skills menu, skill selector, management pages | Entire Skills subsystem | Major feature gate | +| `aiAdoption` | Analytics page, Settings → Administration | Analytics dashboard with 4 dimensions | Analytics dashboard and config | Enterprise Edition only | +| `features:enterpriseEdition` | Analytics, navigation, Settings, profile | Analytics, AI adoption config, enterprise admin tabs, LiteLLM | All enterprise-only UI | Master enterprise switch | +| `features:showAllProjects` | Settings → Administration → project selector | All projects returned by admin project picker (no limit or search minimum) | Admin project picker limited to 5 results with 3-char search minimum | | +| `visualWorkflowEditor` | Workflow editor page | Visual drag-and-drop editor (React Flow) | Visual editor (YAML only) | | +| `defaultConversationAssistant` | New chat creation | Pre-selects specified assistant | Default behavior (no pre-selection) | Requires `slug` parameter | +| `features:personalLiteLLMIntegrations` | Integrations → User tab | LiteLLM as a personal integration option for regular users | LiteLLM from personal integrations (only maintainers and administrators can manage) | Disabled by default | +| **PLATFORM-MANAGED MODE** | | | | | +| `features:userManagement` | Settings → Administration | Users management and Projects management tabs | Management tabs | Requires `ENABLE_USER_MANAGEMENT=true` | +| `features:budgetManagement` | Project detail pages, Settings → Administration | Budget columns and budget management section | Budget tracking UI | | +| **DYNAMIC TOOLS (Chat Interface)** | | | | | +| `features:webSearch` | Chat → Dynamic tools settings (gear icon) | "Web Search" toggle | Web search option | If both disabled, entire section hidden | +| `features:dynamicCodeInterpreter` | Chat → Dynamic tools settings (gear icon) | "Code Interpreter" toggle | Code interpreter option | If both disabled, entire section hidden | +| **HELP CENTER LINKS** | | | | | +| `videoPortal` | Help Center → Learning Resources | Link card with "Open Guide" button | Link card | | +| `youtubeChannel` | Help Center → Learning Resources | YouTube channel link card | Link card | | +| `userGuide` | Help Center → Learning Resources | Documentation link card | Link card | | +| `userSurvey` | Help Center → Learning Resources | Survey form link card | Link card | | +| **CONTEXTUAL HELP (Conditional Display)** | | | | | +| `helpLinks:assistants:creating` | Create Assistant page (top-right) | Help documentation link | No documentation link | Triggers: Page load | +| `helpLinks:assistants:tools` | Assistant config → Tools section | Help documentation link | No documentation link | Triggers: User opens tools | +| `helpLinks:workflows:creating` | Create Workflow page (top-right) | Help documentation link | No documentation link | Triggers: Page load | +| `helpLinks:workflows:configuration` | Workflow editor → YAML tab | Help documentation link | No documentation link | Triggers: User switches to YAML | +| `helpLinks:integrations:selection:` | Integration creation form | Help link for selected type | No documentation link | Triggers: User selects type from dropdown | +| `helpLinks:datasources:selection:` | Data source creation form | Help link for selected type | No documentation link | Triggers: User selects type from dropdown | +| **ASSISTANT FEATURES** | | | | | +| `features:favorites` | Assistants list, Skills list, Workflows list | Favorite/Unfavorite action buttons | Favorite actions hidden | | +| `features:pinnedAssistants` | Assistants list, Navigation sidebar | Pin/Unpin actions and Pinned Assistants sidebar section | Pin actions and sidebar section hidden | | +| `features:favoritesPage` | Main navigation | Favorites page and navigation link | Favorites page and nav link hidden | Default: disabled | +| **DATASOURCE FEATURES** | | | | | +| `features:sharepointCodeMieOAuth` | Data Sources → SharePoint setup form | "Sign in with Microsoft (CodeMie Project)" authentication option | SharePoint PKCE auth option hidden | Requires `SHAREPOINT_PKCE_ENABLED=true` | +| **INTEGRATED APPLICATIONS** | | | | | +| `applications:` | Applications menu | Application card with icon | Application card | Type: `module`, `iframe`, or `link` | +| **PRECONFIGURED ASSISTANTS** | | | | | +| Any assistant ID | Assistants list, New chat dropdown, Help Center → AI Help | Assistant appears in all locations | Assistant hidden from all locations | Default: enabled if not configured | ## Configuration Parameters @@ -260,6 +265,28 @@ components: - id: "features:personalLiteLLMIntegrations" settings: enabled: true + + # WHERE: Settings → Administration → Users management, Projects management tabs + # ENABLED: Shows "Users management" and "Projects management" tabs under Settings → Administration + # DISABLED: Hides management tabs (Platform-managed mode UI is inactive) + # NOTE: Requires ENABLE_USER_MANAGEMENT=true in the backend + - id: "features:userManagement" + settings: + enabled: true + + # WHERE: Project detail pages, Settings → Administration → Budget management + # ENABLED: Shows budget columns in project lists and budget management section on project detail pages + # DISABLED: Hides all budget tracking UI + - id: "features:budgetManagement" + settings: + enabled: true + + # WHERE: Settings → Administration → project selector dropdown (admin-only) + # ENABLED: Admin project picker returns all projects with no result limit and no minimum search length + # DISABLED: Admin project picker returns up to 5 results and requires at least 3 characters to search + - id: "features:showAllProjects" + settings: + enabled: true ``` ### Advanced Features @@ -288,6 +315,14 @@ components: name: "Skills" description: "Modular knowledge units that provide domain-specific instructions to assistants" + # WHERE: Analytics routes, navigation, Settings admin tabs, profile page, integrations + # ENABLED: Activates all enterprise-only UI — analytics routes and nav link, AI adoption config, + # enterprise admin tabs (AI Adoption, Budgets, Categories, MCPs, Providers, Users). + # DISABLED: Hides all enterprise-specific UI; only the Projects management tab remains in admin + - id: "features:enterpriseEdition" + settings: + enabled: true + # WHERE: 1) Analytics page → AI Adoption dashboard # 2) Settings → Administration → AI Adoption Config # 3) Main navigation (Enterprise Edition only) @@ -1000,6 +1035,18 @@ extraObjects: settings: enabled: true + - id: "features:userManagement" + settings: + enabled: true + + - id: "features:budgetManagement" + settings: + enabled: true + + - id: "features:showAllProjects" + settings: + enabled: true + # Advanced Features - id: "skills" settings: @@ -1007,6 +1054,10 @@ extraObjects: name: "Skills" description: "Modular knowledge units that provide domain-specific instructions to assistants" + - id: "features:enterpriseEdition" + settings: + enabled: true + - id: "aiAdoption" settings: enabled: true diff --git a/faq/how-do-i-enable-project-and-user-management-in-codemie.md b/faq/how-do-i-enable-project-and-user-management-in-codemie.md index 43143b57..496d7db9 100644 --- a/faq/how-do-i-enable-project-and-user-management-in-codemie.md +++ b/faq/how-do-i-enable-project-and-user-management-in-codemie.md @@ -15,11 +15,16 @@ extraEnv: value: '3' ``` -**`codemie-ui` — `values.yaml`:** +**`customer-config.yaml` — feature flags:** ```yaml -viteEnableUserManagement: true -viteEnableBudgetManagement: true +components: + - id: "features:userManagement" + settings: + enabled: true + - id: "features:budgetManagement" + settings: + enabled: true ``` After applying both changes, the **Projects management** and **Users management** tabs From 9e2042a3efa9b93412705a91ee6059984232b674 Mon Sep 17 00:00:00 2001 From: Kostiantyn Pshenychnyi Date: Mon, 29 Jun 2026 15:09:10 +0300 Subject: [PATCH 2/2] docs(user-guide): add 2.37.0 release notes for feature flags breaking change Generated with AI Co-Authored-By: codemie-ai --- docs/admin/update/release-notes.md | 53 ++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/docs/admin/update/release-notes.md b/docs/admin/update/release-notes.md index 6075438c..328c71f8 100644 --- a/docs/admin/update/release-notes.md +++ b/docs/admin/update/release-notes.md @@ -13,6 +13,59 @@ This page provides information about updated third-party components and configur --- +
+CodeMie 2.37.0 + +**Release Date:** TBD · [GitHub Tag ↗](https://github.com/codemie-ai/codemie/releases/tag/2.37.0) + +

Third-Party Component Updates

+ +No third-party component updates in this release. + +

Configuration Changes

+ +1. **[BREAKING] Frontend feature flags moved to backend config** — the following UI configuration variables have been removed from the `codemie-ui` Helm chart and runtime config. They are now controlled through `customer-config.yaml`, allowing runtime changes without redeploying the UI. + + :::danger Breaking Change + If any of the removed variables were explicitly set to `true` in your deployment, you must add the corresponding entry to `customer-config.yaml` before upgrading. Failing to do so will cause affected features to silently revert to their disabled state. + ::: + + | Removed variable | Was in | Default | Replacement in `customer-config.yaml` | + | ---------------------------- | --------------------------- | ------- | ------------------------------------- | + | `viteEnableUserManagement` | `codemie-ui` Helm values | `false` | `features:userManagement` | + | `viteEnableBudgetManagement` | `codemie-ui` Helm values | `false` | `features:budgetManagement` | + | `VITE_IS_ENTERPRISE_EDITION` | `codemie-ui` runtime config | `false` | `features:enterpriseEdition` | + | `VITE_SHOW_ALL_PROJECTS` | `codemie-ui` runtime config | `false` | `features:showAllProjects` | + + Add the required entries to `customer-config.yaml`: + + ```yaml + components: + # Required if VITE_IS_ENTERPRISE_EDITION was true (enterprise deployments) + - id: "features:enterpriseEdition" + settings: + enabled: true + + # Required if viteEnableUserManagement was true + - id: "features:userManagement" + settings: + enabled: true + + # Required if viteEnableBudgetManagement was true + - id: "features:budgetManagement" + settings: + enabled: true + + # Required if VITE_SHOW_ALL_PROJECTS was true + - id: "features:showAllProjects" + settings: + enabled: true + ``` + + See [Customer Feature Configuration](../configuration/codemie/customer-feature-configuration.md) for full deployment instructions. + +
+
CodeMie 2.36.0