Saltar al contenido principal

Portable / non-root

Usa portable/non-root cuando no puedas instalar RPM/DEB. Elige spot-agent-sap-portable, spot-suite-portable o spot-suite-external-portable; todo queda dentro de un $SPOT_HOME distinto.

Extraer la variante elegida

Usa un $SPOT_HOME nuevo y el nombre de artefacto que corresponde a la variante. Por ejemplo, para la suite embedded:

umask 077
mkdir -p "$HOME/spot"
tar -xzf spot-suite-portable_X.Y.Z_linux_amd64.tar.gz -C "$HOME/spot" --strip-components=1
cd "$HOME/spot"
cp config/spot.env.example config/spot.env

Para la suite external sustituye el archivo por spot-suite-external-portable_X.Y.Z_linux_amd64.tar.gz. Para connector-only usa spot-agent-sap-portable_X.Y.Z_linux_amd64.tar.gz y, si quieres reutilizar las unidades incluidas sin modificarlas, extrae en $HOME/spot-agent-sap-portable. No mezcles ni extraigas una variante encima de otra. La guía Connector-only contiene el procedimiento completo de checksum, configuración, licencia, systemd --user, actualización y desinstalación.

Activar o instalar la licencia

Antes del primer run-agent.sh, inicia el validador incluido y activa la clave online o instala el fichero offline:

export SPOT_HOME="$HOME/spot"
"$SPOT_HOME/scripts/run-license.sh" >"$SPOT_HOME/log/license.out" 2>"$SPOT_HOME/log/license.err" &
"$SPOT_HOME/bin/spot-agent-sap" license-activate
# o: "$SPOT_HOME/bin/spot-agent-sap" license-install /ruta/protegida/licencia
"$SPOT_HOME/bin/spot-agent-sap" license-check

Para connector-only usa como SPOT_HOME el directorio donde extrajiste spot-agent-sap-portable. No pases la clave como argumento posicional. La guía Licencias y renovación explica también la exportación del paquete de renovación sin interfaz web.

Cifrar la contraseña SAP

El wrapper portable deriva y exporta su propio SPOT_HOME, por lo que puedes generar el valor de passwd antes del primer arranque:

"$HOME/spot-agent-sap-portable/bin/spot-agent-sap" encrypt

Copia la única línea enc:v1:... en la conexión SAP. La primera ejecución crea $HOME/spot-agent-sap-portable/config/spot-sap-secret.key con modo 0600 si todavía no existe. Conserva ese fichero en el backup: no lo regeneres durante un upgrade ni lo sustituyas por el de otra instalación. Para --stdin y --password-file, permisos y ejemplos de automatización, consulta Connector-only.

Arrancar manualmente

Suite embedded:

SPOT_HOME="$HOME/spot" scripts/run-elasticsearch.sh
SPOT_HOME="$HOME/spot" scripts/run-server.sh
SPOT_HOME="$HOME/spot" scripts/run-agent.sh

Suite external:

SPOT_HOME="$HOME/spot" scripts/run-server.sh
SPOT_HOME="$HOME/spot" scripts/run-agent.sh

Connector-only:

SPOT_HOME="$HOME/spot-agent-sap-portable" \
"$HOME/spot-agent-sap-portable/scripts/run-agent.sh"

Para producción, usa systemd --user, supervisor corporativo o scripts de arranque gestionados por el equipo que opera el host.

Directorios

$SPOT_HOME/run
$SPOT_HOME/config
$SPOT_HOME/data
$SPOT_HOME/log
$SPOT_HOME/elasticsearch

El directorio elasticsearch sólo existe en la suite embedded. External puede completar el alta en modo limitado. El backend genera configuración runtime en $SPOT_HOME/run/spot.yaml y el conector escribe logs en $SPOT_HOME/log.

Limitaciones

  • No usa puertos menores de 1024.
  • No escribe en /opt, /etc ni /var.
  • El arranque/parada depende de scripts o supervisor operativo.
  • El control de Elastic embebido se hace dentro de $SPOT_HOME.
  • El mismo usuario es propietario de código y proceso; usa RPM/DEB si necesitas separación real frente a compromiso de la cuenta runtime.
  • Los upgrades se extraen en un directorio nuevo, nunca encima del árbol activo.

Verificación por variante

Suite embedded

curl -fsS http://127.0.0.1:9200
curl -fsS http://127.0.0.1:8080/api/health

Suite external

SPOT_HOME="${SPOT_HOME:-$HOME/spot}"
curl -fsS http://127.0.0.1:8080/api/health
curl -fsS http://127.0.0.1:8080/api/setup/status | \
jq -e '.elastic_configuration_state == "pending" and .operational_ready == false'

Si Elasticsearch se aplazó, el estado público de setup debe indicar pending y operational_ready=false. Una API real de datos solicitada con un Bearer válido responderá HTTP 503 con el código elastic_not_configured. Después de configurarlo, comprueba health e ingesta contra el clúster externo; no consultes un :9200 local.

Connector-only

SPOT_HOME="${SPOT_HOME:-$HOME/spot-agent-sap-portable}"
test -x "$SPOT_HOME/bin/spot-agent-sap"
pgrep -af "$SPOT_HOME/bin/spot-agent-sap"
tail -n 100 "$SPOT_HOME/log/spot-agent-sap.log"
test ! -e "$SPOT_HOME/scripts/run-elasticsearch.sh"

Usa $HOME/spot-agent-sap-portable como valor predeterminado si vas a instalar las unidades systemd --user incluidas. Consulta Connector-only para el arranque persistente y la regeneración segura de la configuración runtime después de un cambio.

En connector-only no deben existir un backend local ni run-elasticsearch.sh.