redpanda / SPLITb
Split large files into focused sub-modules
Continuation of SPLITa. Split the two remaining oversized files —
replication.rs (850 lines) and monitoring/exporter.rs (799 lines) —
into focused sub-modules. Public API preserved via mod.rs re-exports.
All 163 tests pass. Zero regressions.
Split 1 — replication module
replication.rs
850 lines (single file)
- ReplicationMode
- TopicFilter
- TopicMapping
- ReplicationConfig
- PartitionReplicationStatus
- ReplicationStatus
- TopicReplicator
replication/
3 files + mod.rs
-
config.rs
Mode, Filter, Mapping, Config
-
status.rs
PartitionStatus, Status
-
replicator.rs
TopicReplicator
-
mod.rs
re-exports
Split 2 — monitoring/exporter module
monitoring/exporter.rs
799 lines (single file)
- WebhookConfig
- MonitoringConfig
- PrometheusExporter
- WebhookPayloadBuilder
- WebhookNotifier
monitoring/
2 new files (mod.rs updated)
-
prometheus.rs
PrometheusExporter
-
webhook.rs
Config, Notifier, Payload
Files changed
| File |
Action |
| src/replication.rs |
DELETED |
| src/monitoring/exporter.rs |
DELETED |
| src/replication/mod.rs |
NEW |
| src/replication/config.rs |
NEW |
| src/replication/status.rs |
NEW |
| src/replication/replicator.rs |
NEW |
| src/monitoring/prometheus.rs |
NEW |
| src/monitoring/webhook.rs |
NEW |
| src/monitoring/mod.rs |
MODIFIED |
Quality gates
| Check |
Result |
| cargo test --all |
163 PASS |
| cargo clippy -- -D warnings |
CLEAN |
| cargo fmt --check |
CLEAN |
| Public API preserved |
YES |