--tenant nombrando la misma instancia para ambos instaladores, y qué aporta --vhost. Esta página
es la misma información reunida en una única ejecución, para el momento en que realmente tienes un
segundo cliente que añadir.
Nada de aquí se comparte con los tenants ya presentes en el host salvo los paquetes, Java, Node y
el propio PostgreSQL — consulta Qué necesita cada instancia por su
cuenta. Un tenant nuevo
obtiene su propia base de datos, sus propios puertos, sus propios tokens operacionales y su propia
elección de cuenta de servicio.
1
Elige el nombre y el diseño
Una palabra, usada de forma idéntica en ambos instaladores — es lo que permite a Dos diseños, elige uno:
update
encontrar más tarde la instancia correcta sin que vuelvas a teclear rutas.Recurre a
--vhost cuando la cuenta SSH o SFTP propia del tenant ya vive bajo /home — es lo
que aísla el gateway de los archivos de esa cuenta, no simplemente una ruta distinta. Consulta Un
virtualhost.2
Reserva los puertos
Cada tenant existente en el host ya ocupa un puerto SMPP, un puerto HTTP y un puerto de ops.
Escoge un rango con el que el nuevo no pueda chocar:
3
Su propia base de datos
Un tenant, una base de datos — nunca un esquema compartido con las filas de otro tenant.No se requiere un rol separado por tenant — un solo rol
fireflo puede ser propietario de varias
bases de datos — pero implica que una credencial filtrada de un tenant no puede leer la de otro.
Consulta La base de datos.4
Instalar el gateway
--vhost /home/$TENANT --user $TENANT — ambos, por las
advertencias del paso 1.Pregunta primero y te muestra cada decisión antes de escribir nada — añade --yes solo cuando
confíes en la respuesta que imprimiría. --bootstrap escribe lo mínimo que necesita una base de
datos nueva: una tabla de enrutamiento default, una tabla MESSAGE vacía, un listener SMPP, un
login. Su contraseña generada se imprime una sola vez; captúrala.Los flags aceptan valores separados por espacio.
--vhost=/home/$TENANT es rechazado como
opción desconocida en lugar de ser parseado, en ambos instaladores.fireflo-install.5
Verifica antes de añadir nada
El código de salida 4 aquí es esperado y correcto: el despliegue está bien, simplemente no
tiene todavía a dónde enrutar. Se convierte en 0 una vez que existan un proveedor y una regla, en
el paso siguiente — consulta Primera
configuración.
6
Instalar el panel
--vhost /home/$TENANT --user $TENANT y apunta
--gateway-conf-dir a /home/$TENANT/gateway/conf. Instala el panel después del gateway — lee
ese directorio.Tres cosas que resuelve por sí mismo a partir de --gateway-conf-dir: ambos tokens
operacionales, la METRICS_DATABASE_URL de solo lectura y la URL de ops — que construye a partir
del FIREFLO_OPS_PORT registrado de ese gateway, de modo que un --ops-port no predeterminado
no requiere un segundo flag aquí.7
TLS por delante, un origen por tenant
El panel habla HTTP plano en
--port (por defecto 3000, y debe ser único por tenant en un
host compartido — pasa uno explícitamente para cada tenant después del primero). Pon nginx o
equivalente por delante, terminando TLS en un hostname propio de este tenant:--public-url arriba debe coincidir exactamente con server_name — se escribe como AUTH_URL,
y sin ella un cierre de sesión redirige a localhost independientemente de lo que reenvíe el
proxy. Consulta TLS por delante.8
Termina la configuración
bootstrap deja fuera deliberadamente un proveedor y una tarifa — nadie más puede adivinar las
credenciales de un proveedor, y un precio inventado factura en silencio donde uno ausente aparece
sin precio. Añade ambos, luego una regla de enrutamiento que nombre al proveedor, luego el primer
login de cliente de este tenant — en ese orden, y por qué, en Primera
configuración.9
Envía uno, como haría un cliente
200 significa aceptado, cobrado y encolado — observa el registro de llamada en el panel de
este tenant para el resultado de la entrega.Qué es genuinamente nuevo frente a lo compartido
Relacionado
Varias instancias en un mismo host
El mecanismo que implementan
--tenant y --vhost, y la garantía de que update es una búsqueda.Primera configuración, en orden
Qué escribe
bootstrap y el orden que hace que el resto tenga sentido.