프로젝트
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를 전달하세요.