Modernize Configuration Management
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
## Overview
Modernize the etcd configuration management CLI to support the new configuration format introduced in version 25.8.
## Background
Starting from version 25.8, the manager configuration system has been redesigned with the following improvements:
### Config Loading Order
The manager settings now follow a unified loading order regardless of source:
1. Local config file (`manager.toml`)
1. Legacy Etcd configs (prefix: `/sorna/local`)
1. New Etcd configs (prefix: `/sorna/ai/backend`)
1. Environment variable configs
### Configuration Key Format
- Both `snake_case` and `kebab-case` are now accepted
- **Recommendation**: Standardize on `kebab-case` for consistency
### Configuration Updates
- Most settings can be changed without manager reboot
- Use `modify_service_config` mutation for live updates
- Etcd config watcher monitors new prefix (`/sorna/ai/backend`) for automatic reload
### Manual Etcd Configuration
When using `mgr etcd` CLI directly:
- Legacy prefix: `config/redis/...` (not watched)
- New prefix: `ai/backend/config/manager/redis` (watched for live reload)
## Goals
- Provide CLI tools to migrate legacy etcd configurations to the new format
- Create modern CRUD CLI commands for the new etcd configuration structure
- Ensure backward compatibility while encouraging adoption of new patterns
## Related Changes
- GraphQL `service_config` query for effective configuration check
- GraphQL `modify_service_config` mutation for configuration updates
JIRA Issue: BA-3468
Contributor guide
Assessment
This issue has not been assessed yet.