Skip to content

fix(bootstrap): SSH 유저를 런타임에 감지 — PG role/db 포함 (crusoe 검증) - #190

Merged
ysys143 merged 2 commits into
mainfrom
docs/bootstrap-user-portability
Aug 14, 2026
Merged

fix(bootstrap): SSH 유저를 런타임에 감지 — PG role/db 포함 (crusoe 검증)#190
ysys143 merged 2 commits into
mainfrom
docs/bootstrap-user-portability

Conversation

@ysys143

@ysys143 ysys143 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

#189(Brev stop은 타입별) 후속. 개발 트랙을 stoppable 사양으로 옮기려면 부트스트랩이 shadeform 유저 가정을 벗어나야 한다. crusoe a100-80gb.1x에서 end-to-end 검증 완료.

변경

BOOT_USER="${SUDO_USER:-$(id -un)}"
USER_HOME="$(getent passwd "$BOOT_USER" | cut -d: -f6)"
: "${USER_HOME:?cannot resolve a home directory for user $BOOT_USER}"

여기서 파생: 홈, repo 경로, PG role/database. 마지막 것이 핵심이다 — psql-U/-d 없이 OS 유저명을 role·db 양쪽에 쓰므로, role 이름이 다르면 박스는 멀쩡해 보이는데 모든 psqlFATAL: role "<user>" does not exist로 죽는다. (실제로 1차 시도에서 홈만 고치고 role을 놓쳐 정확히 그 상태가 됐다.)

주석도 갱신: 헤더의 "Brev A100은 stop 미지원" → 타입별 서술 + stoppable 사양 운용, IDX=/tmp 근거의 전제("a Brev VM is disposable")가 stoppable 사양에선 거짓이므로 재서술.

crusoe 검증 (2026-08-14)

role/db를 지운 초기 상태에서 수정본 실행 → 완주, 그리고 수동 개입 없이:

role: ubuntu / db: ubuntu
psql -tAc 'SELECT current_user, current_database()'  →  ubuntu|ubuntu

부수 실측(문서에 반영): stop ~1분 / start ~38초, 루트 디스크 전체 보존(/opt·/home·/ephemeral), /tmp만 소실. /tmp 소실은 데몬 소켓엔 무해하나 인덱스 아티팩트를 날려 PG 카탈로그와 불일치를 만들고, costestimate의 no_artifact 게이트가 걸려 조용히 seqscan으로 폴백한다 — REINDEX 또는 per-index WITH (index_dir=...)로 대응. 데몬 기본 --index-dir는 test/sql 38파일이 /tmp/cuvs_indexes를 하드코딩하므로 그대로 둔다.

하위호환 (미검증 명시)

shadeform 박스에서 ${SUDO_USER:-$(id -un)}shadeform으로 해석되어 기존과 동일 동작이다. 다만 massedcompute에서 실행 검증은 하지 않았다(과금) — 다음 벤치 세션이 실검증이 된다.

문서

  • .claude/skills/gpu-vm-provision/SKILL.md — 미검증 캐빗을 crusoe 실측표로 대체(유저·OS·GPU PCIe·디스크·stop/start 소요·보존 범위) + /tmp 운용 주의.
  • infra/brev/README.md — 같은 정정, "provider/user differs" 절을 "유저는 수정 불요, systemd 없는 컨테이너만 수정 필요"로.

bash -n + docs-contract-check.sh 통과.

@ysys143
ysys143 merged commit 8b73d65 into main Aug 14, 2026
2 checks passed
@ysys143
ysys143 deleted the docs/bootstrap-user-portability branch August 14, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant