kisenon

プロジェクト

Kisenon における分離の単位 — 命名、ライフサイクル、カスケードのセマンティクス。

プロジェクト は、Kisenon における最上位のコンテナです。すべてのブランチ、エンドポイント、 ロール、データベースは、正確に 1 つのプロジェクトの下に存在します。

プロジェクトが所有するもの

  • プロジェクト作成時に自動作成される main ブランチ
  • このプロジェクトにスコープされたコピーオンライトストレージ。他のどのプロジェクトもそのペー ジを読めません。
  • 作成時に固定された Postgres メジャーバージョン。
  • リージョン。現在、すべてのプロジェクトは単一のホームクラスタリージョン (米国、ベアメタル)に存在します。マルチリージョンはロードマップです。

プロジェクトの分離

ストレージ、WAL、キャッシュはプロジェクトごとに分割され、プロジェクト間に共有の書き込み パスはありません。異なるプロジェクトのエンドポイントは、たとえそれらのコンピュートポッドが 同じノードにスケジュールされていても、互いのストレージに到達できません。プロジェクトごとの ネットワークポリシーとストレージ認証トークンが、すべてのページリクエストをゲートします。

これは、コンプライアンスと騒がしい隣人の分離のために頼れる境界です。プロジェクト内のブランチ 境界はより緩やかです。ブランチはストレージを共有し、分岐するまで親のページを継承します。

命名

プロジェクト名はユーザーに見えるラベルです。次のとおりです。

  • 1〜63 文字でなければなりません。
  • ^[a-zA-Z][a-zA-Z0-9_-]*$ に一致します。英字、数字、_-。英字で始まらなければなりませ ん。
  • グローバルに一意である必要はありません。組織内で一意であれば十分です。

内部のプロジェクト id(prj_<24 hex>)が、他のすべてのリソースが参照するものです。ラベルは 人間向けです。

Postgres バージョン

作成時にメジャーバージョンを選びます。デフォルトは 17 です。いったん設定すると、その場で変更 することはできません。メジャーバージョンのアップグレードは帯域外のマイグレーションであり、導入 されたときに文書化します。アルファでは、バージョンは不変として扱ってください。

作成

Web コンソールから、New project をクリックし、名前を入力し、Postgres メジャーバージョンを 選び、リージョン を選びます(ドロップダウンはデフォルトで Auto (nearest))。 Create をクリックします。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 を渡してください。

関連