LabHub

CBA — Backstage 인증 어소시에이트 · 설정 계층과 app-config.yaml · 퀴즈

퀴즈: 설정 계층과 app-config.yaml

LabHub 에서 이어서 보기

문항 7개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 기본 설정에 `catalog.locations` 가 세 건 있고 오버라이드 파일에 한 건을 적었습니다. 병합 결과는?

    1. 네 건이 된다. 리스트는 이어 붙는다
    2. 오류가 나서 기동하지 못한다
    3. 한 건이 된다. 리스트는 합쳐지지 않고 통째로 교체된다
    4. 세 건이 된다. 오버라이드의 리스트는 무시된다
  2. 설정 값에 `${GITHUB_TOKEN}` 처럼 쓰는 주된 이유는?

    1. 설정 파일은 저장소에 커밋되고 이미지에 구워지므로, 값을 적으면 비밀이 영구히 남기 때문
    2. YAML 스칼라가 담을 수 있는 문자열 길이에 제한이 있어 토큰을 나눠 넣어야 하기 때문
    3. 치환 형식으로 쓰면 Backstage 가 그 값을 자동으로 암호화해 보관하기 때문
    4. 그렇게 써야 프런트엔드 번들에서도 그 값을 읽을 수 있게 되기 때문
  3. 환경변수 `APP_CONFIG_backend_listen_port=7007` 을 주면 무슨 일이 일어나나요?

    1. 무시된다. 설정은 파일로만 바꿀 수 있다
    2. backend 구획 전체가 이 값으로 교체된다
    3. 포트 번호가 아니라 로그 수준만 바뀐다
    4. 설정 경로 `backend.listen.port` 한 자리가 이 값으로 덮인다
  4. `proxy` 구획이 따로 있는 이유로 가장 적절한 것은?

    1. 외부 API 의 응답을 캐시해 포털 화면이 뜨는 속도를 올리기 위해서
    2. 프런트엔드가 외부 API 를 직접 부르면 CORS 에 막히고 자격증명을 브라우저에 둬야 하므로
    3. 여러 클러스터의 접속 정보를 한곳에 모아 두고 관리하기 위해서
    4. 카탈로그 엔티티를 외부 저장소에서 주기적으로 가져오기 위해서
  5. `catalog.rules` 의 `allow` 목록이 하는 일은?

    1. 엔티티를 볼 수 있는 사용자 그룹을 정한다
    2. 카탈로그가 저장소를 다시 읽는 주기를 정한다
    3. 카탈로그가 받아들일 엔티티 kind 를 정한다. 목록에 없는 kind 는 등록이 거부된다
    4. 엔티티가 참조할 수 있는 네임스페이스를 정한다
  6. `app-config.local.yaml` 의 성격으로 옳은 것은?

    1. 개인 노트북에서만 쓰는 덮어쓰기 파일이고 보통 git 에서 제외한다
    2. 운영 컨테이너가 반드시 포함해야 하는 필수 파일이다
    3. 기본 설정과 이름이 겹치면 기동이 실패하는 예약 파일이다
    4. 프런트엔드 전용 설정만 담을 수 있는 파일이다
  7. 컨테이너로 배포할 때 `backend.listen.host` 를 `0.0.0.0` 으로 두는 이유는?

    1. 그래야 데이터베이스 접속이 허용되기 때문
    2. 그 값이 CORS 검사를 통과시키기 때문
    3. TechDocs 가 문서를 외부에 올릴 수 있기 때문
    4. 루프백에만 리슨하면 파드 밖에서 들어오는 요청이 닿지 못하기 때문