Ir al contenido

Credenciales por connector

Esta lista se extrae de los manifests de los connectors. Los nombres tienen que coincidir exactamente. Una clave con un nombre distinto produce el mismo síntoma que una clave ausente: el connector sale del served set en silencio, con una línea connector not served en el log de boot como única señal.

No se necesita ninguna credencial para que el runner arranque. Cada connector es lazy: una clave ausente solo hace que esas operaciones respondan auth_error.

datadog, grafana y signoz son mutuamente excluyentes. Consulta Backend de observabilidad.

Clave Obligatoria
DD_API_KEY sí
DD_APP_KEY sí
DD_SITE no. datadoghq.eu, us3, us5, ap1 según la organización
Clave Obligatoria
GRAFANA_CLOUD_TOKEN sí
GRAFANA_PROM_URL sí. Mimir es la columna vertebral
GRAFANA_PROM_USER no. El ID numérico de la instancia; sin él, el token se envía como Bearer
GRAFANA_LOKI_URL, GRAFANA_LOKI_USER no
GRAFANA_TEMPO_URL, GRAFANA_TEMPO_USER no
GRAFANA_STACK_URL no. API de Alerting
GRAFANA_SYNTHETICS_URL no
GRAFANA_SERVICE_LABEL, GRAFANA_ENV_LABEL, GRAFANA_NAMESPACE_LABEL, GRAFANA_HOST_LABEL, GRAFANA_ROUTE_LABEL no, pero ajústalas si tus labels no siguen la convención

Autoalojado: el endpoint suele ser interno, alcanzable porque el runner corre dentro de tu red. Requiere la API query_range v5. Sirve metrics, logs, traces, topology y monitors, pero no sirve rum ni synthetics.

Clave Obligatoria
SIGNOZ_ENDPOINT sí. Ej.: http://signoz.observability.svc.cluster.local:8080
SIGNOZ_API_KEY sí. Service account, header SIGNOZ-API-KEY
SIGNOZ_SERVICE_FIELD, SIGNOZ_ENV_FIELD, SIGNOZ_NAMESPACE_FIELD, SIGNOZ_HOST_FIELD, SIGNOZ_ROUTE_FIELD no. Valores por defecto de la semconv de OTel; ajústalos si tu instrumentación difiere

Especialista en synthetics. Cuando está presente, toma la capability del provider general que esté configurado.

Clave Obligatoria
CHECKLY_API_KEY sí
CHECKLY_ACCOUNT_ID en la práctica, para un token de usuario. Sin él, la API responde 401 sin decir por qué. Innecesario para un token de cuenta o de servicio.
Clave Obligatoria
AWS_ACCESS_KEY_ID sí, en modo static
AWS_SECRET_ACCESS_KEY sí, en modo static
AWS_SESSION_TOKEN no. Credenciales temporales de STS
AWS_REGION no según el manifest, pero obligatoria para la atestación aws-sts

Con RUNNER_AWS_CRED_MODE=chain no se inyecta ninguna clave: la cadena por defecto la resuelve. Consulta Credenciales de nube.

Acoplado a AWS: reutiliza exactamente las mismas claves AWS_*. No hay una credencial separada.

Además está EKS_CLUSTER, fuera del manifest, que se lee del entorno. Sin ella, el health check responde skipped: no cluster configured.

Clave Obligatoria
GCP_SA_KEY sí, en modo static. El JSON de la service account en una sola línea. Innecesaria en chain.
GCP_PROJECT_ID no
GCP_REGION no
GCP_BILLING_EXPORT_TABLE no. Sin ella, la operación de costos de GCP falla de forma explícita
Clave Obligatoria
GITHUB_TOKEN sí. La lectura alcanza; el alcance de escritura es opcional (ver abajo)

GitHub es el único connector de código con una operación de escritura: create_github_issue, que abre un issue en tu repositorio. Es opcional, y la que decide es la credencial: un token de solo lectura hace que la operación falle dentro de tu infraestructura, y la tool desaparece de la superficie del agente. No hay flag porque no hace falta: el alcance del token ya es el interruptor. No existe ninguna otra escritura en GitHub: ni pull request, ni branch, ni workflow, ni secret. Consulta Lo que escribe el agente.

Ortogonal a GitHub: crea sus propias operaciones y no le disputa la propiedad de ninguna.

Clave Obligatoria
VERCEL_TOKEN sí. Usa un token de solo lectura limitado al equipo
VERCEL_TEAM_ID en la práctica, para un token de equipo. Sin él, la API responde 403 sin explicar. Ausente en una cuenta personal.

Ortogonal tanto a GitHub como a Vercel: crea sus propias operaciones y no le disputa la propiedad de ninguna a ninguno de los dos. El servidor suele ser interno a tu clúster, y WhyStack lo alcanza porque corre ahí dentro.

Clave Obligatoria
ARGOCD_SERVER_URL sí. Ej.: https://argocd-server.argocd.svc.cluster.local
ARGOCD_TOKEN sí. Cuenta local con RBAC de solo lectura, vía argocd account generate-token

WhyStack lee los rollbacks, nunca los dispara: ni sync, ni rollback, ni terminate, ni delete. Tampoco pide nunca refresh, que es un parámetro de lectura de la API de Argo CD con efecto de escritura: fuerza la reconciliación en tu clúster. Un token con RBAC de solo lectura es el interruptor que lo garantiza desde tu lado; consulta Alcances y permisos.

Clave Obligatoria
SONARQUBE_HOST sí
SONARQUBE_TOKEN sí
Clave Obligatoria
AMPLITUDE_API_KEY sí
AMPLITUDE_SECRET_KEY sí
AMPLITUDE_TZ_OFFSET_MINUTES no

AMPLITUDE_TZ_OFFSET_MINUTES es el desfase de la zona horaria del proyecto de Amplitude respecto de UTC, en minutos (BRT = -180). La API lee las fechas de la ventana como YYYYMMDD en la zona horaria del proyecto, y no expone cuál es. Sin el desfase, en un proyecto en BRT toda lectura entre las 21:00 y las 00:00 hora local cae en el día siguiente: el número vuelve correcto para la pregunta equivocada. Ausente = UTC.

Las operaciones de usuario y de session replay de Amplitude son las que pasan por la capa estructural de redacción de PII. Consulta Redacción de PII.

Una alternativa a Amplitude, no un complemento: las dos sirven las mismas operaciones, así que la que decide es RUNNER_ANALYTICS=amplitude|mixpanel (por defecto, amplitude). Consulta Backend de observabilidad.

Clave Obligatoria
MIXPANEL_SERVICE_ACCOUNT sí. Service account del proyecto, con la forma <name>.<id>.mp-service-account
MIXPANEL_SERVICE_SECRET sí
MIXPANEL_PROJECT_ID sí. Con service account no es opcional
MIXPANEL_REGION no. eu o in para residencia de datos. Cambia el host
MIXPANEL_ACTIVE_USER_EVENT no, pero sin ella “usuarios activos” no tiene respuesta (ver abajo)

Mixpanel sirve 8 de las 16 operaciones de analytics. Las demás no están pendientes: no existe una API de Boards, e Insights solo responde por bookmark de reporte guardado. Las tools correspondientes desaparecen de la superficie del agente en lugar de responder vacío.

Tres operaciones usan endpoints que Mixpanel declara en modo de mantenimiento (segmentación, embudos y el stream de actividad). Se siguen sirviendo, y la respuesta lo dice. La alternativa que recomienda la propia Mixpanel, Insights, solo responde por reporte guardado y por eso no cubre consultas ad hoc.

La Query API tiene un tope de 60 consultas por hora y 5 concurrentes, por proyecto.

Clave Obligatoria
MONGO_URI sí
Clave Obligatoria
CLOUDFLARE_API_TOKEN sí
Clave Obligatoria
AZION_TOKEN sí. Atención: no es AZION_API_TOKEN

Los únicos connectors con operaciones de escritura: seis en total, todas cubiertas por confirmación humana en dos capas. Consulta Modelo de seguridad.

Clave Obligatoria
JIRA_HOST sí
JIRA_EMAIL sí
JIRA_API_TOKEN sí
Clave Obligatoria
SLACK_BOT_TOKEN sí

La clave tiene que entrar en dos listas, o nunca llegará al contenedor:

  1. docker-compose.yml, en la lista environment: (pass-through, nombre a secas sin =).
  2. runner.secrets.env.example, para quien usa el fallback por archivo.

La prueba apps/runner/tests/connectors/env-surface.test.ts falla si olvidas cualquiera de las dos.