Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt

Use this file to discover all available pages before exploring further.

Plugins

The Plugins page is the operator UI for the agent’s plugin system. Drop a signed .adosplug archive in, grant the permissions it asks for, enable it, and the agent runs it as a subprocess under the ados-plugins.slice systemd cgroup.
Plugins page

Sections

Install

Drag a .adosplug archive onto the dropzone, or click Install and pick the file. The agent parses the manifest, validates the Ed25519 signature, and shows a pre-install dialog with the requested permissions and a risk badge (low, medium, high, critical). Approve the permissions and the install proceeds. The installed plugin appears in the list below in disabled state.

Installed plugins

One row per installed plugin. Each row shows name, version, state (enabled / disabled / error), and a short summary line. Click a row to open the detail panel with the full manifest, granted permissions, and the runtime log.

Per-plugin actions

ActionEffect
EnableStart the plugin’s subprocess. The agent generates a systemd unit on demand.
DisableStop the subprocess. State on disk is preserved.
RemoveUninstall the plugin and remove its state directory.
GrantAdd a permission the manifest can request after install.
RevokeDrop a previously granted permission.
LogsOpen the streaming log for this plugin’s subprocess.

Profile gating

Shared route — visible on both profiles.

Backend endpoints

MethodPathPurpose
GET/api/pluginsInstalled plugin list
POST/api/plugins/parseValidate manifest from an uploaded archive
POST/api/plugins/installInstall a parsed archive
POST/api/plugins/{id}/enable, /disableLifecycle
POST/api/plugins/{id}/grantGrant a permission
DELETE/api/plugins/{id}/perms/{perm}Revoke a permission
DELETE/api/plugins/{id}Uninstall
WS/api/plugins/jobs/{job_id}Stream install progress

Troubleshooting

The most common causes are an unsigned archive (signing key not in the agent’s trust list) or a manifest version the agent does not yet support. The dialog shows the specific failure reason.
Open the plugin detail panel and read the runtime log. Common causes are a missing permission the manifest didn’t pre-declare, or a Python import error at boot.