Appliance Settings: Overview, Time, Firewall, Support & Power

On the Athena virtual appliance, Settings → Appliance is where you look after the appliance itself from the web console. You can check its version, health, disk space and network, set the time zone and NTP servers (including an NTP authentication key), open or close the optional firewall ports, collect support bundles and read the logs, and restart, reboot or shut down the appliance. You don't need to open the VM console for any of these. Every change is recorded in the audit log, and the same actions are available over the REST API and in PowerShell.

Appliance only

The Appliance tab only exists when Athena runs on the virtual appliance. On any other install it shows “This server does not run on the Athena appliance. Appliance settings exist only there.” The api/appliance/… endpoints answer 404 (“Not an Athena appliance”).

The tab has these sections, from top to bottom:

SectionDocumented in
Appliance overviewthis page
Appliance updatesDownloads → Update bundle and the Beginner Guide
Timethis page
Firewallthis page
Web certificate (port 8443)Server TLS Certificate
API documentation (Swagger)this page
Backup, Backup destinations, RestoreAppliance Backup & Restore
Support (support bundles, server log, OS journal)this page
Powerthis page

Who can use it#

PermissionAllows
appliance.viewSee the Appliance tab: the overview, firewall state, time settings, API documentation settings, the server log and the OS journal. Also generate and download support bundles.
appliance.manageChange the time zone, NTP servers and NTP key, open or close the optional firewall ports, change the API documentation settings, and restart the Athena service.
appliance.power.manageReboot or shut down the appliance. This permission is separate, so giving someone appliance.manage does not let them power the appliance off.

By default only the built-in Admin role has these permissions. A user without appliance.view sees “You do not have permission to view the appliance settings.” A user with appliance.view but not appliance.manage sees the sections read-only, with the note “Read-only: changing this needs the appliance.manage permission.” In the web console, the Reboot appliance and Shut down appliance buttons appear only for users who have both appliance.manage and appliance.power.manage. See Permission Model & Role Bundles.

Appliance overview#

The overview is read-only. The appliance reports its status when you open the tab. Click the refresh button (“Read the appliance status again”) to read it again.

FieldWhat it shows
Appliance versionThe installed appliance release.
Flatcar OSThe version of the appliance's operating system.
BuildThe build identifier of the installed release.
UptimeTime since the appliance started, e.g. 3d 4h 12m.
Server healthHealthy (green) or Not healthy (code) (red).
Disk“N GB free of N GB (N% used)”. The badge turns amber with “Disk space is low.” or red with “The disk is almost full.” See Running out of disk.
DatabaseSQLite or PostgreSQL (local). See PostgreSQL Database.
Time zone / NTPThe time zone (UTC if none is set) and a badge: NTP synced, NTP not synced or NTP status unknown.
IP addressThe appliance's address, followed by its addressing mode in brackets.
Host nameThe host name, with the fully qualified name in brackets when there is one.
Gateway, DNS serversThe network settings in use (- when none).
Update signing keyThe fingerprint and algorithm of the key the appliance uses to check update bundles.
OS accessed“Never (no support shell was ever enabled)”, or Yes followed by the entries the appliance has recorded.
Support SSHOff, or “On until time (mode)” while a support SSH window is open.
Configuration driftOnly shown when the appliance reports configuration drift.

If the appliance does not answer, the section shows “The appliance status is not available: reason”.

Network, support SSH and factory reset stay on the VM console

The web console only shows these settings. To change them, use the VM console (Alt+F1 on the appliance). This is deliberate: the web can't change the appliance's network settings, open a support shell or reset the appliance.

Running out of disk#

When the Disk badge turns amber or red, the overview tells you what to do: shut down the appliance, enlarge its virtual disk in your hypervisor, and power it on. When it starts again, the appliance grows into the larger disk by itself. You can shut it down from the Power section.

Time zone and NTP#

Agents, certificates, schedules and audit records all depend on the clock, so set the time before anything else. This matters most on an isolated network, which usually can't reach public time servers.

Time zone#

  1. In Time → Time zone, type part of a name in Search time zones (for example London), then pick the zone in the list. The current zone is shown under the list as “Current: zone”.
  2. Click Apply time zone.

Zones are IANA names such as UTC or Europe/London. Applying a time zone restarts the Athena web console so it picks up the new zone. The page shows “The appliance is restarting…” and reloads itself when the server is back.

NTP servers#

In NTP servers, enter up to 8 host names or IPv4 addresses, separated by commas (for example ntp1.corp.example,10.0.0.1), and click Save NTP servers. Enter default to go back to the Flatcar OS default time servers. Doing that also removes any NTP key. Changing the NTP servers does not restart Athena.

An entry that is not a valid host name or IPv4 address is refused with “NTP servers must be 1-8 host names or IPv4 addresses, comma-separated (or 'default')”. IPv6 addresses are not accepted. After saving, check the NTP synced badge in the overview. Refresh it after a minute or so.

NTP authentication key#

If your time servers require symmetric-key authentication, set the key after you have saved the NTP servers:

  1. Enter the Key ID (1–65535).
  2. Pick the Key type: SHA256 (default), SHA512, SHA1 or MD5.
  3. Enter the Key: 1–20 printable characters (no spaces and no #), or 22–64 hexadecimal digits.
  4. Click Set key.

The key is write-only. Once it is set, the section only shows “Key id (type) is set. The key itself is never shown.” It is never included in the audit log, the server log or any API response. Remove key stops NTP authentication and goes back to unauthenticated time sync. The section then shows “No key set”.

Firewall#

The Firewall section lists the appliance's inbound ports. The two optional port groups are the same switches as the VM console's Network → Firewall menu. A change in one place shows up in the other. Changes take effect at once, and Athena does not restart.

RulePortsState
Athena web console and agentsTCP 8443/8444Always open. This can't be changed, so you can't lock yourself or your agents out.
Support SSHTCP 22Only listed while a support SSH window is open: “Open while support SSH is on (console only)”.
RustDesk remote supportTCP 21114/21116/21117, UDP 21116Tick box. Open by default on the appliance. See RustDesk Remote Access.
Prometheus metricsTCP 9464Tick box. Closed by default. See System Health & Prometheus Metrics.
The metrics port has no sign-in

By default, the metrics port serves Prometheus /metrics without authentication. Open it only on a trusted network.

After every change, the section reads the state back from the appliance, so it always shows what is actually in force, even if the change was refused. An older appliance that does not report its firewall switches shows “This appliance does not report its firewall switches. Update it to change them here; until then use the VM console.” For every port Athena uses, see Network Ports & Firewall.

API documentation (Swagger)#

This section turns the interactive REST API documentation on or off and sets the path it is served under. The change is live and Athena does not restart.

If Swagger:Enabled or Swagger:RoutePrefix is also set by an environment variable or on the command line, that value wins. The page then says “Saved, but Swagger:Enabled or Swagger:RoutePrefix is also set by an environment variable or the command line, which wins over this page. Remove it there.” See Configuration Override Warnings and the API Reference.

Support: bundles, server log and OS journal#

Support bundles#

A support bundle collects the appliance's logs and configuration into one file, with secrets redacted, so you can send it to support@sealgrid.ai. Click New support bundle. When it finishes you see “Support bundle name created”, and the bundle appears in the list with its size and creation time. Click Download to save it. Bundles are named athena-support-….tar.gz.

Athena server log#

This lets you read the server log in the browser, with secrets redacted:

For log levels and retention, see Server Logging & Log Retention.

Appliance OS journal#

Show journal displays the last 500 operating-system journal lines of the appliance's Athena services, redacted. Use it when the Athena server itself won't start properly or an appliance-level action (an update, a time change) failed.

Power#

ButtonWhat happensType to confirmPermission
Restart Athena serviceThe Athena server restarts. The web console and agent connections are unavailable for about a minute.RESTARTappliance.manage
Reboot applianceThe whole appliance reboots. The web console and agent connections are unavailable for a few minutes.REBOOTappliance.power.manage
Shut down applianceThe appliance powers off. Nothing works until you start it again from the hypervisor.SHUTDOWNappliance.power.manage

Each button opens a confirmation dialog. The action button stays disabled until you type the word exactly (in capitals). After a restart or reboot the page shows “The appliance is restarting. The web console is unavailable for a few minutes; this page reloads itself when the server is back.” The action is recorded in the audit log before it is sent, so a reboot can't lose the record. For restarting Athena on other kinds of install, see Restarting the Server.

Audit trail#

Event typeRecorded when
ApplianceTimeChangedThe time zone, NTP servers or NTP key changed. Action Timezone, Ntp or NtpKey. Warning when it worked, Error when the appliance refused it. The key itself is never recorded.
ApplianceFirewallChangedThe RustDesk or metrics ports were opened or closed. Action Open or Close. Warning when it worked, Error when refused.
SwaggerSettingsChangedThe API documentation was switched on or off, or moved. Action Enable, Disable or Move. The old and new state are in the description.
ApplianceSupportBundleGeneratedA support bundle was created.
SupportBundleDownloadedA support bundle was downloaded (Warning).
ApplianceLogDownloadedThe server log was downloaded.
AppliancePowerActionRestart, reboot or shut down requested (Warning). Action RestartServer, Reboot or Shutdown.

See the Audit Event Types Reference for every event type.

REST API#

Endpoints return the usual { success, message, data } envelope and answer 404 off the appliance. Invalid input returns 400 with the same message the web console shows. If the appliance refuses a change, the response is 502 with the appliance's reason. If the appliance can't be reached, status, firewall and journal requests return 503.

Method & pathPermissionPurpose
GET api/appliance/statusappliance.viewEverything in the overview: versions, uptime, health, disk, database mode, time zone and NTP, network, signing key, OS accessed, support SSH, firewall switches.
GET api/appliance/time/timezonesappliance.viewThe time zone names the appliance accepts.
PUT api/appliance/time/timezoneappliance.manageBody { "zone": "Europe/London" }. Athena restarts.
PUT api/appliance/time/ntpappliance.manageBody { "servers": "ntp1.corp.example,10.0.0.1" } or { "servers": "default" }.
PUT api/appliance/time/ntp-keyappliance.manageBody { "keyId": "1", "keyType": "SHA256", "key": "…" }.
DELETE api/appliance/time/ntp-keyappliance.manageRemoves the NTP key.
GET api/appliance/firewallappliance.viewOne entry per rule: id (web, ssh, rustdesk, metrics), ports, open, editable.
PUT api/appliance/firewall/{rustdesk|metrics}appliance.manageBody { "open": true } or { "open": false }.
GET api/appliance/swaggerappliance.viewCurrent enabled and routePrefix.
PUT api/appliance/swaggerappliance.manageBody { "enabled": true, "routePrefix": "api-docs" }.
POST api/appliance/support-bundlesappliance.viewCreates a support bundle; the result's message is its file name.
GET api/support-bundlesappliance.viewLists the bundles, newest first.
GET api/support-bundles/{name}appliance.viewDownloads one bundle (application/gzip).
GET api/appliance/logs?lines=&level=&search=appliance.viewThe latest server log entries, redacted (lines 1–5000, default 500).
GET api/appliance/logs/downloadappliance.viewToday's server log as a text file, redacted.
GET api/appliance/journal?lines=appliance.viewThe OS journal of the Athena services, redacted (lines 1–2000, default 200).
POST api/appliance/power/restart-serverappliance.manageBody { "confirm": "RESTART" }.
POST api/appliance/power/rebootappliance.power.manageBody { "confirm": "REBOOT" }.
POST api/appliance/power/shutdownappliance.power.manageBody { "confirm": "SHUTDOWN" }.

To authenticate scripts, see API Tokens.

PowerShell#

The Athena PowerShell module wraps the same API.

CmdletWhat it does
Get-AthenaApplianceStatusThe appliance status (the overview).
Get-AthenaApplianceTimeZoneLists the accepted time zone names.
Set-AthenaApplianceTimeZone-Zone (IANA name). Athena restarts.
Set-AthenaApplianceNtp-Server (1–8 names or IPv4 addresses), or -Default.
Set-AthenaApplianceNtpKey-KeyId (1–65535), -KeyType (MD5, SHA1, SHA256, SHA512), -Key (SecureString).
Clear-AthenaApplianceNtpKeyRemoves the NTP key.
Get-AthenaApplianceFirewallLists the inbound rules.
Set-AthenaApplianceFirewall-Group rustdesk|metrics -Open $true|$false.
Get-AthenaSwaggerSettings / Set-AthenaSwaggerSettingsRead or change -Enabled and -RoutePrefix. Only the parameters you pass change.
New-AthenaSupportBundleCreates a support bundle.
Get-AthenaSupportBundleLists support bundles, newest first.
Save-AthenaSupportBundle-Name, -Path (folder or file, default the current folder), -Force to overwrite.
Get-AthenaApplianceLog-Lines (1–5000, default 500), -Level, -Search.
Get-AthenaApplianceJournal-Lines (1–2000, default 200).
Restart-AthenaApplianceServerRestarts the Athena service. Asks for confirmation.
Restart-AthenaApplianceReboots the appliance. Asks for confirmation.
Stop-AthenaApplianceShuts the appliance down. Asks for confirmation.
# Use two internal time servers and authenticate them with key 1
Set-AthenaApplianceNtp -Server ntp1.corp.example, 10.0.0.1
Set-AthenaApplianceNtpKey -KeyId 1 -KeyType SHA256 -Key (Read-Host -AsSecureString 'NTP key')

# Check the clock, the database mode and the free disk
Get-AthenaApplianceStatus | Select-Object ApplianceVersion, Health, DatabaseMode, Timezone, Ntp, Disk

# Open the Prometheus metrics port (trusted networks only)
Set-AthenaApplianceFirewall -Group metrics -Open $true

# Show recent warnings and errors, then take a support bundle and download it
Get-AthenaApplianceLog -Lines 200 -Level Warning
$b = New-AthenaSupportBundle
Save-AthenaSupportBundle -Name $b.Message -Path C:\Temp

Troubleshooting#

SymptomCause and fix
The Settings page has no Appliance tab, or it says “This server does not run on the Athena appliance…”Athena is installed some other way (for example in Docker). These settings exist only on the virtual appliance. Manage time, firewall and power on that host directly.
“The appliance status is not available: …”The web console could not get an answer from the appliance. Click refresh. If it keeps failing, check Show journal or use the VM console.
The overview shows NTP not syncedThe appliance can't reach its time servers. On an isolated network the default servers are usually out of reach, so enter your own NTP servers. If you set a key, check that the key ID, type and value match the server's.
“Not an IANA time zone name: '…'”Choose the zone from the list, or use a name from Get-AthenaApplianceTimeZone.
“The key must be 1-20 printable characters (no space, no '#') or 22-64 hex digits”Re-enter the key in one of the two accepted forms.
“This appliance does not report its firewall switches…”The appliance predates the web firewall switches. Apply the latest update bundle, or use the VM console's Network → Firewall menu.
Prometheus can't scrape port 9464The metrics port is Closed by default. Open it in Firewall.
RustDesk clients can't reach the applianceCheck that RustDesk remote support is Open in Firewall.
No Reboot appliance or Shut down appliance buttonYou need appliance.power.manage in addition to appliance.manage.
The disk is almost fullShut down, enlarge the virtual disk, power on. See Running out of disk. Also review Data Retention & Housekeeping.