lablup / lablup/backend.ai

Move duplicated config classes to common module

Open
#7,821 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
17h 7m
Merged PRs (30d)
358

Description

## Motivation

Consolidate duplicated configuration classes from all components into the common module to reduce maintenance overhead and ensure consistency.

## Required Features

Config classes to move:

- `EtcdConfig` - etcd connection settings (namespace, addr, user, password)
- `OTELConfig` - OpenTelemetry settings (exporter endpoint, service name)
- `ServiceDiscoveryConfig` - service discovery settings
- `PyroscopeConfig` - profiling settings

Current locations:

- `src/ai/backend/manager/config/unified.py`
- `src/ai/backend/agent/config/unified.py`
- `src/ai/backend/storage/config/unified.py`
- `src/ai/backend/web/config/unified.py`
- `src/ai/backend/appproxy/coordinator/config.py`
- `src/ai/backend/appproxy/worker/config.py`

## Out of Scope

- `DebugConfig` - Component-specific fields vary too much

## Impact

Target locations:

- `src/ai/backend/common/configs/etcd.py`
- `src/ai/backend/common/configs/otel.py`
- `src/ai/backend/common/configs/service_discovery.py`
- `src/ai/backend/common/configs/pyroscope.py`

## Testing Scenarios

- All common config classes are moved to common module
- Classes maintain backward compatibility
- Type annotations and `to_dataclass()` methods are preserved

## References

- [BEP-1023: UnifiedConfig Consolidation](https://github.com/lablup/backend.ai/blob/main/proposals/BEP-1023-unified-config-consolidation.md)

JIRA Issue: BA-3768

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.