Abstrax

Integrating with Abstrax

Plugins should call supported JSON commands rather than reading Abstrax internal storage files.

Environment variables

When Abstrax launches a plugin, it sets:

Variable Value
ABSTRAX_PLUGIN 1
ABSTRAX_PLUGIN_PROTOCOL 1
ABSTRAX_BINARY Absolute path to the current abstrax binary
ABSTRAX_VERSION Current Abstrax semver

These are set on the plugin process only. They are not used to configure Abstrax itself. See Environment variables for registry configuration variables.

Project inspect API

Inspect a project using the stable v1 API:

abstrax project inspect <project> --json

Example output:

{
  "api_version": "v1",
  "project": {
    "name": "example",
    "path": "/var/www/example.com",
    "user": "example",
    "runtime": {
      "type": "php",
      "version": "8.5"
    },
    "domains": ["example.com"],
    "services": [
      {
        "name": "example-worker",
        "type": "worker"
      }
    ]
  }
}

This API exposes non-secret information only. The existing abstrax project info --json command remains available for the full internal project state envelope.

Project service commands

Restart or reload project-owned supervisor services:

sudo abstrax project service restart <project> <service> --json
sudo abstrax project service reload <project> <service> --json

Services must belong to the project. These commands do not wrap arbitrary systemctl calls.