Fastlane
Arranca un entorno completo de evaluación o laboratorio de Lamassu en un clúster Kubernetes existente.
Despliega con Fastlane
Fastlane es el camino automatizado para evaluaciones, demos, CI y pequeños clústeres de laboratorio. Instala PostgreSQL, Keycloak, RabbitMQ, Envoy Gateway y Lamassu, y los configura para trabajar juntos.
Para producción, usa Helm para mantener explícitas las decisiones de base de datos, identidad, credenciales, certificados, almacenamiento y upgrades.
Qué añade Fastlane
Fastlane cubre algunas de las dependencias que el chart de aplicación deja deliberadamente fuera:
| Fastlane instala o configura | Tú sigues proporcionando |
|---|---|
| Instancias de PostgreSQL, RabbitMQ y Keycloak para evaluación | El clúster Kubernetes, sus nodos y el almacenamiento persistente |
Envoy Gateway 1.8 y la GatewayClass eg | cert-manager, accesibilidad desde la red externa, DNS y reglas de firewall/NAT |
| Un flujo de certificado self-signed para Lamassu, credenciales generadas para las dependencias y un usuario inicial | Confianza de los clientes en la CA self-signed, o un certificado de confianza pasado al script |
| Componentes opcionales de observabilidad y HSM de laboratorio | Retención de monitorización, backups, HA y un HSM/servicio de claves de producción |
Fastlane no convierte el stack en un servicio de producción: no crea el clúster, DNS público, reglas de firewall, backups, alta disponibilidad ni un certificado público de confianza.
Antes de comenzar
Necesitas:
- un clúster Kubernetes existente
kubectly Helm, o la CLI de MicroK8syq- cert-manager
jqsolo si usas--sample-datao--developmentssh-keygensolo si usas--with-hsm- los puertos externos 80 y 443 libres en un host K3s de un único nodo
Fastlane detecta MicroK8s, K3s, kind o un kubeconfig estándar. Usa --context cuando el clúster deseado no sea el contexto actual.
Comprueba qué clúster está seleccionado
Fastlane instala varios componentes y crea credenciales. Comprueba kubectl config current-context o pasa --context antes de ejecutarlo.
Inicio rápido
Ejecuta el script desde un clon del repositorio Helm:
git clone https://github.com/lamassuiot/lamassu-helm.git
cd lamassu-helm
./scripts/lamassu-fast-lane.sh \
--non-interactive \
--namespace lamassu-dev \
--domain pki.example.com \
--local-chart-path ./charts/lamassuCrea un registro DNS para el dominio elegido antes de probar desde otra máquina. En una VM pequeña, apúntalo a la dirección de la VM o del balanceador que realmente recibe los puertos 80 y 443.
Selección de la dirección del Gateway
Por defecto, Fastlane ejecuta hostname -I y escribe las direcciones devueltas en gateway.addresses y en los SAN IP del certificado self-signed.
En una VM de laboratorio con una única interfaz puede seleccionar la dirección esperada. En hosts con Docker, VPN, WireGuard o varias interfaces también puede elegir direcciones inaccesibles para los clientes. Sobrescribe el resultado:
./scripts/lamassu-fast-lane.sh \
--non-interactive \
--domain pki.example.com \
--gateway-ip 192.168.1.50El valor debe ser una dirección gestionada en el lado Kubernetes de la ruta. Si una IP pública de EC2 reenvía tráfico por WireGuard, pasa la dirección accesible de la VM o clúster, no la IP pública de EC2.
Consulta Expón el Gateway para los conflictos de puertos de K3s, VIP, NAT externo y diseños con varios Gateways.
Opciones de línea de comandos
| Opción | Valor predeterminado | Propósito |
|---|---|---|
-h, --help | — | Muestra la ayuda |
-c, --context | contexto actual | Selecciona el contexto de kubeconfig para kubectl y Helm |
-n, --non-interactive | false | Omite prompts y genera credenciales para las dependencias |
-ns, --namespace | lamassu-dev | Namespace de la instalación |
-d, --domain | dev.lamassu.io | Dominio usado por la UI, OIDC y el certificado |
-v, --version | latest | Versión del chart de Lamassu |
--https-port | 443 | Puerto del listener HTTPS |
--http-port | 80 | Puerto del listener HTTP |
--tls-crt | — | Certificado PEM para TLS downstream |
--tls-key | — | Clave privada PEM para TLS downstream |
-l, --local-chart-path | chart del repositorio | Usa un chart local de Lamassu sin empaquetar |
-ip, --gateway-ip | detección automática | Sobrescribe la dirección escrita en gateway.addresses |
--otel | false | Instala Victoria Logs, VictoriaTraces, Jaeger y un OpenTelemetry Collector |
--development | false | Modo desarrollo: provisiona completamente el usuario lamassu de Keycloak (contraseña fija lamassu/lamassu, sin pasos en el primer inicio) y permite al cliente frontend aceptar cualquier redirect URI u origen web. No es para producción |
--sample-data | false | Crea CA, perfiles, certificados, DMS y dispositivos de ejemplo |
--with-hsm | false | Instala componentes HSM de laboratorio y configura KMS con PKCS#11 |
--softhsm-chart-path | ./charts/softhsm | Usa otro chart local de SoftHSM |
Fastlane no ofrece un modo offline. Para entornos sin conexión, usa el flujo manual con Helm y prepara un registro y mirror de charts.
Modo de desarrollo
--development ajusta el realm lamassu de Keycloak que genera Fastlane para un entorno de evaluación desechable:
- el usuario
lamassuqueda completamente provisionado (nombre Lamassu, apellido Admin, emaillamassu@lamassu.io, verificado): no hay pasos de perfil ni de cambio de contraseña en el primer inicio de sesión - la contraseña conocida
lamassu/lamassues fija y permanente: no se rota nunca y concede el rolpki-admin, incluidos tokens no interactivos a través del clientefrontend - el cliente
frontendacepta cualquier redirect URI y cualquier origen web (*) en lugar de los patrones/*originales
El modo de desarrollo no es para producción
Con --development, la contraseña fija lamassu/lamassu concede acceso pki-admin a cualquiera que alcance la instalación. No lo uses nunca en nada expuesto más allá de una máquina de desarrollo o de un host accesible por red.
--development se aplica cuando el realm lamassu se importa por primera vez. No modifica un clúster existente. Puede combinarse con --sample-data: la transformación de desarrollo se ejecuta primero y después se añaden los datos de ejemplo a la misma configuración del realm.
Qué configura el script
Fastlane:
- valida las herramientas locales y el clúster seleccionado
- instala o actualiza Envoy Gateway 1.8 y crea la
GatewayClasseg - crea el namespace
- instala PostgreSQL y crea las bases de datos necesarias
- instala Keycloak y crea el realm
lamassu, el cliente frontend, el rol administrador y el usuario inicial - instala RabbitMQ
- instala opcionalmente observabilidad y componentes HSM de laboratorio
- genera
lamassu.yamle instala el chart de Lamassu - carga datos de ejemplo opcionalmente
La configuración generada expone Keycloak en /auth a través del mismo Gateway y provisiona al usuario inicial lamassu como superadministrador de Lamassu.
Comportamiento TLS
Al proporcionar --tls-crt y --tls-key, Fastlane crea el Secret downstream-provided-crt y configura tls.type: external.
Sin ellos, configura cert-manager con un emisor self-signed. Es adecuado para laboratorio, pero los clientes no confiarán en él hasta que distribuyas la CA. Usa Helm si necesitas un Issuer corporativo, un emisor ACME público o un Secret existente gestionado por otro sistema.
Credenciales y archivos generados
El modo no interactivo genera contraseñas aleatorias para los administradores de PostgreSQL, RabbitMQ y Keycloak. El acceso inicial a Lamassu es lamassu / lamassu y obliga a cambiar la contraseña en el primer uso, salvo que se haya usado --development: en ese caso la contraseña permanece fija y permanente.
Fastlane escribe lamassu.yaml en el directorio actual e incluye credenciales en él.
Fastlane es una herramienta de bootstrap
Protege el archivo de valores generado, guarda las credenciales en un almacén de secretos apropiado y no reutilices la configuración de identidad de evaluación en producción.
Verifica la instalación
kubectl get pods -n lamassu-dev
kubectl get gateway,httproute -n lamassu-dev
kubectl get service -A
helm test lamassu -n lamassu-dev --logsAbre https://pki.example.com e inicia sesión con el usuario inicial. Si el Gateway está programado pero la URL no es accesible, sigue las comprobaciones de Expón el Gateway.