kisenon

Projekte

Die Isolationseinheit in Kisenon — Benennung, Lebenszyklus und Kaskaden-Semantik.

Ein Projekt ist der oberste Container in Kisenon. Jeder Branch, Endpoint, jede Rolle und Datenbank lebt unter genau einem Projekt.

Was ein Projekt besitzt

  • Einen main-Branch, automatisch zur Projekterstellungszeit erstellt.
  • Copy-on-Write-Speicher, auf dieses Projekt beschränkt. Kein anderes Projekt kann seine Pages lesen.
  • Die zur Erstellung gepinnte Postgres-Hauptversion.
  • Eine Region. Heute lebt jedes Projekt in der einzigen Home-Cluster-Region (USA, Bare Metal); Multi-Region ist Roadmap.

Projektisolation

Speicher, WAL und Caches sind pro Projekt partitioniert; es gibt keinen gemeinsamen Schreibpfad zwischen Projekten. Endpoints aus verschiedenen Projekten können den Speicher des jeweils anderen nicht erreichen, selbst wenn ihre Compute-Pods auf demselben Node eingeplant sind — die projektbezogene Netzwerkrichtlinie und das Speicher-Authentifizierungs-Token sichern jede Page-Anfrage ab.

Dies ist die Grenze, auf die Sie sich für Compliance und Noisy-Neighbour- Isolation verlassen können. Branch-Grenzen innerhalb eines Projekts sind weicher: Branches teilen sich Speicher und erben die Pages des Parents, bis sie divergieren.

Benennung

Projektnamen sind benutzersichtbare Labels. Sie:

  • Müssen 1–63 Zeichen lang sein.
  • Matchen ^[a-zA-Z][a-zA-Z0-9_-]*$. Buchstaben, Ziffern, _, -; müssen mit einem Buchstaben beginnen.
  • Müssen nicht global eindeutig sein; eindeutig innerhalb Ihrer Organisation reicht.

Die interne Projekt-ID (prj_<24 hex>) ist es, worauf jede andere Ressource verweist. Das Label ist für Menschen.

Postgres-Version

Sie wählen die Hauptversion zur Erstellungszeit. Der Standard ist 17. Einmal gesetzt, kann sie nicht an Ort und Stelle geändert werden — ein Hauptversions-Upgrade ist eine Out-of-Band-Migration, die wir dokumentieren werden, wenn sie landet. Für die Alpha behandeln Sie die Version als unveränderlich.

Erstellen

Klicken Sie in der Web-Konsole auf New project, geben Sie einen Namen ein, wählen Sie die Postgres-Hauptversion und wählen Sie eine Region (das Dropdown ist standardmäßig auf Auto (nearest) gesetzt). Klicken Sie auf Create. Aus der CLI:

keon projects create --name my-app --pg-version 17

Die Control Plane stellt Speicher bereit, erstellt den main- Branch und gibt die Projekt-ID zurück. End-to-End dauert dies typischerweise unter zwei Sekunden.

Löschen

Das Löschen eines Projekts kaskadiert durch jede Ressource, die es besitzt:

  1. Alle Endpoints auf jedem Branch werden gestoppt und entfernt.
  2. Alle Branches werden abgebaut.
  3. Der Speicher des Projekts wird entladen und seine Daten für asynchrone Kompaktierung und eventuelle Entfernung aus dem Object-Storage in die Warteschlange gestellt.

Die Kaskade ist unumkehrbar. Es gibt kein Undelete, und die Speicher- Artefakte sind nach Beginn der Kaskade nicht aus der Konsole wiederherstellbar. Nehmen Sie einen logischen Dump (pg_dump) vor dem Löschen, wenn die Daten wichtig sind.

keon projects delete <project-id>

Die CLI fordert eine Bestätigung an; geben Sie --yes an, um sie beim Skripten zu überspringen.

Verwandtes