Connectors
Tenant console > Connectors controla los runtimes instalados cerca de SAP. El connector trabaja en modo pull: sale por HTTPS hacia SPOT, obtiene su configuración y publica telemetría sin exponer SAP a Internet.
Crear e instalar
- Crea un connector con un nombre operativo.
- Copia el código de instalación de un solo uso, válido durante 30 minutos.
- En
Add agent guide, genera la URL temporal del bootstrap. - Descarga el bootstrap, valida su SHA-256 y ejecútalo en el host final.
- Introduce el código sólo en el prompt oculto.
- Espera el primer heartbeat saludable.

Add agent guide no usa extracción manual ni curl | sh. El bootstrap contiene la raíz pública TUF de su entorno y sólo instala el runtime cuya metadata, versión y SHA-256 son válidos. Cada entorno mantiene despliegue, datos y confianza separados; producción nunca acepta una raíz no productiva.
Si Platform todavía no ha sincronizado un bootstrap y su runtime firmado correspondiente, la instalación queda bloqueada. SPOT no ofrece como alternativa un tarball antiguo ni una descarga sin verificar.

Desarrollo y producción
La guía y Download verified bootstrap muestran Development candidate cuando
el entorno de desarrollo tiene un candidato confiable y vigente para pruebas.
Seleccionan la generación válida más reciente, con bootstrap y runtime firmado
compatibles para Linux amd64 del mismo release. En producción muestran
Stable package y sólo permiten paquetes estables confiables.
Si falta la identidad válida, el bootstrap o su runtime compatible verificado,
la instalación queda bloqueada y Generate permanece desactivado. No cambies de
entorno ni omitas la verificación para habilitarlo.
Prueba el candidato en desarrollo antes de solicitar una promoción manual a
producción. Generar una URL o descargar el bootstrap no actualiza ni reenrola un
connector existente. Request upgrade conserva el canal estable; mostrar un
candidato de desarrollo no lo habilita como upgrade automático.
Estados
| Estado | Significado | Qué revisar |
|---|---|---|
| Pending | Todavía no existe heartbeat autenticado | Código vigente, salida HTTPS y servicio local |
| OK | Configuración, heartbeat y telemetría están saludables | SAP connections y versión estable |
| NOK | Hay un fallo activo o configuración sin aplicar | Agent logs, RFC, red y upgrade |
| Stale | El heartbeat ha vencido | Proceso, linger y conectividad |
| Disabled/Revoked | SPOT ya no acepta la credencial | Retirar o reenrolar el host según corresponda |
Acciones
| Acción | Efecto |
|---|---|
| Download verified bootstrap | Crea una URL temporal para el bootstrap asociado al release confiable |
| Request upgrade | Solicita la última generación stable; no ofrece downgrade si el connector ya ejecuta una candidate más nueva |
| Generate re-enrollment code | Crea un código de 30 minutos sin cortar la credencial activa |
| Disable connector | Revoca inmediatamente credenciales, códigos, sesiones y upgrades pendientes; conserva asignaciones SAP |
| Delete connector | Retira definitivamente la identidad y deja sin asignar sus SAP connections |
La credencial persistente se genera en el host y SPOT sólo conserva su hash. Nunca aparece en la consola ni en una descarga.
Upgrades seguros
El agent verifica TUF, instala por generaciones y cambia el puntero activo atómicamente. Un supervisor estable, situado fuera de la generación activa, conserva el control incluso si el wrapper, el entorno, el loader o el binario nuevos no pueden arrancar. Confirma la versión sólo después de autenticarse, aplicar configuración, enviar heartbeat y reanudar telemetría; si falla o vence el plazo, vuelve a la generación anterior. La tarjeta identifica el paquete disponible para instalación como Development candidate o Stable package. Request upgrade sigue tomando sólo el canal estable y no sustituye una candidate más nueva por una versión anterior.
La primera generación que incorpora este supervisor lo instala desde el propio artefacto firmado y vuelve a entrar automáticamente bajo su control. También migra el layout plano usado por connectors anteriores, pero sólo después de confirmar salud. No requiere re-enrollment, pérdida de configuración ni intervención del técnico. Los scripts de estado y parada, el PID y el log permanecen bajo la raíz $HOME/spot-agent-saas, por lo que no cambian al alternar generaciones.
Los releases stable se despliegan automáticamente en oleadas. Request upgrade es una acción administrativa puntual; el funcionamiento normal no requiere que un técnico reinicie el servicio ni solicite cada versión. Platform puede pausar una oleada por fallo TUF/digest, rollbacks, éxito inferior al 98 % o degradación superior al 5 %. Antes de solicitar un canary, el workflow registra y valida que su versión anterior sea distinta y más antigua; candidate debe demostrar la transición real y la promoción reutiliza exactamente el mismo digest.
Re-enrollment seguro
Crear el código no interrumpe el connector actual. Detén el servicio sólo cuando estés listo y proporciona el código mediante el prompt oculto o un fichero 0600. La credencial anterior se invalida después de aceptar la nueva, nunca antes.
Usa un connector distinto si se trata de otro host lógico. Conserva el mismo connector sólo para recuperar su instalación o credencial local.
Diagnóstico
- Sin heartbeat: comprueba servicio,
linger, DNS y salida HTTPS. - Error TUF: revisa reloj, metadata expirada y versión; no omitas la verificación.
- Upgrade con rollback: consulta
Agent logsy la salud de configuración, autenticación y telemetría. - SAP sin datos: revisa asignación, credencial SAP, permisos RFC y ventana temporal.
Tras un upgrade del connector, usa el mismo SAP y rango temporal en Jobs y
SM37. Confirma que inicio, fin y JOBCOUNT identifican la misma ejecución, que
el cursor de Jobs avanza durante al menos dos ciclos completos y que una
ejecución terminal ofrece un Job Log completo, vacío o con un estado explícito.
El connector admite los órdenes de columnas solicitado y físico DDIC
verificados de RFC_READ_TABLE; una forma ambigua queda bloqueada como
unsupported_rfc_read_table_shape sin publicar la lectura ni avanzar el cursor.
Esto no convierte formatos SAP arbitrarios en compatibles. Comprueba también que
heartbeat y las demás colecciones siguen avanzando.
No pegues códigos, connector.json, secretos SAP o configuración completa en tickets. Comparte connector ID, versión, timestamp y mensajes saneados.
Proxy de salida persistente
Usa un proxy HTTP con túnel CONNECT para el tráfico HTTPS de instalación,
enrolamiento, configuración, heartbeat, envío de métricas y logs de SAP,
Agent logs y actualización firmada.
SPOT mantiene la verificación TLS del destino y la verificación TUF. Un proxy
con URL https:// no está soportado; solicita a tu administrador un endpoint
HTTP CONNECT. El host también debe poder resolver el nombre público de SPOT.
Prepara un fichero JSON privado con permisos 0600 mediante un editor seguro:
{"schema":1,"mode":"explicit","url":"http://proxy.example:3128","no_proxy":".example.internal"}
Si el proxy necesita autenticación, introduce el usuario y contraseña únicamente
en ese fichero; codifica los caracteres reservados de la URL. No los incluyas
en comandos, variables de una unidad de servicio ni capturas. no_proxy acepta
hosts, sufijos de dominio, redes CIDR y puertos opcionales.
Añade --proxy-config /ruta/privada/proxy.json al comando de bootstrap de la
guía, después de descargar y verificar el bootstrap. La importación ocurre
antes de su primera descarga y se conserva en
<instalación>/config/proxy.json, fuera de las generaciones actualizables.
El directorio config debe tener permisos 0700; el fichero, 0600, y ambos
deben pertenecer al usuario que ejecuta el connector.
Para una instalación existente, usa el launcher estable de esa instalación:
<instalación>/bin/spot-agent-saas saas-proxy configure --file /ruta/privada/proxy.json
<instalación>/bin/spot-agent-saas saas-proxy status
<instalación>/bin/spot-agent-saas saas-proxy test
status oculta las credenciales. Reinicia el servicio para aplicar el cambio a
todos los clientes ya abiertos. La configuración persiste tras reinicios de
systemd-user o nohup y tras upgrades; no requiere export. Para salir sin proxy,
usa saas-proxy direct. Para volver a la compatibilidad con las variables
HTTPS_PROXY/HTTP_PROXY y NO_PROXY, importa
{"schema":1,"mode":"environment"}. La ausencia del fichero conserva esa
compatibilidad; una configuración explícita prevalece sobre las variables.
Un fallo del proxy configurado no provoca una conexión directa alternativa.
Si falla la conexión, revisa DNS, acceso al proxy, autenticación CONNECT y la cadena de certificados del destino. No desactives TLS o TUF. Si el actualizador antiguo falla con el proxy, solicita el procedimiento de recuperación controlada con un bootstrap verificado y un código del mismo connector. Conserva la instalación y su estado, y verifica identidad y cursores. La credencial puede rotar durante el reenrolamiento autorizado. No borres el estado como solución rutinaria; acude a soporte si no puedes verificar su conservación. Confirma la nueva versión y un heartbeat reciente.
Actualizaciones sin conexiones SAP habilitadas
Si el connector no tiene conexiones SAP habilitadas, puede confirmar una actualización firmada tras aceptar su configuración actual, enviar un heartbeat autenticado correcto y recibir la confirmación de un nuevo evento de salud en Agent logs. Esto también se aplica si todas las conexiones están deshabilitadas explícitamente. Omitir la opción de habilitación mantiene la conexión habilitada; deshabilitar únicamente sus familias de recolección no cambia esa condición.
Con conexiones SAP habilitadas sigue siendo necesaria una recolección compatible completada. Si falla la confirmación de telemetría, la actualización queda pendiente y puede revertirse al vencer el plazo de salud; revisa el proxy y el acceso a Agent logs. Una prueba sin SAP acredita transporte y actualización del connector, pero no extracción ni cobertura real de SAP.