LabHub

CBA — Backstage 인증 어소시에이트 · 카탈로그 품질과 정합성 진단 · 실습

카탈로그 정합성 진단과 게이트

LabHub 에서 이어서 보기

목표

인계받은 카탈로그를 정적으로 진단해 결함 네 종류를 찾아내고, 고친 사본을 만들고, 같은 검사를 PR 에서 돌릴 lint 게이트로 굳힙니다. Backstage 는 이 환경에 없으므로 모든 진단은 파일을 읽어서 합니다.

왜 중요한가

카탈로그는 등록되는 순간이 아니라 시간이 지나면서 썩습니다. 그리고 썩음의 대부분은 Backstage 가 오류로 알려 주지 않습니다. 스키마를 어긴 엔티티는 표시되지만, 없는 대상을 가리키는 참조는 그냥 관계가 계산되지 않은 상태가 되어 화면에 빈 칸으로 나타납니다. 빈 화면은 장애처럼 보이지 않아서 아무도 신고하지 않고, 그래서 아무도 고치지 않습니다. 이 실습에서 다루는 네 가지가 실제 현장에서 반복해 나타나는 모양입니다. 특히 참조를 비교하기 전에 정규화하는 습관이 중요합니다. team-ordersgroup:team-ordersgroup:default/team-orders 는 같은 것을 가리키는데, 문자열로 비교하면 멀쩡한 참조가 결함으로 보고됩니다. 마지막 단계의 lint 게이트는 깨끗한 입력에서 0 이 나오는 것만 확인하면 반쪽입니다. 결함을 일부러 넣었을 때 0 이 아닌 값이 나와야 그 게이트가 무언가를 지키는 것입니다.

단계

1. /root/cba-audit/incoming/ 에 아래 여덟 개 파일을 그대로 만드세요. 모두 apiVersion: backstage.io/v1alpha1 입니다. 빠져 있다고 적힌 필드는 채우지 마세요.

참고

단계 8개

  1. 인계받은 카탈로그 재현
  2. 필수 필드 누락 진단
  3. 끊어진 소유자 진단
  4. 끊어진 참조 진단
  5. 의존 순환 진단
  6. 고친 카탈로그
  7. PR 에서 도는 lint 게이트
  8. 감사 결과를 클러스터에