Ir al contenido

Requisitos

Ítem Versión Para qué
Node.js ≥ 20 Compilar y probar los paquetes. El campo engines del repositorio lo exige.
Docker cualquiera reciente Correr el runner en un contenedor. La imagen es node:22-alpine.
npm 10+ Los workspaces del repositorio.

No necesitas Node instalado para correr el runner en contenedor: solo para compilar los paquetes o desarrollar connectors.

El Agent es la mitad “manos”. Por sí solo arranca, se conecta y espera: sin un control-plane escuchando en el túnel, no hace nada útil. Antes de instalar, ten a mano:

  • La dirección de la imagen y la autorización de pull para tu cuenta o proyecto.
  • La URL del túnel (RUNNER_TUNNEL_URL), en producción: wss://tunnel.whystack.ai:8443.
  • El certificado de tu tenant: runner.crt, runner.key y ca.pem.

Los tres los entrega WhyStack cuando se abre tu entorno.

El runner necesita egress, y solo egress. Ningún puerto de entrada.

Siempre:

  • tunnel.whystack.ai:8443 (WSS + mTLS), el túnel.
  • El registry del que viene la imagen (ECR o Artifact Registry), en el pull.

Según los connectors que habilites (solo los que uses):

Connector Host de salida
datadog api.datadoghq.com
github api.github.com
aws, kubernetes *.amazonaws.com, *.eks.amazonaws.com
gcp *.googleapis.com
amplitude amplitude.com
slack slack.com
cloudflare api.cloudflare.com
azion api.azion.com
vercel api.vercel.com
checkly api.checklyhq.com
grafana los endpoints de tus datasources (Mimir, Loki, Tempo, stack)
mongo, sonarqube, jira tus propios hosts, que indicas en la configuración

Este repositorio no publica cifras de CPU ni de memoria, porque aquí no hay un benchmark versionado, e inventar uno sería peor que omitirlo. Lo que la construcción sí permite afirmar:

  • El proceso es un proceso Node de un solo contenedor, sin worker pool.
  • La caché SQLite es :memory: por defecto, así que la memoria crece con el volumen de estado aprendido durante la sesión y se reinicia en cada boot.
  • RUNNER_IDEMPOTENCY_MAX_ENTRIES (por defecto 2000) limita la caché de idempotencia a propósito, para que un runner de vida larga no crezca sin techo.

Empieza pequeño, observa, ajusta. El runner es cattle: redimensionar es levantar otro.

Ninguna es obligatoria para arrancar. Cada connector es lazy, se instancia en el primer uso, así que una clave faltante solo hace que esas operaciones respondan auth_error; todo lo demás sigue funcionando. La lista completa está en Credenciales por connector.

El Profiler tiene sus propios requisitos, y más exigentes

Sección titulada «El Profiler tiene sus propios requisitos, y más exigentes»

Todo lo anterior es sobre el Agent. El WhyStack Profiler es un segundo artefacto, opcional y privilegiado, y lo que exige del host no se superpone con esta página: kernel ≥ 5.8 con BTF compilado, cgroup v2, tracefs montado y cinco capabilities de kernel.

Esas barreras rechazan hosts que nadie espera ver rechazados, así que se verifican antes de la POC y no durante: curl -O https://docs.whystack.ai/profiler-preflight.sh && sh profiler-preflight.sh. El script se publica completo en la página del Profiler, para que se pueda leer antes de ejecutarlo.