Skip to content

PointSav Documentation

The engineering library for the PointSav platform — operating systems and services for regulated businesses that own their data, their AI, and their record-keeping outright. Where the monorepo holds the code, this wiki holds the reasoning: architecture, services, security, and the governance commitments that bind future development.

Configurar un espacio de nombres de tenant

Requisitos previos

  • Acceso de administrador a la máquina que ejecuta service-vm-tenant (puerto 9221 por defecto)
  • Un ID de tenant: una cadena estable en ASCII minúsculas que identifica al cliente (p. ej. acme-corp)
  • Valores de cuota acordados con el tenant: máximo de VMs concurrentes, RAM máxima

Propósito

Añada un espacio de nombres de tenant a service-vm-tenant de la manera en que el servicio realmente lo soporta hoy — editando su configuración de entorno y reiniciándolo. No existe ninguna API de registro en tiempo de ejecución; el aprovisionamiento se basa en configuración.

Procedimiento

  1. Añada el tenant a la lista de permitidos. TENANT_IDS es una lista simple separada por comas de IDs de tenant — no lleva datos de cuota en sí misma:

    TENANT_IDS=acme-corp,tenant-existente
    
  2. Establezca las cuotas del nuevo tenant como variables de entorno separadas por tenant, nombradas poniendo en mayúsculas el ID del tenant:

    TENANT_ACME_CORP_MAX_VMS=10
    TENANT_ACME_CORP_MAX_RAM_MB=16384
    

    Ambas son opcionales — si se omiten, tienen valores predeterminados de 5 VMs y 8192 MB.

  3. Establezca un token de autenticación para el tenant. service-vm-tenant usa un token Bearer simple, no un token de capacidad firmado:

    TOKEN_MAP=<un-token-generado>:acme-corp
    

    Advertencia: si TOKEN_MAP se deja sin establecer por completo, el servicio recae en un modo inseguro explícitamente registrado en el log donde el token bearer literalmente es el ID del tenant (Authorization: Bearer acme-corp autentica como ese tenant, sin necesidad de ningún secreto). Establezca TOKEN_MAP para cualquier uso más allá de pruebas locales.

  4. Reinicie service-vm-tenant para cargar la nueva configuración. No hay recarga en caliente, ni endpoint de administración, ni actualización de configuración basada en señales — TENANT_IDS y las variables por tenant se leen exactamente una vez, al iniciar el proceso.

Resultado esperado

service-vm-tenant reconoce las solicitudes que llevan el token del nuevo tenant, limita automáticamente cada respuesta a las propias VMs de ese tenant, y aplica las cuotas que estableció.

Verificación

Confirme que el tenant es reconocido y vea su uso actual en una sola llamada:

curl -s http://127.0.0.1:9221/v1/status \
  -H "Authorization: Bearer <token-de-acme-corp>"

Esto devuelve tenant_id, vms_running, ram_used_mb, max_vms y max_ram_mb — un endpoint real y funcional de uso de cuota.

Confirme el aislamiento listando las VMs — no hay ningún filtro de tenant suministrado por el cliente; el servidor limita los resultados a cualquier tenant con el que autentique el token Bearer:

curl -s http://127.0.0.1:9221/v1/vms \
  -H "Authorization: Bearer <token-de-acme-corp>"

Confirme la aplicación de cuotas intentando exceder max_vms o max_ram_mb mediante POST /v1/vms. Ambos límites se aplican de forma síncrona, antes de que la solicitud llegue al controlador de la flota, y devuelven 429 Too Many Requests con un cuerpo de texto plano que describe el límite.

Reversión

Elimine el ID del tenant de TENANT_IDS (y su entrada en TOKEN_MAP, si está establecida) y reinicie el servicio. Las VMs existentes que el tenant posee no se destruyen automáticamente — desasígnelas explícitamente primero mediante DELETE /v1/vms/:vm_id si esa es la intención, ya que un tenant eliminado simplemente pierde la capacidad de autenticarse, no sus recursos en ejecución.

Próximos pasos

Véase también

Cite this record: /wiki/configure-tenant-namespace — revision 9b9339a2, last updated 6 August 2026.

Important Information

Estructura corporativa. PointSav Digital Systems ("PointSav") es actualmente un nombre comercial de Woodfine Capital Projects Inc. ("Woodfine"), con previsión de convertirse en una subsidiaria de propiedad absoluta de Woodfine tras su incorporación. PointSav no ofrece, vende ni solicita por sí mismo valor alguno. Toda oferta de valores asociada a las soluciones inmobiliarias de tenencia directa de Woodfine se realiza exclusivamente por parte de Woodfine, y únicamente por medio del Memorando de Colocación Privada aplicable.

Sin asesoramiento de inversión. El contenido de este wiki se ofrece con fines de ingeniería, operativos, de investigación y de desarrollo. Nada de lo que figura en este wiki constituye asesoramiento de inversión ni una solicitud para invertir en ninguna sociedad o solución de tenencia directa de Woodfine.

Propiedad intelectual. El nombre, el nombre comercial, el logotipo y las marcas de PointSav, junto con todos los productos, servicios y ofertas actuales y futuros de las marcas PointSav y Totebox — así como el software, el código fuente, la documentación, el sistema de diseño y todos los materiales relacionados — son propiedad de Woodfine y sus filiales, salvo los componentes identificados como de código abierto. No se otorga ningún derecho salvo el expresamente establecido en una licencia o acuerdo por escrito. El aviso de marcas completo aparece en el pie de página de cada página de este sitio.

Componentes de código abierto. Algunas partes de la plataforma se ofrecen bajo licencias de código abierto permisivas identificadas en el repositorio correspondiente. El uso de esos componentes se rige por los términos de sus respectivas licencias.

Sin garantía; uso informativo. El contenido de este wiki se ofrece únicamente con fines informativos generales y no constituye una declaración, garantía ni compromiso respecto de la funcionalidad, disponibilidad, precio o hoja de ruta de ningún producto. Algunos artículos describen características, capacidades e hitos planificados o previstos — el lenguaje como "planificado", "previsto", "objetivo", "puede" y "esperado" marca este contenido prospectivo, que está sujeto a cambios y no constituye un compromiso respecto del rendimiento futuro.

Confidencialidad. Cuando un artículo describiría un detalle operativo o de implementación no destinado a divulgación pública, ese artículo no se publica en este wiki. El contenido aquí es documentación de ingeniería de uso general, no configuración específica de clientes.

Jurisdicción. Woodfine Capital Projects Inc. está constituida en Columbia Británica, Canadá. Las referencias a la Sovereign Data Foundation en este wiki describen una iniciativa planificada o prevista únicamente, no una titular de capital actual ni un órgano de gobierno activo.

Cambios a este aviso. PointSav podrá actualizar este aviso periódicamente; rige la versión publicada en esta página.

No es un sistema de presentación de documentos. Este wiki no es un sistema de presentación de valores, un repositorio de divulgación electrónica ni un sustituto de SEDAR+ ni de ningún otro sistema de presentación regulatorio. Las presentaciones formales de valores se realizan a través del sistema de presentación regulatorio correspondiente, no a través de este wiki.

Descargo completo. Este aviso complementa, y no sustituye, el artículo completo de Avisos Legales. En caso de cualquier conflicto, prevalece el artículo de Avisos Legales.

Read the full disclaimer →