왜
이 repo 의 provision-observability.sh 안에 있는 "SSM 에서 Grafana 자격 7종을 읽는" 로직은 core·extractor·renderer 세 곳에 복제된 것이었다. 셋 다 같은 SSM 경로(/piki/observability/grafana-*)·같은 필수/선택 구분·같은 dockerized aws-cli 를 쓰고 다른 건 --box·--environment 값뿐이다.
경로나 실패 정책이 바뀌면 세 곳을 함께 고쳐야 하고, 하나만 빠뜨리면 그 박스만 조용히 어긋난다.
TeamPiKi/infra#50 으로 그 로직이 공용 블록 blocks/alloy/provision-alloy-ssm.sh 로 추출됐다(self-test 15케이스 포함).
무엇을
provision-observability.sh 를 블록 fetch + 한 줄 호출로 축소한다.
- fetch 대상에
provision-alloy-ssm.sh 를 더한다(블록이 형제 경로의 provision-alloy.sh 를 부르므로 같은 디렉터리에 받는다).
- SSM 조회 블록(약 25줄)을 지우고, 이 박스의 값(
--box·--environment)만 넘겨 블록을 호출한다.
- 동작·실패 정책은 그대로다(필수 5종 중단, traces 빈 값 허용) — 같은 계약이 블록에 옮겨졌을 뿐이다.
왜
이 repo 의
provision-observability.sh안에 있는 "SSM 에서 Grafana 자격 7종을 읽는" 로직은 core·extractor·renderer 세 곳에 복제된 것이었다. 셋 다 같은 SSM 경로(/piki/observability/grafana-*)·같은 필수/선택 구분·같은 dockerized aws-cli 를 쓰고 다른 건--box·--environment값뿐이다.경로나 실패 정책이 바뀌면 세 곳을 함께 고쳐야 하고, 하나만 빠뜨리면 그 박스만 조용히 어긋난다.
TeamPiKi/infra#50 으로 그 로직이 공용 블록
blocks/alloy/provision-alloy-ssm.sh로 추출됐다(self-test 15케이스 포함).무엇을
provision-observability.sh를 블록 fetch + 한 줄 호출로 축소한다.provision-alloy-ssm.sh를 더한다(블록이 형제 경로의provision-alloy.sh를 부르므로 같은 디렉터리에 받는다).--box·--environment)만 넘겨 블록을 호출한다.