[Phase 1] Extract config_gen modules for Manager, Storage Proxy, Webserver
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
## Summary
Extract Manager configuration generation (manager.toml, alembic.ini, etcd config, fixtures) into a shared module.
## Current Duplication
- `context.py:configure_manager()` — sed + tomlkit modifications
- `deploy/cores/manager/` — Jinja2 templates
- Redis sentinel/single mode logic duplicated
- Fixture generation logic duplicated
## Complexity: HIGH
Manager has complex config with Redis mode selection (sentinel vs single), etcd config, and fixture generation with user/group data.
## Approach
Create `src/ai/backend/install/config_gen/manager.py` with config dict generation functions.
JIRA Issue: BA-5566
Contributor guide
Research direction
Start by reading context.py:configure_manager() and the templates under deploy/cores/manager/. Trace the duplicated Redis mode, etcd, and fixture-generation paths, then define the scope of src/ai_backend/install/config_gen/manager.py. Done means Manager configuration and fixture generation use the shared module without the current duplicated logic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops, infrastructure
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100