Migrar desde RootPilot
A partir de la versión 1.29.0, el Agent y el Profiler usan el nombre WhyStack en todo lo que definen, no solo en el texto: imagen, nombres de Kubernetes, variables, hostnames, comando de salud. Una instalación hecha con una versión anterior sigue funcionando al pasar a la imagen nueva, gracias a los fallbacks de Lo que sigue funcionando por ahora. Son temporales: reinstala con los nombres nuevos.
Qué cambia
Sección titulada «Qué cambia»| Qué | Antes | Desde la 1.29.0 |
|---|---|---|
| Imagen del Agent | <address>/rootpilot-agent |
<address>/whystack-agent |
| Imagen del Profiler | <address>/rootpilot-profiler |
<address>/whystack-profiler |
| Ruta en Artifact Registry | <project>/rootpilot/rootpilot-agent |
<project>/whystack/whystack-agent |
| Identidad de la firma (cosign) | github.com/sunnysystems/rootpilot-edge/... |
github.com/sunnysystems/whystack-edge/... |
| Control-plane (enrollment) | https://app.rootpilot.sh |
https://app.whystack.ai |
| Túnel | wss://tunnel.rootpilot.sh:8443 |
wss://tunnel.whystack.ai:8443 |
| Documentación | docs.rootpilot.sh |
docs.whystack.ai |
| Archivo de la policy de IAM | rootpilot-edge-readonly.json |
whystack-edge-readonly.json |
| Comando de salud | rootpilot-health |
whystack-health |
Default de RUNNER_HEALTH_DIR |
/tmp/rootpilot-health |
/tmp/whystack-health |
| Variables | ROOTPILOT_OTEL_ENABLED, ROOTPILOT_OTEL_EXPORTER, ROOTPILOT_PII_REDACTION |
WHYSTACK_OTEL_ENABLED, WHYSTACK_OTEL_EXPORTER, WHYSTACK_PII_REDACTION |
| Namespace, StatefulSet, Service y NetworkPolicy de Kubernetes | rootpilot-agent |
whystack-agent |
| ConfigMap y Secret de Kubernetes | rootpilot-agent-config, rootpilot-agent-env |
whystack-agent-config, whystack-agent-env |
Label part-of de Kubernetes |
rootpilot |
whystack |
Audiencia del token OIDC (gke-oidc) |
rootpilot-enroll |
whystack-enroll |
| Servicio y volumen de identidad en Compose | rootpilot-agent, rootpilot-identity |
whystack-agent, whystack-identity |
| Perfil de AppArmor del Profiler | rootpilot-profiler |
whystack-profiler |
| Telemetría, si la exportas | spans, métricas y atributos rootpilot.*; servicios rootpilot-runner, rootpilot-profiler |
whystack.*; servicios whystack-runner, whystack-profiler |
Reinstalar
Sección titulada «Reinstalar»Los nombres nuevos no actualizan la instalación anterior en su lugar: crean una nueva al lado. Eso es lo que quieres. Levanta el Agent nuevo, confírmalo, y solo entonces quita el anterior. Dos Agents de la misma organización lado a lado durante unos minutos no es un problema, porque cada uno tiene su propia identidad.
-
Primero el egress. Permite
tunnel.whystack.ai:8443, yapp.whystack.ai:443si el Agent hace el enrollment automático, antes de que arranque el Agent nuevo. Consulta Requisitos. -
Imagen. Descarga
whystack-agent(ywhystack-profiler) por digest, y verifica la firma con la identidad nueva, como en Imagen del contenedor. El repositorio anterior no recibe versiones nuevas. -
Variables. Renombra las tres variables de la tabla en tu entorno, Secret o secret manager, y apunta
RUNNER_TUNNEL_URLyRUNNER_ENROLL_URLa los hostnames nuevos. -
Kubernetes. Descarga la base de la versión nueva y aplica tu overlay sobre ella (Kubernetes). Crea el Secret
whystack-agent-enven el namespacewhystack-agentcon un bootstrap token nuevo. Congke-oidc, cambia laaudiencedel token proyectado awhystack-enrollen tu patch. Cuando el pod nuevo muestrehello accepted, borra el namespace anterior, que se lleva el PVC y la identidad anteriores:Ventana de terminal kubectl delete namespace rootpilot-agent -
Docker Compose. Renombra el servicio y el volumen en tu archivo. El volumen nuevo empieza vacío, así que el Agent hace el enrollment de nuevo: dale un bootstrap token nuevo en
RUNNER_BOOTSTRAP_TOKENpara el primer arranque (Docker Compose).docker compose up -d --remove-orphansdetiene el contenedor anterior. Borra el volumen anterior cuando el Agent nuevo esté en la Flota. -
Profiler. Carga el perfil de AppArmor con el nombre nuevo (AppArmor) y cambia
security_optaapparmor=whystack-profiler. Después descarga el anterior:Ventana de terminal sudo apparmor_parser -R /etc/apparmor.d/rootpilot-profilersudo rm /etc/apparmor.d/rootpilot-profiler -
Tus propios checks. Los probes, healthchecks o scripts que llaman al comando de salud por nombre pasan a
whystack-health. Los dashboards y alertas sobre la telemetría del Agent pasan awhystack.*; la historia anterior a la 1.29.0 queda con los nombres anteriores.
Lo que sigue funcionando por ahora
Sección titulada «Lo que sigue funcionando por ahora»La imagen mantiene algunos fallbacks para que una instalación que pasa a la 1.29.0 antes de ser reinstalada no se rompa. Se quitarán en una versión posterior, anunciada en las notas del release:
rootpilot-healthes un enlace awhystack-health, así que los probes y healthchecks anteriores siguen pasando.ROOTPILOT_OTEL_ENABLED,ROOTPILOT_OTEL_EXPORTERyROOTPILOT_PII_REDACTIONse siguen leyendo cuando el nombreWHYSTACK_*no está definido. Si están los dos, gana el nuevo.- Los hostnames anteriores y la audiencia
rootpilot-enrollsiguen funcionando durante la transición. - El Agent acepta un certificado en cualquiera de los dos trust domains de SPIFFE. El control-plane
todavía emite
spiffe://rootpilot/tenant/<slug>/runner, que es lo que muestra la líneaenrolleddel log, y pasará aspiffe://whystack/tenant/<slug>/runnermás adelante. Los dos nombran a la misma organización.