test-server 를 비우고 다시 세운 뒤 Setup 기록 35편(virtualization 9 ·
keycloak-session-store 26)을 문서에 적힌 명령 그대로 쳤다. 어긋난 자리를
기록과 SSOT 양쪽에 실측과 함께 넣었다.
막히던 것
- 04 의 인증서 경로가 live/hyeonworks.com 이라 nginx 가 [emerg] 로 안 떴다.
실제 계보는 live/auth.hyeonworks.com 이고 「문제가 생기면」은 진단이 거꾸로였다
- 인증서가 와일드카드가 아니다. SAN 이 auth·app1·app2 셋뿐이라 그 밖의 이름은
TLS 에서 끊기고 curl 이 exit 60 · %{http_code} 000 을 낸다. SSOT 안에서
두 문단이 서로 어긋나 있었다
- A-7 14번 ①이 kc-lab-1 에서 여섯 줄 다 실패하는데 마지막 date 만 「차단」을 찍는다
검사가 실패할 수 없던 자리
- B-1 의 세션 키 고르기는 앞 단계가 $KEY 를 채워 둬서 루프가 한 건도 못 맞혀도
통과한다. KEY= 로 비우고 키마다 1/0 을 찍게 바꿨다
- k3s-agent 유닛의 sed -i 는 패턴에 $HOME 이 들어 있어 아무 줄도 안 바꾼 채 성공한다
certbot
- renew --dry-run 의 종료 코드는 성공도 0, 실패도 0, 다른 사유의 실패는 1 이다.
본문의 renew failure(s) 로만 판정할 수 있다
- --dry-run 은 staging 서버를 쓰는데 renewal/*.conf 의 account= 는 운영 계정을
가리킨다. 실패한 dry-run 이 staging 계정을 하나 더 만들어 다음 실행이 계속 멎는다
- 훅을 755 로 놓고 시뮬레이션이 성공해도 Running deploy-hook command 는 안 나온다.
certbot 2.1.0 에는 --run-deploy-hooks 도 없다
- 강제 갱신은 실제로 쳤고 서빙까지 닿았다. serial 06F3E0EF…1373 → 065547…3DF1,
notAfter Dec 3 → Dec 16, nginx worker 2629 4712 → 4745 4754
독자가 칠 수 있는 형태로
- 안 되는 형태가 번호 붙은 단계에 앉아 있던 8곳을 뒤집고, 되는 형태를 ①로 올렸다
- 랩 안에서 공개 이름을 치는 curl 65줄에 --resolve 를 붙였다. 붙인 형태를 실제로
쳐서 문서가 적은 값과 같은지 확인했다
- 힙독·sed -i·echo >>·&&·|| 를 편집기 + 파일 리스팅 + 분할 형태로 바꿨다
- 닫는 코드펜스가 빠져 뒤 200여 줄의 블록 종류가 뒤집혀 있던 곳을 포함해 3곳을 고쳤다
관문: check_body PASS · check_prose error 0 · check_evidence 두 프로젝트 문제 없음 ·
verify-tech-log-tree error 0 · verify-project-layout error 0 · 코드펜스 전수 0건
남은 것: B-0 주입은 keycloak-pattern 저장소의 소스를 고치고 이미지를 다시 구워야
해서 안 했다(unknown).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
virtualization
- 분석 대상: 없음. 밖에서 가져온 문서 네 편이 출발점이다
- 이 폴더: SSOT(
final/document.md)와 Studio 에 올릴 글(tech-log-studio/)의 정본
범위
가상화 전반을 담을 프로젝트다. SSOT 는 아홉 부이고 절 번호가 문서 전체에서 이어진다.
| 부 | 절 | 반입 전 원본 |
|---|---|---|
| 제1부 — CPU 가상화 | §1~§28 | kvm-cpu-virtualization-ssot.md (절 1~28) |
| 제2부 — 메모리 가상화 | §29~§88 | kvm-memory-virtualization-ssot.md (절 1~60) |
| 제3부 — 네트워크 가상화 | §89~§126 | kvm-network-virtualization-ssot.md (절 1~38) |
| 제4부 — 스토리지 가상화 | §127~§177 | kvm-storage-virtualization-ssot.md (절 0~50) |
| 제5부 — 실험대에서 실제로 확인한 것 | §178~§183 | docs/guides/ · docs/lab-virtualization.md · docs/session-lab-concepts.md 에서 골라 다시 씀 |
| 제6부 — 실험대는 어떻게 세워졌나 | §184~§194 | docs/guides/ 00~06 (묶음 3,223줄)을 다시 씀 |
| 제7부 — 실험대에서 실제로 잰 값 | §195~§205 | docs/lab-virtualization.md (496줄) 전문 |
| 제8부 — 설정 원본이 자기 안에 적어 둔 것 | §206~§210 | deploy/lab/edge/ 네 파일의 주석 59줄 |
| 제9부 — 실험대 개념 사전 | §211~§338 | docs/session-lab-concepts.md (4,725줄) 전문 |
제1~4부는 반입할 때 heading 단계를 한 칸 내리고 절 번호만 옮겼다. heading 이 아닌 줄은 한 글자도 바꾸지 않았고, 원본과 대조해 확인했다. PCIe/VFIO/IOMMU 상세와 K3s 네트워크·컨테이너 런타임 상세는 어느 부에도 없다.
제7·9부도 같은 방식인데 heading 단계를 한 칸 올렸다 — 실제 항목이 사는 단계를
절로 삼았다. 두 부 모두 heading 이 아닌 줄을 원본과 줄 단위로 대조했고, 다른 곳은
비밀 한 자리뿐이다(plain_text_passwd 의 값을 __CONSOLE_PW__ 로 바꿨다).
제5·6·8부는 옮겨 쓴 것이 아니라 원본을 읽고 다시 쓴 것이다. 제8부만 원본 주석을 영어 원문 그대로 인용한다.
끝난 프로젝트의 폴더
| 폴더 | 무엇 |
|---|---|
final/ |
SSOT — 이 프로젝트에 대해 아는 것 전부 |
tech-log-studio/ |
SSOT 에서 뽑아 쓴 글. 정본은 tech-log-tree.json |
반입하는 동안에만 있는 것
source/ — 밖에서 가져온 원본. final/ 이 그 내용을 담으면 지운다.