Proyectos
La unidad de aislamiento en Kisenon — nombres, ciclo de vida y semántica de cascada.
Un proyecto es el contenedor de nivel superior en Kisenon. Cada rama, endpoint, rol y base de datos vive bajo exactamente un proyecto.
Qué posee un proyecto
- Una rama
main, autocreada en el momento de creación del proyecto. - Almacenamiento copy-on-write limitado a este proyecto. Ningún otro proyecto puede leer sus páginas.
- La versión mayor de Postgres fijada en la creación.
- Una región. Hoy cada proyecto vive en la única región de clúster doméstico (EE. UU., bare metal); el multirregión está en la hoja de ruta.
Aislamiento del proyecto
El almacenamiento, el WAL y las cachés se particionan por proyecto; no hay ruta de escritura compartida entre proyectos. Los endpoints de diferentes proyectos no pueden alcanzar el almacenamiento de los demás aunque sus pods de cómputo estén programados en el mismo nodo — la política de red por proyecto y el token de autenticación de almacenamiento restringen cada solicitud de página.
Este es el límite en el que puede confiar para el cumplimiento normativo y el aislamiento de vecinos ruidosos. Los límites de rama dentro de un proyecto son más blandos: las ramas comparten almacenamiento y heredan las páginas del padre hasta que divergen.
Nombres
Los nombres de proyecto son etiquetas visibles para el usuario. Ellos:
- Deben tener 1–63 caracteres.
- Coincidir con
^[a-zA-Z][a-zA-Z0-9_-]*$. Letras, dígitos,_,-; deben empezar con una letra. - No se requiere que sean globalmente únicos; único dentro de su organización es suficiente.
El id interno del proyecto (prj_<24 hex>) es lo que referencia cualquier
otro recurso. La etiqueta es para los humanos.
Versión de Postgres
Usted elige la versión mayor en el momento de la creación. El predeterminado
es 17. Una vez establecida, no puede cambiarse en el sitio — la
actualización de versión mayor es una migración fuera de banda que
documentaremos cuando llegue. Para la alpha, trate la versión como
inmutable.
Crear
Desde la consola web, haga clic en New project, introduzca un nombre, elija la versión mayor de Postgres y elija una región (el desplegable usa por defecto Auto (nearest)). Haga clic en Create. Desde la CLI:
keon projects create --name my-app --pg-version 17El plano de control aprovisiona el almacenamiento, crea la rama main y
devuelve el id del proyecto. De principio a fin esto normalmente tarda
menos de dos segundos.
Eliminar
Eliminar un proyecto hace cascada a través de cada recurso que posee:
- Todos los endpoints en cada rama se detienen y eliminan.
- Todas las ramas se desmontan.
- El almacenamiento del proyecto se descarga y sus datos se ponen en cola para compactación asíncrona y eliminación eventual del almacenamiento de objetos.
La cascada es irreversible. No hay deshacer eliminación, y los artefactos
de almacenamiento no son recuperables desde la consola una vez que la
cascada empieza. Tome un volcado lógico (pg_dump) antes de eliminar si
los datos importan.
keon projects delete <project-id>La CLI pide confirmación; pase --yes para omitirla al hacer scripting.
Relacionado
- Ramas — hijos copy-on-write de un proyecto.
- Endpoints — frontends de Postgres que se adjuntan a una rama.
- Cadenas de conexión — formato de cable.