Skip to main content
Version: 2.0.0 (Latest)

Linux

This page covers Linux installation for both applications:

  • padas-core (data engine)
  • padas-ui (management UI)

Prerequisites

Before you start, confirm:

  • The runtime expectations listed in System requirements.
  • You have Linux packages (rpm, deb, or tgz) for the app you are installing.
  • You have runtime config for padas-core (operator padas.toml next to read-only padas.default.toml, commonly /opt/padas/core/etc/ = $PADAS_HOME/etc/ with PADAS_HOME=/opt/padas/core). See Runtime configurations.
  • External systems (Kafka, Splunk, syslog devices, object storage) are prepared only if you plan to enable those connectors.

Install padas-core

Option 1: RPM or DEB package

# RPM
sudo rpm -ivh ./padas-<version>.x86_64.rpm

# DEB
sudo dpkg -i ./padas-<version>_amd64.deb

These packages create the padas service user when needed (reused if padas-ui is already installed) and install the systemd unit file for Core—you do not need to copy a unit from examples/ manually.

License (required before first service start): accept the license once with the bundled CLI before enabling padas-core.service. Then enable and start the unit (reload systemd if the package just dropped a new unit).

sudo -u padas /opt/padas/core/bin/padas start --accept-license

# Complete the license flow; when the process exits or you stop it (e.g. Ctrl+C), continue:
sudo systemctl daemon-reload
sudo systemctl enable padas-core.service
sudo systemctl start padas-core.service
sudo systemctl status padas-core.service

Option 2: TGZ / tarball (manual install)

If you install from a .tar.gz (or similar) archive instead of rpm / deb, you must create the service account, lay out /opt/padas, and install the systemd unit yourself.

Installation steps

  1. Extract the PADAS Core archive (adjust filename and architecture for your build):

    sudo tar -xzf ./padas-core-<version>-linux-x86_64.tar.gz -C /opt/
    sudo mv /opt/padas-core-<version>-linux-x86_64 /opt/padas
  2. Create system group and user:

    sudo groupadd -r padas
    sudo useradd -r -g padas -d /opt/padas -s /bin/bash padas
  3. Set ownership:

    sudo chown -R padas:padas /opt/padas
  4. Install the systemd unit from the shipped example:

    sudo cp /opt/padas/core/examples/padas-core.service /etc/systemd/system/padas-core.service
  5. Reload systemd, accept license, then enable the service:

    sudo -u padas /opt/padas/core/bin/padas start --accept-license

    # Complete the license flow; when finished or after stopping the foreground run:
    sudo systemctl daemon-reload
    sudo systemctl enable padas-core.service
    sudo systemctl start padas-core.service
  6. Verify:

    sudo systemctl status padas-core.service

Review padas-core.service if your install prefix, PADAS_HOME, or config path differ from the defaults in that file.

Configure padas-core

Use /opt/padas as the install prefix ( bin/, core/, ui/, …). Core itself resolves PADAS_HOME to /opt/padas/core: configs live in etc/, runtime data under data/.

  • $PADAS_HOME/etc/padas.default.toml (absolute /opt/padas/core/etc/padas.default.toml) — From your package or installer; read-only baseline (do not customize this file).
  • $PADAS_HOME/etc/padas.toml (/opt/padas/core/etc/padas.toml) — Operator overrides only; --config uses this path.

Place your padas.toml (and padas.default.toml from the distro if not already unpacked there):

sudo install -m 0644 ./padas.default.toml /opt/padas/core/etc/padas.default.toml
sudo install -m 0644 ./padas.toml /opt/padas/core/etc/padas.toml
sudo chown padas:padas /opt/padas/core/etc/padas.toml /opt/padas/core/etc/padas.default.toml

If rpm / deb already lays down padas.default.toml, skip the first install and only ship padas.toml.

Unless you override it in runtime configuration, the API listens with TLS on port 8999; JSON routes live under https://<CORE_IP>:8999/api/v1/... (for example .../status, .../metrics, .../health). Lab configs with [api.tls].enabled = false use http:// instead. Add curl --insecure (or --cacert) when needed for TLS. See Runtime configurations.

Run padas-core (foreground, optional)

/opt/padas/bin/padas-core --config /opt/padas/core/etc/padas.toml

Run padas-core as a service (systemd)

If you have no example unit (unusual), create /etc/systemd/system/padas-core.service with User= / Group= padas, Environment=PADAS_HOME=/opt/padas/core, and ExecStart=/opt/padas/bin/padas-core --config /opt/padas/core/etc/padas.toml, then daemon-reload, /opt/padas/core/bin/padas start --accept-license as padas, and enable/start.

Install padas-ui

Option 1: RPM or DEB package

# RPM
sudo rpm -i ./padas-ui-<version>-<builddate>-<platform>.rpm

# DEB
sudo dpkg -i ./padas-ui-<version>-<builddate>-<platform>.deb

rpm and deb packages install UI under /opt/padas/ui and create the padas user automatically when needed.

License (UI has no --accept-license flag): run the UI entrypoint once as padas, complete the interactive license in the terminal, stop the foreground process, reload systemd if units changed, then enable and start the service.

sudo -u padas /opt/padas/ui/bin/padas start

# Accept the license prompt in the terminal; stop with Ctrl+C (or the process exits), then:
sudo systemctl daemon-reload
sudo systemctl enable padas-ui.service
sudo systemctl start padas-ui.service
sudo systemctl status padas-ui.service

Option 2: TGZ package

sudo useradd --system --home /opt/padas --shell /usr/sbin/nologin padas || true
sudo mkdir -p /opt/padas/ui
sudo tar -xzf ./padas-ui-<version>-<builddate>-<platform>.tgz -C /opt/padas
sudo chown -R padas:padas /opt/padas/ui

License and service (tarball): same CLI pattern as RPM/DEB—foreground start first, then systemd:

sudo -u padas /opt/padas/ui/bin/padas start

# Complete license acceptance; stop foreground run, then:
sudo systemctl daemon-reload
sudo systemctl enable padas-ui.service
sudo systemctl start padas-ui.service
sudo systemctl status padas-ui.service

(Install padas-ui.service from your package layout or shipped examples/ if the archive provides one—same daemon-reload discipline before enable.)

Core token for attaching the UI

After Core has started, the registration credential used when attaching Core from Padas UI lives on the Core host at:

$PADAS_HOME/data/security/service-account.token

With PADAS_HOME=/opt/padas/core (as in the systemd example above), that is /opt/padas/core/data/security/service-account.token. The file contains the token value and expiry—use this when the UI prompts for Core credentials during attach. Protect the file like any other machine identity secret.

Validate services

CheckWhat to look for
Process upsystemctl status padas-core.service shows active (running)
Status APIcurl -sS https://localhost:8999/api/v1/status returns Core JSON status (same shape as https://<CORE_IP>:8999/api/v1/status)
Health endpointcurl https://localhost:8999/health returns 200 (outside /api/v1; path matches your Core build)
Metricscurl https://localhost:8999/api/v1/metrics returns metrics
API reachablecurl https://localhost:8999/api/v1/streams returns stream data
Core → UI attach/opt/padas/core/data/security/service-account.token (= $PADAS_HOME/data/security/service-account.token) exists after Core starts
UI service upsystemctl status padas-ui.service shows active (running)

Where to go next