Configuration Manager API
The Configuration Manager Service provides a centralized way to manage configuration settings across your organization’s services. It securely stores various configuration parameters in a key-value store (ETCD by default) and provides APIs to manage these configurations.Base URL
All endpoints are prefixed with/api/v1/configurationManager
Authentication
All endpoints require authentication via Bearer token:Architecture Overview
The Configuration Manager Service is built on a Node.js backend that leverages ETCD (or other compatible key-value stores) for secure configuration storage. The service:- Securely encrypts sensitive configuration values using AES-256-GCM algorithm
- Provides a RESTful API for managing configurations
- Integrates with other services via event-driven architecture
- Controls access through authentication and authorization
- Performs health checks before saving configurations
Key Features
- Secure Storage: All sensitive configurations are encrypted using AES-256-GCM algorithm
- Health Checks: Built-in validation of configuration parameters before storage
- Event Notifications: Publishes events when critical configurations change
- Centralized Management: Single service to control settings across the system
- AI Model Management: Advanced provider management for AI models with support for multiple models per provider
- Connector Integration: Support for various connectors including Google Workspace, Atlassian, OneDrive, and SharePoint
Supported Configurations
The Configuration Manager handles various types of configurations:- Storage Configurations - AWS S3, Azure Blob, or Local storage settings
- Authentication Configurations - Azure AD, Google, Microsoft, SSO, and OAuth settings
- Database Configurations - MongoDB, ArangoDB, and Qdrant settings
- Key-Value Store Configurations - Redis settings
- Message Broker Configurations - Kafka settings
- SMTP Configurations - Email service settings
- AI Models Configurations - Settings for LLM, embedding, OCR, SLM, reasoning, and multiModal models
- Connector Configurations - Google Workspace, Atlassian, OneDrive, and SharePoint integrations
- Public URL Configurations - Frontend and connector URLs
- Metrics Collection Configurations - Settings for metrics gathering
API Endpoints
Storage Configuration
Storage Configuration
POST /storageConfig - Set Storage Configuration
POST /storageConfig - Set Storage Configuration
- Request
- Response
POST /api/v1/configurationManager/storageConfigRequest Body Parameters:GET /storageConfig - Get Storage Configuration
GET /storageConfig - Get Storage Configuration
- Request
- Response
GET /api/v1/configurationManager/storageConfigSMTP Configuration
SMTP Configuration
POST /smtpConfig - Set SMTP Configuration
POST /smtpConfig - Set SMTP Configuration
- Request
- Response
POST /api/v1/configurationManager/smtpConfigRequest Body Parameters:GET /smtpConfig - Get SMTP Configuration
GET /smtpConfig - Get SMTP Configuration
- Request
- Response
GET /api/v1/configurationManager/smtpConfigAuthentication Configuration
Authentication Configuration
Azure AD Authentication
Azure AD Authentication
POST /authConfig/azureAd - Set Azure AD Config
POST /authConfig/azureAd - Set Azure AD Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/azureAdRequest Body Parameters:GET /authConfig/azureAd - Get Azure AD Config
GET /authConfig/azureAd - Get Azure AD Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/azureAdMicrosoft Authentication
Microsoft Authentication
POST /authConfig/microsoft - Set Microsoft Config
POST /authConfig/microsoft - Set Microsoft Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/microsoftRequest Body Parameters:GET /authConfig/microsoft - Get Microsoft Config
GET /authConfig/microsoft - Get Microsoft Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/microsoftGoogle Authentication
Google Authentication
POST /authConfig/google - Set Google Config
POST /authConfig/google - Set Google Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/googleRequest Body Parameters:GET /authConfig/google - Get Google Config
GET /authConfig/google - Get Google Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/googleSSO Authentication
SSO Authentication
POST /authConfig/sso - Set SSO Config
POST /authConfig/sso - Set SSO Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/ssoRequest Body Parameters:GET /authConfig/sso - Get SSO Config
GET /authConfig/sso - Get SSO Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/ssoOAuth Authentication
OAuth Authentication
POST /authConfig/oauth - Set OAuth Config
POST /authConfig/oauth - Set OAuth Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/oauthRequest Body Parameters:GET /authConfig/oauth - Get OAuth Config
GET /authConfig/oauth - Get OAuth Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/oauthDatabase Configuration
Database Configuration
MongoDB Configuration
MongoDB Configuration
POST /mongoDBConfig - Set MongoDB Config
POST /mongoDBConfig - Set MongoDB Config
- Request
- Response
POST /api/v1/configurationManager/mongoDBConfigRequest Body Parameters:GET /mongoDBConfig - Get MongoDB Config
GET /mongoDBConfig - Get MongoDB Config
- Request
- Response
GET /api/v1/configurationManager/mongoDBConfigArangoDB Configuration
ArangoDB Configuration
POST /arangoDBConfig - Set ArangoDB Config
POST /arangoDBConfig - Set ArangoDB Config
- Request
- Response
POST /api/v1/configurationManager/arangoDBConfigRequest Body Parameters:GET /arangoDBConfig - Get ArangoDB Config
GET /arangoDBConfig - Get ArangoDB Config
- Request
- Response
GET /api/v1/configurationManager/arangoDBConfigQdrant Configuration
Qdrant Configuration
POST /qdrantConfig - Set Qdrant Config
POST /qdrantConfig - Set Qdrant Config
- Request
- Response
POST /api/v1/configurationManager/qdrantConfigRequest Body Parameters:GET /qdrantConfig - Get Qdrant Config
GET /qdrantConfig - Get Qdrant Config
- Request
- Response
GET /api/v1/configurationManager/qdrantConfigKey-Value Store Configuration
Key-Value Store Configuration
POST /redisConfig - Set Redis Config
POST /redisConfig - Set Redis Config
- Request
- Response
POST /api/v1/configurationManager/redisConfigRequest Body Parameters:GET /redisConfig - Get Redis Config
GET /redisConfig - Get Redis Config
- Request
- Response
GET /api/v1/configurationManager/redisConfigMessage Broker Configuration
Message Broker Configuration
POST /kafkaConfig - Set Kafka Config
POST /kafkaConfig - Set Kafka Config
- Request
- Response
POST /api/v1/configurationManager/kafkaConfigRequest Body Parameters:GET /kafkaConfig - Get Kafka Config
GET /kafkaConfig - Get Kafka Config
- Request
- Response
GET /api/v1/configurationManager/kafkaConfigAI Models Configuration
AI Models Configuration
Complete AI Models Configuration
Complete AI Models Configuration
POST /aiModelsConfig - Set AI Models Config
POST /aiModelsConfig - Set AI Models Config
- Request
- Response
POST /api/v1/configurationManager/aiModelsConfigRequest Body Parameters:
At least one AI model type must be configured.GET /aiModelsConfig - Get AI Models Config
GET /aiModelsConfig - Get AI Models Config
- Request
- Response
GET /api/v1/configurationManager/aiModelsConfigAI Models Management
AI Models Management
GET /ai-models - Get All AI Models
GET /ai-models - Get All AI Models
- Request
- Response
GET /api/v1/configurationManager/ai-modelsGET /ai-models/{modelType} - Get Models by Type
GET /ai-models/{modelType} - Get Models by Type
- Request
- Response
GET /api/v1/configurationManager/ai-models/{modelType}Path Parameters:GET /ai-models/available/{modelType} - Get Available Models
GET /ai-models/available/{modelType} - Get Available Models
- Request
- Response
GET /api/v1/configurationManager/ai-models/available/{modelType}Path Parameters:AI Model Provider Management
AI Model Provider Management
POST /ai-models/providers - Add AI Model Provider
POST /ai-models/providers - Add AI Model Provider
- Request
- Response
POST /api/v1/configurationManager/ai-models/providersRequest Body Parameters:PUT /ai-models/providers/{modelType}/{modelKey} - Update AI Model Provider
PUT /ai-models/providers/{modelType}/{modelKey} - Update AI Model Provider
- Request
- Response
PUT /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:DELETE /ai-models/providers/{modelType}/{modelKey} - Delete AI Model Provider
DELETE /ai-models/providers/{modelType}/{modelKey} - Delete AI Model Provider
- Request
- Response
DELETE /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:PUT /ai-models/default/{modelType}/{modelKey} - Update Default AI Model
PUT /ai-models/default/{modelType}/{modelKey} - Update Default AI Model
- Request
- Response
PUT /api/v1/configurationManager/ai-models/default/{modelType}/{modelKey}Path Parameters:Connector Configuration
Connector Configuration
Google Workspace Configuration
Google Workspace Configuration
Google Workspace OAuth Configuration
Google Workspace OAuth Configuration
POST /connectors/googleWorkspaceOauthConfig - Set Google Workspace OAuth Config
POST /connectors/googleWorkspaceOauthConfig - Set Google Workspace OAuth Config
- Request
- Response
POST /api/v1/configurationManager/connectors/googleWorkspaceOauthConfigRequest Body Parameters:GET /connectors/googleWorkspaceOauthConfig - Get Google Workspace OAuth Config
GET /connectors/googleWorkspaceOauthConfig - Get Google Workspace OAuth Config
- Request
- Response
GET /api/v1/configurationManager/connectors/googleWorkspaceOauthConfigGoogle Workspace Credentials
Google Workspace Credentials
POST /connectors/googleWorkspaceCredentials - Set Google Workspace Credentials
POST /connectors/googleWorkspaceCredentials - Set Google Workspace Credentials
- Request
- Response
POST /api/v1/configurationManager/connectors/googleWorkspaceCredentialsContent-Type: multipart/form-dataRequest Body Parameters:GET /connectors/googleWorkspaceCredentials - Get Google Workspace Credentials
GET /connectors/googleWorkspaceCredentials - Get Google Workspace Credentials
- Request
- Response
GET /api/v1/configurationManager/connectors/googleWorkspaceCredentialsAtlassian Configuration
Atlassian Configuration
POST /connectors/atlassian/config - Set Atlassian Config
POST /connectors/atlassian/config - Set Atlassian Config
- Request
- Response
POST /api/v1/configurationManager/connectors/atlassian/configRequest Body Parameters:GET /connectors/atlassian/config - Get Atlassian Config
GET /connectors/atlassian/config - Get Atlassian Config
- Request
- Response
GET /api/v1/configurationManager/connectors/atlassian/configOneDrive Configuration
OneDrive Configuration
POST /connectors/onedrive/config - Set OneDrive Config
POST /connectors/onedrive/config - Set OneDrive Config
- Request
- Response
POST /api/v1/configurationManager/connectors/onedrive/configRequest Body Parameters:GET /connectors/onedrive/config - Get OneDrive Config
GET /connectors/onedrive/config - Get OneDrive Config
- Request
- Response
GET /api/v1/configurationManager/connectors/onedrive/configPublic URL Configuration
Public URL Configuration
Frontend URL Configuration
Frontend URL Configuration
POST /frontendPublicUrl - Set Frontend URL
POST /frontendPublicUrl - Set Frontend URL
- Request
- Response
POST /api/v1/configurationManager/frontendPublicUrlRequest Body Parameters:GET /frontendPublicUrl - Get Frontend URL
GET /frontendPublicUrl - Get Frontend URL
- Request
- Response
GET /api/v1/configurationManager/frontendPublicUrlConnector URL Configuration
Connector URL Configuration
POST /connectorPublicUrl - Set Connector URL
POST /connectorPublicUrl - Set Connector URL
- Request
- Response
POST /api/v1/configurationManager/connectorPublicUrlRequest Body Parameters:GET /connectorPublicUrl - Get Connector URL
GET /connectorPublicUrl - Get Connector URL
- Request
- Response
GET /api/v1/configurationManager/connectorPublicUrlMetrics Collection Configuration
Metrics Collection Configuration
PUT /metricsCollection/toggle - Toggle Metrics Collection
PUT /metricsCollection/toggle - Toggle Metrics Collection
- Request
- Response
PUT /api/v1/configurationManager/metricsCollection/toggleRequest Body Parameters:GET /metricsCollection - Get Metrics Collection Config
GET /metricsCollection - Get Metrics Collection Config
- Request
- Response
GET /api/v1/configurationManager/metricsCollectionPATCH /metricsCollection/pushInterval - Set Push Interval
PATCH /metricsCollection/pushInterval - Set Push Interval
- Request
- Response
PATCH /api/v1/configurationManager/metricsCollection/pushIntervalRequest Body Parameters:PATCH /metricsCollection/serverUrl - Set Remote Server
PATCH /metricsCollection/serverUrl - Set Remote Server
- Request
- Response
PATCH /api/v1/configurationManager/metricsCollection/serverUrlRequest Body Parameters:Encryption and Security
The Configuration Manager Service uses AES-256-GCM encryption to protect sensitive configuration data. Key features include:- Secret Key Hashing: The secret key used for encryption is hashed using SHA-256 for added security
- Per-Configuration Encryption: Each sensitive configuration is individually encrypted
- Fine-grained Access Control: API endpoints require appropriate authentication and authorization
- Health Checks: Automatic validation of configurations before storage
Event-Driven Architecture
The Configuration Manager publishes events when critical configurations change:- LLM Configured Event: When AI models are configured or updated
- Connector Public URL Changed Event: When connector URLs are updated
- Gmail Updates Enabled/Disabled Event: When Gmail real-time updates are toggled
Health Checks
The service includes built-in health checks for various configurations that are automatically performed before saving:- Kafka Health Check: Verifies Kafka broker connectivity and validates broker URLs
- Redis Health Check: Tests Redis connection with timeout and retry logic
- Qdrant Health Check: Ensures Qdrant vector database is accessible via HTTP
- MongoDB Health Check: Validates MongoDB connection using ping command
- ArangoDB Health Check: Confirms ArangoDB connection and authentication
- AI Models Health Check: Validates AI model configurations with provider APIs
Schema Definitions
- Authentication Config Schema
- Storage Config Schema
- Database Config Schema
- AI Models Config Schema
- Connector Config Schema
- Other Config Schemas