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,/etcni/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.