Skip to content

Tenant Settings Architecture

Tenant settings are the long-lived maintenance surface for an existing monitoring configuration. If the wizard creates the first runtime shape, settings keep that shape correct over time.

Functional role

This area is used for recurring maintenance tasks such as:

  • correcting master data
  • rotating credentials
  • changing CPI or Edge connectivity
  • adjusting query behavior and sync sources
  • tuning job intervals and archive retention
  • maintaining AI scenario settings
  • testing connections after infrastructure or credential changes

Tab structure

The area is split into multiple tabs:

  • General
  • Connection
  • Query & Sync
  • AI Scenarios
  • Jobs

Each tab edits a different functional slice of the same configuration.

Architecture boundary

The settings screen is a configuration editor around one persisted tenant:

flowchart LR
    U[User or Admin] --> S[ConfigSettings.jsx]
    S --> SAVE[Shared save logic]
    SAVE --> API[PUT or PATCH /api/core/config/:id]
    API --> EXT[cConfigExt sections]
    API --> CFG[cConfig metadata]

Persistence model

The screen loads the assembled backend shape and writes changes back into the same persisted sections:

  • data.global.config
  • data.global.runtime
  • data.connection.config
  • data.jobs.*
  • data.periodic.*

Additional related data exists for:

  • config-to-group visibility assignments
  • AI scenario settings
  • connection test responses
  • certificate and key material handling

Main frontend files

  • frontend/src/pages/components/config/ConfigSettings.jsx
  • frontend/src/pages/components/config/settings/configSettingsHelpContent.js
  • frontend/src/pages/components/config/settings/ConfigSettingsHelpPopover.jsx
  • frontend/src/pages/components/config/settings/ConfigSettingsDocumentationModal.jsx
  • frontend/src/pages/components/config/configSave.js

Behavioral characteristics

Important runtime-facing properties of this screen:

  • it suspends live refresh while editing and reapplies a refresh afterward if backend updates arrived
  • it sanitizes secret fields before showing persisted config data again
  • it combines direct config persistence with related side effects such as access-group synchronization
  • it supports operational connection tests without requiring a full tenant recreate

Help concept

Like the wizard and alerting-related screens, settings use two documentation layers:

  1. compact contextual help next to fields and sections
  2. a larger structured documentation modal linked into the shared docs system