Configuración

identity-svc

Variables de entorno que lee identity-svc.

ImplementadoSin versión del tren todavía· generada desde scripts/docs/env.schema.ts

Página generada desde scripts/docs/env.schema.ts. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

56 variables.

VariableQué controlaDefectoMarcasLa leen
DATABASE_PASSWORDContraseña de PostgreSQL. Se une a DATABASE_URL al arrancar; en producción la URL no puede llevar contraseña embebida.—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
DATABASE_URLURL de PostgreSQL del servicio (usuario del servicio, sin contraseña).—obligatoriacatalog-svc, cli, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
IDENTITY_ACCESS_TOKEN_TTL_SVida de un access token de identity-svc, en segundos.900—identity-svc
IDENTITY_ADMIN_SUBJECTSSujetos OIDC (lista separada por comas) con rol admin (roles desde config, TS2-P3-05).——identity-svc
IDENTITY_ALLOWED_RETURN_ORIGINSOrígenes (separados por comas) a los que identity-svc permite volver tras el login.—obligatoriaidentity-svc
IDENTITY_BFF_ACCESS_TOKEN_TTL_SVida del access token que el BFF de la web obtiene para una sesión de navegador, en segundos. No puede superar el máximo del código.el máximo de MAX_BFF_ACCESS_TOKEN_TTL_S—identity-svc
IDENTITY_BROWSER_ROTATE_SCada cuánto rota la sesión de navegador (cookie __Host-), en segundos.900—identity-svc
IDENTITY_CSRF_KEYClave del token CSRF de las sesiones de navegador (dec-0118).—obligatoria, secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
IDENTITY_DEVICE_ACCESS_TOKEN_TTL_SVida del access token de un dispositivo del device grant (RFC 8628), en segundos. Sin valor, la de IDENTITY_ACCESS_TOKEN_TTL_S.——identity-svc
IDENTITY_DEVICE_CODE_IP_MAXCódigos de dispositivo (POST /auth/device/code, anónimo) que una IP puede pedir por ventana.10—identity-svc
IDENTITY_DEVICE_CODE_IP_WINDOW_SVentana, en segundos, de IDENTITY_DEVICE_CODE_IP_MAX.600—identity-svc
IDENTITY_DEVICE_CODE_TTL_SVida, en segundos, de un código de dispositivo antes de aprobarse (un solo uso).600—identity-svc
IDENTITY_DEVICE_INTERVAL_SIntervalo mínimo de sondeo del dispositivo, en segundos (RFC 8628 §3.2); sondear más rápido da slow_down.5—identity-svc
IDENTITY_DEVICE_MAX_PENDINGPeticiones de dispositivo pendientes máximas en toda la instalación; al llegar, 503 con Retry-After.1000—identity-svc
IDENTITY_DEVICE_VERIFICATION_URIverification_uri del device grant: la página /link de la web. Sin valor, el primer origen de IDENTITY_ALLOWED_RETURN_ORIGINS más /link.——identity-svc
IDENTITY_DIRECT_CLIENTStrue si identity-svc recibe a los clientes sin proxy delante (la IP del socket cuenta). Alternativa a IDENTITY_TRUSTED_PROXIES (TS2-P2-02).——identity-svc
IDENTITY_DISABLED_SUBJECTSSujetos OIDC (separados por comas) bloqueados: no pueden iniciar sesión.——identity-svc
IDENTITY_INVITE_CREATE_RATE_LIMIT_MAXInvitaciones que un actor puede crear por hora.20—identity-svc
IDENTITY_INVITE_MAX_ACTIVEInvitaciones activas (sin usar, sin caducar, sin revocar) a la vez.100—identity-svc
IDENTITY_INVITE_MAX_TTL_SVida máxima de una invitación, en segundos.604800—identity-svc
IDENTITY_LOGIN_TTL_SPlazo para completar un login OIDC iniciado, en segundos.600—identity-svc
IDENTITY_MAX_DEVICE_SESSIONS_PER_ACTORSesiones de dispositivo (CLI, TV) vivas por actor; tope aparte del de navegador: al superarlo cae el dispositivo más antiguo, nunca una sesión de navegador.5—identity-svc
IDENTITY_MAX_SESSIONS_PER_ACTORSesiones de navegador vivas por actor; la más antigua se revoca al superar el tope (los dispositivos tienen su propio tope).10—identity-svc
IDENTITY_MEMBER_SUBJECTSSujetos OIDC (separados por comas) con rol member.——identity-svc
IDENTITY_OWNER_SUBJECTSSujetos OIDC (separados por comas) con rol owner.——identity-svc
IDENTITY_PAT_ACCESS_TOKEN_TTL_SVida, en segundos, del access token que se canjea por una API key (POST /auth/token). No puede superar 300.300—identity-svc
IDENTITY_PAT_DEFAULT_TTL_SCaducidad por defecto de una API key personal, en segundos (obligatoria: no hay «nunca caduca»).2592000—identity-svc
IDENTITY_PAT_MAX_ACTIVEAPI keys vivas máximas por cuenta.20—identity-svc
IDENTITY_PAT_MAX_TTL_SCaducidad máxima de una API key personal, en segundos.7776000—identity-svc
IDENTITY_PROXY_PROOFPrueba que el proxy de entrada añade a cada petición hacia identity-svc: sin ella, X-Forwarded-For no cuenta (TS3-P2-01).—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
IDENTITY_PUBLIC_URLOrigen público de identity-svc (sin path). Es el issuer de los tokens que emite.—obligatoriaidentity-svc
IDENTITY_RATE_LIMIT_MAXPeticiones por ventana y cliente en /auth/*.30—identity-svc
IDENTITY_RATE_LIMIT_WINDOW_SVentana del rate-limit de /auth/*, en segundos.60—identity-svc
IDENTITY_REFRESH_GRACE_SMargen en el que un refresh token ya rotado sigue valiendo (peticiones concurrentes), en segundos.10—identity-svc
IDENTITY_ROLE_SOURCEDe dónde sale el rol de una identidad no listada (dec-0125 §5.3): config+db (default) deja que su invitación le dé member; config la deja restricted.config+db—identity-svc
IDENTITY_SESSION_IDLE_TTL_SInactividad máxima de una sesión, en segundos. No puede superar IDENTITY_SESSION_MAX_TTL_S.2592000—identity-svc
IDENTITY_SESSION_MAX_TTL_SVida máxima absoluta de una sesión, en segundos.7776000—identity-svc
IDENTITY_SESSION_RATE_LIMIT_MAXPeticiones por ventana y sesión (bucket por sesión además del de cliente).600—identity-svc
IDENTITY_SIGNING_KEYClave privada (PEM, Ed25519) con la que identity-svc firma los JWT (EdDSA).—obligatoria, secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
IDENTITY_TRUSTED_PROXIESIPs o CIDR (separados por comas) de los proxies de confianza delante de identity-svc. En producción exige IDENTITY_PROXY_PROOF.——identity-svc
NATS_URLURL del servidor NATS del bus (spire, dec-0120).nats://localhost:4222—@styx/bus, catalog-svc, identity-svc, media-daemon (daemon), playback-svc, realtime-svc, sources-svc, web, workers-svc
NODE_ENVproduction activa las reglas de producción: secretos sólo por _FILE, sin contraseñas en URLs, detalle de validación mínimo y NKey obligatoria.——@styx/bus, @styx/observability, @styx/service-http, catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
OIDC_CLIENT_IDClient id de identity-svc en el IdP OIDC (Pocket ID u otro).—obligatoriaidentity-svc
OIDC_CLIENT_SECRETClient secret de identity-svc en el IdP. Opcional: sin él, cliente público con PKCE.—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
OIDC_ISSUERURL del issuer OIDC (descubrimiento en /.well-known/openid-configuration).—obligatoriaidentity-svc
OIDC_SCOPESScopes pedidos al IdP, separados por espacios.openid profile email—identity-svc
OTEL_INGEST_TOKENToken con el que los servicios y el daemon se autentican contra el colector OTel. El daemon lo lee de OTEL_INGEST_TOKEN_FILE; en claro lo rechaza.—secreto (_FILE)@styx/observability, catalog-svc, identity-svc, media-daemon (daemon), playback-svc, realtime-svc, sources-svc, web, workers-svc
PORTPuerto HTTP del servicio.catalog 3000 · playback 3001 · sources 3002 · realtime 3003 · workers 3004 · identity 3005—catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, workers-svc
SPIRE_NATS_NKEY_SEEDSemilla NKey del usuario NATS del servicio (ACL por servicio generada de BUS_ROUTES). Obligatoria en producción.—secreto (_FILE)@styx/bus, catalog-svc, identity-svc, media-daemon (daemon), playback-svc, realtime-svc, sources-svc, web, workers-svc
SPIRE_SEEDSemilla de la identidad de spire del servicio: firma los sobres del bus.—obligatoria, secreto (_FILE)@styx/bus, catalog-svc, identity-svc, media-daemon (daemon), playback-svc, realtime-svc, sources-svc, web, workers-svc
STYX_DB_RUNTIME_ROLERol PostgreSQL sólo DML con el que corre el servicio; el paso de migración le concede permisos. El runtime nunca migra.——catalog-svc, identity-svc, sources-svc
STYX_SCT_SIGNING_KEYSemilla Ed25519 (base64url) con la que playback-svc firma las SCT.—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
STYX_WEB_PROXY_PROOFPrueba que el proxy de entrada añade a las peticiones hacia la web.—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
TELEMETRY_PSEUDONYM_KEYClave HMAC con la que la telemetría pseudonimiza los ids de actor (styx.actor.pseudo_id, dec-0135 §D7). Sin ella, ningún id de actor ni su pseudónimo sale en trazas ni logs.—secreto (_FILE)@styx/observability, catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
VALKEY_PASSWORDContraseña de Valkey (sesiones y rate-limit de identity-svc).—secreto (_FILE)catalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc
VALKEY_URLURL de Valkey (sin contraseña).—obligatoriacatalog-svc, identity-svc, playback-svc, realtime-svc, sources-svc, web, workers-svc