프로젝트
Kisenon의 격리 단위 — 명명, 수명 주기, 그리고 캐스케이드 의미론.
프로젝트는 Kisenon의 최상위 컨테이너입니다. 모든 브랜치, 엔드포인트, 역할, 데이터베이스는 정확히 하나의 프로젝트 아래에 있습니다.
프로젝트가 소유하는 것
- 프로젝트 생성 시점에 자동 생성되는
main브랜치. - 이 프로젝트로 범위가 지정된 카피온라이트 스토리지. 다른 어떤 프로젝트도 그 페이지를 읽을 수 없습니다.
- 생성 시 고정된 Postgres 메이저 버전.
- 리전. 생성 시점에 고르며 프로젝트의 수명 동안 고정됩니다. 고를 수 있는 리전은 카탈로그에 나열되어 있습니다.
프로젝트 격리
스토리지, WAL, 캐시는 프로젝트별로 분할됩니다. 프로젝트 간에 공유되는 쓰기 경로가 없습니다. 서로 다른 프로젝트의 엔드포인트는 컴퓨트 파드가 같은 노드에 스케줄링되더라도 서로의 스토리지에 도달할 수 없습니다 — 프로젝트별 네트워크 정책과 스토리지 인증 토큰이 모든 페이지 요청을 게이팅합니다.
이것이 컴플라이언스와 시끄러운 이웃 격리를 위해 신뢰할 수 있는 경계입니다. 프로젝트 내 브랜치 경계는 더 부드럽습니다: 브랜치는 스토리지를 공유하고 분기할 때까지 부모의 페이지를 상속합니다.
명명
프로젝트 이름은 사용자에게 보이는 레이블입니다. 이름은:
- 1–63자여야 합니다.
^[a-zA-Z][a-zA-Z0-9_-]*$와 일치해야 합니다. 문자, 숫자,_,-; 문자로 시작해야 합니다.- 전역적으로 고유할 필요는 없습니다. 당신의 조직 내에서 고유하면 충분합니다.
내부 프로젝트 id(prj_<24 hex>)가 다른 모든 리소스가 참조하는 것입니다.
레이블은 사람을 위한 것입니다.
Postgres 버전
생성 시 메이저 버전을 고릅니다. 기본값은 17입니다. 한번 설정되면
제자리에서 변경할 수 없습니다 — 메이저 버전 업그레이드는 도입될 때
문서화할 대역 외 마이그레이션입니다. 현재로서는 버전을 불변으로
취급하세요.
생성
웹 콘솔에서 새 프로젝트를 클릭하고, 이름을 입력하고, Postgres 메이저 버전을 고르고, 리전을 선택하세요(드롭다운은 **자동(가장 가까운 곳)**으로 기본 설정됩니다). 생성을 클릭하세요. CLI에서:
keon projects create --name my-app --pg-version 17컨트롤 플레인은 스토리지를 프로비저닝하고, main 브랜치를 생성하며,
프로젝트 id를 반환합니다. 엔드 투 엔드로 일반적으로 2초 미만이 걸립니다.
삭제
프로젝트를 삭제하면 그것이 소유한 모든 리소스로 캐스케이드됩니다:
- 모든 브랜치의 모든 엔드포인트가 중지되고 제거됩니다.
- 모든 브랜치가 철거됩니다.
- 프로젝트의 스토리지가 언로드되고 그 데이터는 비동기 컴팩션과 객체 스토리지에서의 최종 제거를 위해 대기열에 들어갑니다.
캐스케이드는 되돌릴 수 없습니다. 삭제 취소가 없으며, 캐스케이드가 시작된
후에는 콘솔에서 스토리지 아티팩트를 복구할 수 없습니다. 데이터가 중요하다면
삭제 전에 논리적 덤프(pg_dump)를 받으세요.
keon projects delete <project-id>CLI는 확인을 요청합니다. 스크립팅 시 건너뛰려면 --yes를 전달하세요.