7장 Backstage Software Template를 안전하게 작성한다
Backstage Software Templates는 skeleton code에 변수를 넣고 GitHub·GitLab 같은 위치에 publish하고 catalog에 등록할 수 있다. /create에서 parameter를 입력하고 review한 뒤 task를 실행한다.
이 책의 lab/templates/service/template.yaml은 세 단계다.
steps:
- id: fetch
action: fetch:template
- id: publish
action: publish:github
- id: register
action: catalog:register
template에 cloud admin credential을 직접 넣지 않는다. custom action은 최소 권한 service identity를 사용하고 입력을 schema로 제한한다. repository name을 shell command에 그대로 이어 붙이지 않는다. action ID의 naming과 expression 문법은 적용 version의 공식 문서를 확인한다.
실패 뒤 cleanup도 설계한다. repository 생성 후 catalog 등록이 실패하면 orphan을 지울지, retry 가능한 상태로 남길지 결정한다. 무조건 삭제하면 개발자가 추가한 변경을 잃을 수 있으므로 task 단계와 owner에게 명확히 보여 준다.