kisenon

Projets

L'unité d'isolation dans Kisenon — nommage, cycle de vie et sémantique de cascade.

Un projet est le conteneur de plus haut niveau dans Kisenon. Chaque branche, endpoint, rôle et base de données vit sous exactement un projet.

Ce que possède un projet

  • Une branche main branche, auto-créée au moment de la création du projet.
  • Un stockage copy-on-write limité à ce projet. Aucun autre projet ne peut lire ses pages.
  • La version majeure de Postgres épinglée à la création.
  • Une région. Aujourd'hui, chaque projet vit dans l'unique région home-cluster (US, bare metal) ; le multi-région est sur la feuille de route.

Isolation des projets

Le stockage, le WAL et les caches sont partitionnés par projet ; il n'y a aucun chemin d'écriture partagé entre projets. Les endpoints de projets différents ne peuvent pas atteindre le stockage des autres même si leurs pods de calcul sont planifiés sur le même nœud — la politique réseau par projet et le jeton d'authentification de stockage filtrent chaque requête de page.

C'est la frontière sur laquelle vous pouvez compter pour la conformité et l'isolation des voisins bruyants. Les frontières de branche au sein d'un projet sont plus souples : les branches partagent le stockage et héritent des pages du parent jusqu'à ce qu'elles divergent.

Nommage

Les noms de projet sont des libellés visibles par l'utilisateur. Ils :

  • Doivent faire 1 à 63 caractères.
  • Correspondent à ^[a-zA-Z][a-zA-Z0-9_-]*$. Lettres, chiffres, _, - ; doivent commencer par une lettre.
  • Ne sont pas tenus d'être globalement uniques ; uniques au sein de votre organisation suffit.

L'id interne de projet (prj_<24 hex>) est ce que référence toute autre ressource. Le libellé est pour les humains.

Version de Postgres

Vous choisissez la version majeure à la création. Le défaut est 17. Une fois définie, elle ne peut pas être changée en place — la mise à niveau de version majeure est une migration hors-bande que nous documenterons quand elle arrivera. Pour l'alpha, traitez la version comme immuable.

Créer

Depuis la console web, cliquez sur New project, saisissez un nom, choisissez la version majeure de Postgres et choisissez une région (la liste déroulante a pour défaut Auto (nearest)). Cliquez sur Create. Depuis la CLI :

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

Le plan de contrôle provisionne le stockage, crée la branche main et renvoie l'id du projet. De bout en bout, cela prend généralement moins de deux secondes.

Supprimer

Supprimer un projet cascade à travers chaque ressource qu'il possède :

  1. Tous les endpoints de chaque branche sont arrêtés et supprimés.
  2. Toutes les branches sont démantelées.
  3. Le stockage du projet est déchargé et ses données sont mises en file pour une compaction asynchrone et un retrait éventuel du stockage objet.

La cascade est irréversible. Il n'y a pas d'annulation de suppression, et les artefacts de stockage ne sont pas récupérables depuis la console une fois la cascade commencée. Faites un dump logique (pg_dump) avant de supprimer si les données comptent.

keon projects delete <project-id>

La CLI demande confirmation ; passez --yes pour l'ignorer lors du scripting.

Liens connexes