Deploying and administering
Configuration reference
Configuration layers, locked settings and administrator rules.
For Muon Insight 0.26.0. This guide also ships inside the app under Help and Documentation.
Precedence is built-in defaults → local defaults → enterprise → machine → user → approved CLI override.
Enterprise _locked dotted paths are restored after later layers. Files use UTF-8 JSON and are checked
against schemas/config.schema.json; an invalid layer produces a warning and a safe validated fallback.
When a validated repository snapshot is active, its synchronized enterprise configuration replaces the packaged enterprise layer in that precedence chain. The packaged file remains the offline fallback until the first snapshot has been activated.
branding: application/company names, six-digit accent color.appearance:system,light, ordark; accessible base font size.paths: module, pack, and rule locations relative to application resources unless absolute policy is implemented by a deployment wrapper.paths.downloadscontrols persistent log archives. Leave it empty to useC:\TEMPon Windows, or set an absolute writable directory such asD:\SupportLogs.${ENV:USERPROFILE}is allowed by default for deployments that intentionally prefer a user path.execution: global/per-target task limits, timeouts, cancellation grace, monitor interval.remote_control: optional absoluteviewer_pathforCmRcViewer.exeand optional Configuration Managersite_server. When the viewer path is empty, standard console locations,SMS_ADMIN_UI_PATH, andPATHare checked.logging: level, rotation bytes/backups, optional network destination and retry intent.security: offline policy, blocked IDs, trusted publishers, andadministrators: the groups or users (DOMAIN\name, name, or SID) who see the Administration page.security.administratorsis taken only from packaged defaults and the enterprise layer; machine and user files cannot set it.history:task_history_enabledrecords every completed run so results survive a restart, andmaximum_task_recordsbounds how many are kept. Task working directories are pruned to match at startup, so retention also governs disk use under the data root.reports: default format, raw output, and redaction tokens (secrets,email_addresses,ip_addresses,file_paths).updates: channel, startup checks, hash/signature requirements.integrations.servicenow: HTTPS instance, CMDB computer table, Credential Manager target, API timeout, and optional user footprint for ServiceNow Asset Intelligence. Legacyrelated_*mappings are reserved for a permission-approved future integration and are not used by an active module.integrations.active_directory.ou_move_root: approved OU distinguished name for computer moves. The selector and action are both restricted to this exact OU and its descendants. Leave it empty to disable OU movement; production deployments should set and enterprise-lock the dotted key.configuration.allowed_environment_variables: only these${ENV:NAME}values expand. Environment expansion is for non-secret values only.
The repository bootstrap is a separate file so a central team can own its lifecycle independently.
config/repositories.json is the local bootstrap, delivered beside setup by the deployment tool. When
content.enabled is true it defines the stable UNC repository, channel, and bounded startup timeout.
The Content repository Group Policy (HKLM\SOFTWARE\Policies\MuonixLabs\MuonInsight:
ContentSyncEnabled, RepositoryPath, Channel) takes precedence over the path, channel and enabled
state; the startup timeout always comes from the file. Synchronized configuration can change neither.
See ADMIN_REPOSITORY_GUIDE.md and DEPLOYMENT.md.
Administrator rules
JSON files in rules/ are evaluated against every completed module result, so a site can decide
what counts as a finding without editing, revalidating, or republishing a module. Each rule needs
id, name, severity, message, and conditions, and should name the module_ids it applies
to – a field path such as resources.memory_used_percent means different things in different
modules, and a rule with no module_ids is evaluated against all of them.
Conditions take a field dotted path, an operator (eq, ne, gt, gte, lt, lte,
contains, regex, in), and a value, or combine them under all or any. Matches appear
alongside the module’s findings marked (administrator rule); the module’s own output is
unchanged. One malformed file is reported and skipped without costing the others.
rules/computer-summary.json is a working example scoped to system.computer-summary.
Something wrong or unclear? Open an issue on GitHub.