This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Operations

Upgrades, reboots, logs, health checks, status indicators, hooks, and workloads.

This section covers running devices day to day: upgrading the OS and rolling back, rebooting and recovering, checking device health, reading status indicators, running scripts at boot and shutdown, and deploying workloads.

In this section

  • Logging — forward system and container logs, and pull logs on demand. Covered under Monitoring & alerts.

1 - OS upgrades

Upgrade or roll back a device’s OS version, and what survives the change.

You upgrade a device’s operating system by setting the OS version you want; the device downloads the new version, switches to it, and reboots. Because the system image is separate from your configuration and data, your setup is preserved across the change, and you can roll back to a previous version.

How upgrades work

  1. You set the target OS version for a device (or a group of devices) from the dashboard.
  2. The device downloads the requested version and prepares it alongside the current one.
  3. The device switches to the new version and reboots.
  4. After reboot, the device reports its new version, and your configuration and data are intact.

A device keeps more than one OS version on disk — the one it is running and the one it can fall back to — which is what makes switching versions and rolling back fast and safe.

flowchart TB
    subgraph BEFORE["Before"]
        direction TB
        A1["System image slot A<br/><b>running 2.1.0</b>"]
        B1["System image slot B<br/><i>previous version</i>"]
    end

    subgraph AFTER["After upgrade and reboot"]
        direction TB
        A2["System image slot A<br/><i>kept for rollback</i>"]
        B2["System image slot B<br/><b>running 2.1.2</b>"]
    end

    KEEP["Configuration + data<br/><i>untouched throughout</i>"]

    BEFORE -->|"1. download 2.1.2 into the spare slot<br/>2. switch<br/>3. reboot"| AFTER
    KEEP -.-> BEFORE
    KEEP -.-> AFTER

Rolling back is the same operation in reverse: the previous version is still in the other slot, so the device does not need to download anything.

Release channels and compatibility

  • OS versions are published per device type, so a device is only offered versions compatible with its hardware.
  • Some upgrades may require a minimum current version before you can move to the target, to ensure a supported upgrade path.

Upgrade a device from the dashboard

To go through this section, you need:

Go to the Device overview page of the target device under your project by clicking the name of the device on the Project overview page.

Clicking the device name on the Project overview page.

Clicking the device name on the Project overview page.

Open the Update device details page by clicking the Edit detail option of the device menu option.

Click the Edit detail option of the device menu option.

Click the Edit detail option of the device menu option.

Select the OS version, 2.1.2 in this example, and click Save to trigger the OS upgrade process.

Specify the desired OS version on the Update device detail page and click Save.

Specify the desired OS version on the Update device detail page and click Save.

The upgrade operation will start automatically and you will see the OS version transition information on the Device overview page.

OS version transition information on the Device overview page.

OS version transition information on the Device overview page.

After some time, you will see the device Offline, which indicates the device is restarting with the new OS version.

The device is shown as Offline to finalize the upgrade process by restarting the device.

The device is shown as Offline to finalize the upgrade process by restarting the device.

You will see the device up and running with the new OS version on the Device overview page once it boots up.

The device is up and running with the new OS version.

The device is up and running with the new OS version.

Rolling back

If a new version misbehaves, you can roll a device back to the version it was running before, or to its original factory version. Because the previous version is retained on the device, rollback does not require re-downloading it.

Set the desired (earlier) version the same way you set an upgrade; the device switches back and reboots.

Select the downgrade OS version, 2.1.0 in this example, and click Save to trigger the OS downgrade process.

Specify the desired OS version on the Update device detail page and click Save.

Specify the desired OS version on the Update device detail page and click Save.

The OS downgrade process automatically starts once you click the Save button of the Update device details page.

After a minute or so, you will see the device status Offline with the OS version transition information on the Device overview page.

OS version transition information on the Device overview page.

OS version transition information on the Device overview page.

You will see the device up and running with the new OS version once it boots up.

The device is up and running with the new OS version.

The device is up and running with the new OS version.

Encrypted devices

Managed upgrades preserve automatic unlock on encrypted devices — no manual action is required to keep an encrypted device unlocking across an upgrade.

If an upgrade does not complete

  • Confirm the device has connectivity to download the new version (including through any proxy).
  • A device that fails to start a new version can fall back to the retained previous version.
  • See the troubleshooting playbooks for upgrade issues.

2 - Reboot, shutdown & recovery

Remote power actions, and the options for recovering a misbehaving device.

This page covers power actions you can take remotely and the options for recovering a device that is not behaving as expected.

Reboot and shutdown

You can reboot or shut down a device remotely from the dashboard or with the cuttle command-line tool. These actions are carried over the device’s connection to the platform and require no inbound access to the device.

A device that loses power or is reset returns to its configured state on next boot, because configuration and data are persistent and the system image is read-only.

Automatic recovery

The OS is designed to keep itself running unattended:

  • It restarts automatically after an unexpected fault rather than waiting at an error.
  • Workloads configured to run are brought back up after a reboot.
  • If a network configuration change does not produce a working connection, the device can fall back to known-good network settings — see connection fallback.

Recovery options

When a device needs hands-on recovery, the options in increasing order of impact:

Option Use when Effect on data
Remote reboot Device is reachable but misbehaving None
Roll back the OS version A new OS version caused the problem None
Reset the administrator password Local login is lost None
Recover an encrypted device Automatic unlock is unavailable None (with recovery passphrase)
Re-image the device Device is unrecoverable or being repurposed Erases configuration and data

See User accounts for password reset and Disk encryption for encrypted-device recovery.

When a device is offline

If a device is offline and unreachable through the platform, work through the troubleshooting playbooks — most often the cause is connectivity, time, or a network configuration change.

3 - Health checks

Define checks that let a device report its own health to the platform.

Health checks let a device continuously verify that it — or something running on it — is healthy, and report the result to the platform. You define health checks from the dashboard (or the API).

Types of checks

You can define host-level checks of several types:

Type Verifies
HTTP An HTTP endpoint responds as expected.
TCP A TCP port accepts a connection.
gRPC A gRPC service reports healthy.
ICMP A host responds to ping.
Command A command on the device exits successfully.
Device file An expected device file or path is present.

How results are used

Each check’s result contributes to the device’s reported conditions, which you can see on the device overview page. Use health checks to detect problems such as a dependent service being unreachable, a required peripheral missing, or a local endpoint failing — and to surface them centrally instead of discovering them per device.

Recommendations

  • Check the things that matter for the device’s role (for example, the local application endpoint, or a sensor’s device file).
  • Keep checks lightweight and give them sensible intervals so they reflect real health without adding load.

4 - Status & indicators

Read device state from the platform and from the hardware status LED.

A device reports its state both to the platform and, on supported hardware, through a physical LED. This page explains how to read each.

Connection status

On the platform, a device is shown as:

Status Meaning
Online The platform detects the device as connected.
Offline The device is not detected, or is detected as disconnected.

Device information and metrics

The device reports details and resource usage you can view on the dashboard, including:

  • OS version, hardware details, disks, and network interfaces
  • CPU, memory, and storage usage
  • temperature

These help you spot devices that are low on storage, running hot, or pinned at high resource usage.

LED indicator

On hardware with a status LED, the device signals its lifecycle and health through the LED so an on-site technician can tell at a glance what state a device is in — for example, still starting up, working normally, or needing attention. Use the LED for quick on-site triage, and the dashboard for detail.

Conditions from health checks

Health checks you define contribute to the device’s reported conditions, giving you application- and peripheral-level health alongside the built-in status.

5 - Boot & shutdown hooks

Run your own scripts at defined points in the device lifecycle.

Hooks let you run your own scripts at defined points in the device lifecycle — for example to prepare hardware, mount a special device, or clean up on shutdown. They are the supported way to extend device behavior without modifying the read-only system image.

Available hooks

You can provide a script for each of these points:

Hook Runs
On boot Early in startup, before the device agent starts.
After the agent starts Once the device agent is up.
On shutdown When the device is shutting down or rebooting.

How to provide a hook

Place an executable script in the hooks location on the device’s configuration storage. Because it lives on configuration storage, the script persists across reboots and OS upgrades and is run automatically at the corresponding point. See the persistent paths reference for the exact location.

Guidelines

  • Keep hooks fast and resilient. A slow or failing boot hook delays startup; make hooks idempotent and have them exit cleanly.
  • Do not rely on modifying the system image. Use hooks to act on configuration and data, not to patch the OS — image changes do not persist.
  • Log from your hook so you can see what it did via logging.
  • Test on one device first before distributing a hook to a fleet.

6 - Running workloads

How containerized workloads interact with the device operating system.

Devices run your applications as containers. You deploy and manage them from the SPEKTRA Edge platform; this page covers only how workloads interact with the OS. For the full application deployment workflow, see the Deploy guide.

How workloads use device storage

  • Container images and workload data live on the device’s data area, which uses most of the disk.
  • A workload can mount paths from the device into its containers when it needs access to host data or hardware.
  • Credentials a workload needs (such as registry pull secrets) are delivered through the platform rather than stored in the image.

Networking for workloads

  • Any network ports a workload exposes are determined by the workload itself, not by the OS — open them in your site firewall as needed. See Connectivity & ports.
  • Workload traffic honors the device’s proxy configuration.

When storage runs low

Because container images and data share the data area, a device that fills its data area can fail to start new workloads. Watch storage usage in device metrics, and keep logging levels reasonable so logs do not consume the space your workloads need.

Lifecycle across reboots and upgrades

Workloads configured to run are brought back up after a reboot, and persist across OS upgrades because their images and data are on persistent storage.