Servicio
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
SERVER_ADDRESS | Ambos | Dirección de escucha, como :4000. | — | Sí |
ENV_NAME | Ambos | Nombre del entorno, como production, staging o local. Define el nivel de log predeterminado. | — | No |
LOG_LEVEL | Ambos | Nivel de log: debug, info, warn o error. Un valor no válido detiene el arranque. | info cuando ENV_NAME es production, staging o uat. debug en los demás casos. | No |
DEPLOYMENT_MODE | Ambos | Modo de despliegue, como byoc o saas. Con saas, el componente no arranca a menos que REDIS_TLS sea true y AUTHORIZER_ADDRESS use https://. | local | No |
SWAGGER_ENABLED | Auth | Sirve el documento OpenAPI de Auth. | true | No |
HEALTH_PORT | Ambos | Puerto del listener interno de health, de 1 a 65535. Sirve /readyz, /health, /version y /metrics. Sin él, el componente no tiene endpoint de readiness. Los puertos principales mantienen /health y /version. Un valor no válido detiene el arranque. Mantén este puerto fuera del ingress público. Consulta Salud y readiness. | — | Para los probes de readiness |
SHUTDOWN_DRAIN_DELAY | Ambos | Tiempo que el componente sigue atendiendo después de una señal de parada, como una duración de Go, por ejemplo 15s. Un valor negativo o no válido detiene el arranque. | 15s en un pod de Kubernetes. 0 en los demás casos. | No |
SHUTDOWN_TIMEOUT | Ambos | Tiempo total de los pasos de apagado que siguen al retraso de drenaje, como una duración de Go positiva. Un valor no válido detiene el arranque. | 30s | No |
Conexión con Caradhras
Lee Caradhras en Access Manager para saber cómo los dos componentes usan el backend de identidad.| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
AUTHORIZER_ADDRESS | Ambos | URL base de Caradhras. Auth no arranca con una dirección http:// a menos que ENV_NAME sea development, staging o local. Con PLUGIN_AUTH_ENABLED=true, Identity tampoco arranca cuando AUTH_M2M_JWKS_URL, o esta dirección cuando esa variable no está definida, usa http:// con un host distinto de localhost, a menos que ENV_NAME sea development, staging o local. | — | Sí |
AUTHORIZER_CLIENT_ID | Ambos | Client ID de la aplicación de Caradhras que usa Access Manager. | — | Sí |
AUTHORIZER_CLIENT_SECRET | Ambos | Client secret de esa aplicación. Sensible. | — | Sí |
AUTHORIZER_APPLICATION_NAME | Ambos | Nombre de esa aplicación en Caradhras. | — | Sí |
AUTHORIZER_ORGANIZATION_NAME | Ambos | Organización de Caradhras de una instalación single-tenant. | lerian | No |
MULTI_TENANT_ENABLED | Ambos | Habilita el modo multi-tenant. Auth no arranca cuando PLUGIN_AUTH_SSO_STATIC_ORGANIZATION también está definida. | false | No |
AUTHORIZER_JWT_CERTIFICATE | Ambos | Certificado, en PEM, que verifica la firma de los tokens que emite Caradhras. Sin él, el componente usa el certificado incluido en la imagen. Un valor inutilizable detiene el arranque. | — | No |
Llamadas a Caradhras
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
HTTP_CLIENT_TIMEOUT_SEC | Ambos | Segundos que puede durar una llamada a Caradhras. | 30 | No |
HTTP_CLIENT_MAX_IDLE_CONNS | Ambos | Conexiones inactivas que se mantienen abiertas. | 100 | No |
HTTP_CLIENT_MAX_IDLE_CONNS_PER_HOST | Ambos | Conexiones inactivas que se mantienen abiertas hacia un host. | Auth: 10. Identity: 100. | No |
HTTP_CLIENT_IDLE_CONN_TIMEOUT_SEC | Ambos | Segundos antes de que el componente cierre una conexión inactiva. | 90 | No |
CIRCUIT_BREAKER_ENABLED | Ambos | Activa el circuit breaker en las llamadas a Caradhras. | true | No |
CIRCUIT_BREAKER_CONSECUTIVE_FAILURES | Ambos | Fallas consecutivas que abren el breaker. | 5 | No |
CIRCUIT_BREAKER_FAILURE_RATIO | Ambos | Proporción de llamadas fallidas que abre el breaker, como 0.5. | 0.5 | No |
CIRCUIT_BREAKER_MIN_REQUESTS_FOR_RATIO | Ambos | Llamadas que deben ocurrir antes de que se aplique la proporción de fallas. | 10 | No |
CIRCUIT_BREAKER_INTERVAL_SEC | Ambos | Segundos después de los cuales el breaker cerrado reinicia sus conteos. | 60 | No |
CIRCUIT_BREAKER_TIMEOUT_SEC | Ambos | Segundos que el breaker queda abierto antes de volver a probar Caradhras. | 30 | No |
CIRCUIT_BREAKER_MAX_REQUESTS_HALF_OPEN | Ambos | Llamadas permitidas mientras el breaker vuelve a probar Caradhras. | 3 | No |
CIRCUIT_BREAKER_HEALTH_CHECK_INTERVAL_SEC | Ambos | Segundos entre las verificaciones de salud de Caradhras. | 30 | No |
CIRCUIT_BREAKER_HEALTH_CHECK_TIMEOUT_SEC | Ambos | Segundos que puede durar una verificación de salud. | 10 | No |
Inicio de sesión
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
MFA_ENABLED | Auth | Declara que esta instalación usa autenticación multifactor. Con true y un MFA_SECRET vacío, Auth registra un error en el arranque. Lee Requisitos de despliegue de MFA. | false | No |
MFA_SECRET | Auth | Secreto con el que Auth firma los tokens de inicio de sesión con MFA y con passkey. Sin él, esos inicios de sesión responden 503 con AUT-0028. Sensible. | — | Con MFA o passkeys |
MFA_SESSION_TTL_SEC | Auth | Segundos durante los que una sesión de MFA sigue válida. | 300 | No |
MFA_MAX_ATTEMPTS | Auth | Verificaciones de código MFA fallidas permitidas para un usuario. | 5 | No |
MFA_MAX_RESEND_ATTEMPTS | Auth | Nuevos códigos MFA que un usuario puede pedir. | 3 | No |
PASSKEY_RECENT_AUTH_SEC | Identity | Antigüedad máxima, en segundos, del token de quien llama para agregar o eliminar una passkey. Lee Passkeys. | 600 | No |
PLUGIN_AUTH_SSO_CALLBACK_URL | Ambos | Dirección del callback de SSO de Console, adonde el proveedor de identidad devuelve el navegador. Usa el mismo valor en Auth y en Identity. Auth no arranca cuando el valor está definido y no es una URL http o https absoluta con una ruta. Lee Requisitos de despliegue de SSO. | — | Con SSO |
PLUGIN_AUTH_SSO_STATIC_ORGANIZATION | Auth | Organización de Caradhras para cada inicio de sesión SSO de una instalación single-tenant. Sin ella, Auth encuentra la organización a partir del correo del usuario. | — | No |
PLUGIN_AUTH_SSO_PREFLIGHT_ALLOW_INSECURE | Identity | Con true, la verificación previa de SSO puede llamar a un proveedor de identidad por http://. Identity registra una advertencia en el arranque mientras está activa. | false | No |
PLUGIN_AUTH_SSO_ALLOW_PRIVATE_NETWORKS | Identity | Con true, la verificación previa de SSO y el descubrimiento de un proveedor de identidad pueden alcanzar direcciones de red privada. Identity registra una advertencia en el arranque mientras está activa. | false | No |
ENABLE_FORGOT_PASSWORD | Identity | Con true, Identity sirve las dos rutas de restablecimiento de contraseña. Con false o sin valor, responden 404. | false | No |
Primer administrador de la Console
En modo single-tenant, cuando defines cualquiera de estas variables, Identity le pide a Caradhras, una sola vez, que cree el primer administrador de la Console: el usuarioadmin en la organización de la instalación, en el grupo admin-group. Caradhras registra que el paso se ejecutó. Eliminar usuarios después nunca vuelve a crear al administrador. Identity no informa listo hasta que Caradhras acepte la solicitud. El modo multi-tenant no ejecuta este paso.
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
ADMIN_PASSWORD | Identity | Contraseña del primer administrador de la Console. Caradhras rechaza una contraseña que no cumpla sus reglas de contraseña. Una instalación en la que Caradhras ya ejecutó el paso no la necesita. Sensible. | — | En la primera ejecución |
ADMIN_EMAIL | Identity | Dirección de correo electrónico de ese administrador. | admin@midaz.tech | No |
ADMIN_DISPLAY_NAME | Identity | Nombre para mostrar de ese administrador. | Admin | No |
Protección de la API de Identity
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
PLUGIN_AUTH_ENABLED | Identity | Con true y una dirección de Auth, Identity envía el token de quien llama a Auth para la verificación de permisos en sus rutas protegidas. De lo contrario, Identity no llama a Auth. | false | No |
PLUGIN_AUTH_ADDRESS | Identity | Dirección de Auth. | — | Con PLUGIN_AUTH_ENABLED=true |
AUTH_REQUIRED | Identity | Con true, las rutas protegidas de Identity responden 503 cuando PLUGIN_AUTH_ENABLED no es true o PLUGIN_AUTH_ADDRESS está vacío. Lee Aplicación a nivel de producto. | false | No |
AUTH_M2M_JWKS_URL | Identity | Dirección del conjunto de claves que usa Identity para verificar tokens de aplicación. Sin ella, Identity usa AUTHORIZER_ADDRESS seguido de /.well-known/jwks. | — | No |
AUTH_M2M_JWKS_REFRESH_INTERVAL | Identity | Con qué frecuencia Identity vuelve a cargar ese conjunto de claves, como una duración, por ejemplo 5m. | 5m | No |
AUTH_JWKS_CACHE_TTL | Auth | Cuánto tiempo guarda Auth el conjunto de claves de Caradhras que sirve a otros servicios de Lerian, como una duración, por ejemplo 5m. | 5m | No |
MAX_PAGINATION_LIMIT | Identity | Mayor limit que acepta una solicitud de listado. | 100 | No |
MAX_PAGINATION_PAGE | Identity | Mayor page que acepta una solicitud de listado. | 1000000 | No |
Red
Lee Requisitos de despliegue (BYOC) y Lista de IP permitidas del tenant antes de definir estas variables.| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
TRUSTED_PROXIES | Ambos | Rangos CIDR de los proxies delante del componente, separados por comas. Un valor mal formado detiene el arranque. | — | No |
PLATFORM_INTERNAL_CIDRS | Ambos | Rangos CIDR desde los que los servicios de la propia plataforma llaman a Caradhras, separados por comas. Usa el mismo valor en Auth, Identity y Caradhras. Un valor mal formado detiene el arranque. | — | No |
Rate limits
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
RATE_LIMIT_ENABLED | Ambos | Activa los rate limits. | false | No |
RATE_LIMIT_MAX | Ambos | Solicitudes que una dirección de cliente puede hacer en una ventana. | 100 | No |
RATE_LIMIT_WINDOW_SEC | Ambos | Duración de esa ventana, en segundos. | 60 | No |
RATE_LIMIT_AUTH_MAX | Auth | Solicitudes por ventana en las rutas de token, refresh, logout, SSO, MFA e inicio de sesión con passkey. | 10 | No |
RATE_LIMIT_AUTH_WINDOW_SEC | Auth | Duración de esa ventana, en segundos. | 60 | No |
RATE_LIMIT_PERMISSION_MAX | Auth | Solicitudes por ventana en /v1/authorize, /v1/permissions y /v1/userinfo. | 60 | No |
RATE_LIMIT_PERMISSION_WINDOW_SEC | Auth | Duración de esa ventana, en segundos. | 60 | No |
RATE_LIMIT_REDIS_TIMEOUT_MS | Ambos | Milisegundos que una verificación de rate limit espera a Valkey. | 500 | No |
Valkey
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
REDIS_HOST | Ambos | Dirección de Valkey como host:port. Con varias direcciones separadas por comas, el componente se conecta a un clúster, o a Sentinel cuando REDIS_MASTER_NAME está definido. | — | Sí |
REDIS_MASTER_NAME | Ambos | Nombre del master de Sentinel. | — | Con Sentinel |
REDIS_PASSWORD | Ambos | Contraseña de Valkey. Sensible. | — | No |
REDIS_DB | Ambos | Número de base de datos. | 0 | No |
REDIS_PROTOCOL | Ambos | Versión del protocolo RESP. | 3 | No |
REDIS_TLS | Ambos | Se conecta a Valkey por TLS. Sin él, el componente rechaza la conexión, salvo que ALLOW_INSECURE_REDIS o ALLOW_INSECURE_TLS sea true. | false | Con DEPLOYMENT_MODE=saas |
ALLOW_INSECURE_REDIS | Ambos | Permite la conexión a Valkey sin TLS. El componente registra una advertencia al arrancar. | false | No |
ALLOW_INSECURE_TLS | Ambos | Mismo efecto que ALLOW_INSECURE_REDIS en la conexión a Valkey. | false | No |
REDIS_CA_CERT | Ambos | Certificado de la CA para esa conexión TLS, en PEM base64. | — | No |
REDIS_USE_GCP_IAM | Ambos | Se autentica en Valkey con el IAM de Google Cloud en lugar de una contraseña. | false | No |
REDIS_SERVICE_ACCOUNT | Ambos | Cuenta de servicio de Google para la autenticación por IAM. | — | Con IAM |
GOOGLE_APPLICATION_CREDENTIALS | Ambos | Credenciales de Google para la autenticación por IAM. Sensible. | — | Con IAM |
REDIS_TOKEN_LIFETIME | Ambos | Vigencia del token de IAM, en minutos. | 60 | No |
REDIS_TOKEN_REFRESH_DURATION | Ambos | Minutos entre las renovaciones del token de IAM. Mantenlo por debajo de REDIS_TOKEN_LIFETIME. | 45 | No |
REDIS_SCAN_COUNT | Ambos | Claves que lee cada paso de escaneo cuando el componente borra entradas del caché por patrón. | 100 | No |
Caché de Auth
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
CACHE_TTL_ACCESS_TOKEN | Auth | Segundos durante los que Auth guarda un access token emitido en su caché. | 300 | No |
CACHE_TTL_USER_INFO | Auth | Máximo de segundos durante los que Auth guarda el perfil de un usuario en su caché. | 900 | No |
CACHE_TTL_USER_PERMISSIONS | Auth | Máximo de segundos durante los que Auth guarda los permisos de un usuario en su caché. Auth usa como máximo 60. | 1800 | No |
CACHE_TTL_ORG_PERMISSIONS | Auth | Segundos durante los que Auth guarda los permisos de una organización en memoria. | 15 | No |
CACHE_LOADER_TIMEOUT_ORG_PERMISSIONS | Auth | Segundos que Auth espera a Caradhras cuando carga los permisos de una organización. | 10 | No |
CACHE_MAX_ENTRIES_ORG_PERMISSIONS | Auth | Organizaciones que admite el caché en memoria. | 1024 | No |
Licencia
Lee License Manager para la clave.| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
LICENSE_KEY | Ambos | Tu clave de licencia de Lerian. Vale para toda la instalación. El componente obtiene con ella un archivo de licencia firmado y lo mantiene solo en memoria, así que cada inicio lo obtiene de nuevo. Renueva el archivo cada 6 horas y, tras una renovación fallida, aproximadamente cada hora. Mientras el servicio de licencias no responde en el inicio, el componente sigue en pie, sin disponibilidad, y reintenta. Un rechazo en el inicio lo detiene. Una renovación fallida no lo detiene. Se detiene cuando el archivo que mantiene llega a su hora de parada, o cuando se revoca la licencia. Sensible. | — | Sí, a menos que LICENSE_FILE_PATH esté definida |
LICENSE_FILE_PATH | Ambos | Ruta de un archivo de licencia firmado que Lerian emite. Cuando está definida, el componente usa el archivo sin llamada de red e ignora LICENSE_KEY. Un archivo que el componente rechaza detiene el inicio. | — | No |
Telemetría
| Variable | Componente | Descripción | Valor predeterminado | Obligatoria |
|---|---|---|---|---|
ENABLE_TELEMETRY | Ambos | Envía trazas, métricas y logs por OpenTelemetry. | false | No |
OTEL_EXPORTER_OTLP_ENDPOINT | Ambos | Dirección del colector de OpenTelemetry. | — | Con telemetría |
OTEL_RESOURCE_SERVICE_NAME | Ambos | Nombre del servicio en la telemetría. | Auth: plugin-auth. Identity: plugin-identity. | No |
OTEL_RESOURCE_DEPLOYMENT_ENVIRONMENT | Ambos | Etiqueta de entorno en la telemetría. | — | No |
OTEL_LIBRARY_NAME | Ambos | Nombre de instrumentación en la telemetría y en los logs. | — | No |
Descubrimiento de servicios
Los dos componentes leen las variables compartidas de descubrimiento de serviciosSD_* en Configuración esencial de BYOC. Con el descubrimiento activo, Auth e Identity encuentran Caradhras por medio de Consul, e Identity también encuentra Auth. Cuando el descubrimiento no da respuesta, usan AUTHORIZER_ADDRESS y PLUGIN_AUTH_ADDRESS.
