kisenon

프로젝트

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초 미만이 걸립니다.

삭제

프로젝트를 삭제하면 그것이 소유한 모든 리소스로 캐스케이드됩니다:

  1. 모든 브랜치의 모든 엔드포인트가 중지되고 제거됩니다.
  2. 모든 브랜치가 철거됩니다.
  3. 프로젝트의 스토리지가 언로드되고 그 데이터는 비동기 컴팩션과 객체 스토리지에서의 최종 제거를 위해 대기열에 들어갑니다.

캐스케이드는 되돌릴 수 없습니다. 삭제 취소가 없으며, 캐스케이드가 시작된 후에는 콘솔에서 스토리지 아티팩트를 복구할 수 없습니다. 데이터가 중요하다면 삭제 전에 논리적 덤프(pg_dump)를 받으세요.

keon projects delete <project-id>

CLI는 확인을 요청합니다. 스크립팅 시 건너뛰려면 --yes를 전달하세요.

관련 문서