구성 재현과 변경 되돌리기
기존 구성과 차이를 검토하고 검증 실패 시 이전 상태로 복구합니다.
진도 0%
레슨
- 원하는 구성과 현재 상태
계정·디렉터리·유닛·방화벽 설정을 명세와 비교해 적용 계획을 출력합니다.
- 반복 적용과 책임 분리
관측·판정·적용 코드를 분리하고 두 번째 실행에서 변경이 없는지 검사합니다.
- 변경 검증과 되돌림
설정 사본을 확보해 실습 서비스 설정을 바꾸고 HTTP 검증 실패 시 사본으로 복구합니다.
- 변경 기록과 리뷰
변경 사유·차이·검증·복구 조건·담당자 인계를 문서로 작성합니다.
구성 재현과 변경 되돌리기 미션
m08 미션 solution 전체를 previous/에 보존하고 같은 앱의 /health·/items 계약을 유지한 별도 구성 복구 리허설을 만듭니다. 기존 점검·예약·백업은 유지합니다.
요구사항
- 이전 실습실의 계정·권한·서비스·점검 설정을 선언된 명세와 적용 스크립트로 재현합니다.
- evidence/change.md에 적용 전후 차이와 실패 변경의 되돌림 결과를 기록합니다.
- desired/current 모델 비교와 service.env·health.conf의 허용 범위 적용을 구현하고 실패 후보의 원본 바이트·모드 복구를 완성합니다.
- VM에서는 기존 bcweb·bcops·bcapp 계약을 확인하고 전용 /srv/bootcamp-m09·bootcamp-config.service·inet bootcamp_m09만 관리합니다. 빈 VM 계정 생성은 README의 별도 명세를 따릅니다.
- 실제 HTTP는 count=3 사본으로 검증하며 /health 200과 /items 전체 JSON을 함께 비교합니다. 각 앱은 8초 자연 종료하고 다음 설정은 PID=0 확인 뒤 적용합니다.
완료 기준
- 실습 VM에서 첫 적용 후 요구 상태가 맞고 두 번째 적용 시 변경 건수가 0인지 검사합니다.
- 잘못된 설정 적용 뒤 이전 설정 체크섬과 HTTP 응답이 복구되는지 검사합니다.
- 관련 없는 계정·서비스·경로를 변경하지 않는지 검사합니다.
- bash check-local.sh는 이전 53개 회귀와 새 13개 비교·멱등·되돌림 검사를 수행합니다. starter에는 복원 TODO 때문에 실패가 있고 solution은 전부 통과해야 합니다.
- bash check.sh는 로컬 회귀 뒤 실제 VM 계정·파일 내용/모드·유닛 문법·커널 규칙 구조·두 번째 적용 0 기록·실패 후보와 복구 후 HTTP/해시를 검사합니다. verify=external이며 미수행은 PENDING입니다.
- 방화벽 검사 범위는 자기 규칙 구조입니다. 실제 패킷 도달은 앞 네트워크 모듈 증거에 연결합니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 관측 결과와 판단 근거가 연결되어 있습니다.
- 실습 VM 범위와 필요한 권한을 명시하고 재현 순서를 기록합니다.