상태: 재설계 필요 (deferred)
초기 설계(신규 internal/observability 패키지 + typed PrometheusRule)는 적대 검증에서 2건의 충돌 발견:
- duplicate-registration panic 위험: 기존
internal/controller/metrics.go 가 이미 36 메트릭을 글로벌 registry 에 init() 등록 (keiailab-commons reconcile trio 포함). 신규 패키지의 자체 MustRegister 는 이중등록 panic.
- 의도적으로 회피한 dep 재도입: 기존
internal/controller/prometheus_rules.go::BuildDefaultPrometheusRule 가 keiailab-commons monitoring.NewPrometheusRule 로 *unstructured.Unstructured 반환 (monitoring.coreos.com/v1 typed dep 회피, v0.11.0). typed 빌더는 이를 되돌림.
재설계 방향
- shard chunk gauge 등은 기존
internal/controller/metrics.go 에 추가 + 동일 init() 등록 (신규 패키지/MustRegister 금지)
- alert rule 은 commons
NewPrometheusRule (unstructured) 기반 확장 (typed dep 금지)
- Grafana 대시보드 ConfigMap 빌더만 유일 greenfield 후보 (commons 코어리소스 컨벤션 준수)
상태: 재설계 필요 (deferred)
초기 설계(신규
internal/observability패키지 + typed PrometheusRule)는 적대 검증에서 2건의 충돌 발견:internal/controller/metrics.go가 이미 36 메트릭을 글로벌 registry 에init()등록 (keiailab-commons reconcile trio 포함). 신규 패키지의 자체MustRegister는 이중등록 panic.internal/controller/prometheus_rules.go::BuildDefaultPrometheusRule가 keiailab-commonsmonitoring.NewPrometheusRule로*unstructured.Unstructured반환 (monitoring.coreos.com/v1 typed dep 회피, v0.11.0). typed 빌더는 이를 되돌림.재설계 방향
internal/controller/metrics.go에 추가 + 동일init()등록 (신규 패키지/MustRegister 금지)NewPrometheusRule(unstructured) 기반 확장 (typed dep 금지)