[
{
"action_id": "servicewrite",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:39",
"duration_ms": 1295,
"error": null,
"id": 6,
"params": {
"config": "[Unit]\nDescription=CVT8858 Panel\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/home/webhost/domains/cvt8858.aurorum.co/public\nEnvironment=CVT8858_HOME=/home/webhost/domains/cvt8858.aurorum.co/public\nEnvironment=CVT8858_PANEL_HOST=127.0.0.1\nEnvironment=CVT8858_PANEL_PORT=8858\nExecStart=/usr/bin/python3 /home/webhost/domains/cvt8858.aurorum.co/public/panelctl.py plugin start panel --force\nRestart=on-failure\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n",
"daemon_reload": true,
"dry_run": false,
"enable": true,
"restart": true,
"target": "systemd",
"unit": "cvt8858_panel.service"
},
"result": {
"action": {
"dangerous": true,
"description": "Write a CVT8858-managed systemd unit and optionally daemon-reload/enable/restart it.",
"entry": "servicewrite.py",
"id": "servicewrite",
"name": "Write systemd Unit",
"parameters": {
"config": {
"required": true,
"type": "string"
},
"daemon_reload": {
"default": true,
"required": false,
"type": "boolean"
},
"dry_run": {
"default": false,
"required": false,
"type": "boolean"
},
"enable": {
"default": true,
"required": false,
"type": "boolean"
},
"restart": {
"default": true,
"required": false,
"type": "boolean"
},
"target": {
"default": "systemd",
"required": false,
"type": "string"
},
"unit": {
"pattern": "cvt8858_[A-Za-z0-9_.-]+\\.service",
"required": true,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/servicewrite.py",
"required_capability": "action.run:servicewrite",
"runtime": "python",
"timeout_seconds": 10
},
"actor": "local-cli",
"duration_ms": 1295,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"backup": null,
"bytes": 476,
"dry_run": false,
"path": "/etc/systemd/system/cvt8858_panel.service",
"steps": [
{
"cmd": [
"/usr/bin/systemctl",
"daemon-reload"
],
"code": 0,
"ok": true,
"stderr": "",
"stdout": ""
},
{
"cmd": [
"/usr/bin/systemctl",
"enable",
"cvt8858_panel.service"
],
"code": 0,
"ok": true,
"stderr": "Created symlink /etc/systemd/system/multi-user.target.wants/cvt8858_panel.service → /etc/systemd/system/cvt8858_panel.service.\n",
"stdout": ""
},
{
"cmd": [
"/usr/bin/systemctl",
"restart",
"cvt8858_panel.service"
],
"code": 0,
"ok": true,
"stderr": "",
"stdout": ""
}
],
"target": "systemd",
"written": "/etc/systemd/system/cvt8858_panel.service"
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
},
{
"action_id": "mysqlquery",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:38",
"duration_ms": 141,
"error": null,
"id": 5,
"params": {
"admin_password": "",
"admin_user": "",
"database": "",
"dry_run": false,
"host": "localhost",
"port": 3306,
"sql": "SELECT VERSION();"
},
"result": {
"action": {
"dangerous": true,
"description": "Run SQL against the existing MySQL/MariaDB service using the local mysql/mariadb client.",
"entry": "mysqlquery.py",
"id": "mysqlquery",
"name": "Run MySQL Query",
"parameters": {
"admin_password": {
"default": "",
"required": false,
"type": "string"
},
"admin_user": {
"default": "",
"required": false,
"type": "string"
},
"database": {
"default": "",
"required": false,
"type": "string"
},
"dry_run": {
"default": false,
"required": false,
"type": "boolean"
},
"host": {
"default": "localhost",
"required": false,
"type": "string"
},
"port": {
"default": 3306,
"required": false,
"type": "integer"
},
"sql": {
"required": true,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/mysqlquery.py",
"required_capability": "action.run:mysqlquery",
"runtime": "python",
"timeout_seconds": 30
},
"actor": "local-cli",
"duration_ms": 141,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"cmd": [
"/usr/bin/mariadb",
"--batch",
"--raw"
],
"code": 0,
"stderr": "",
"stdout": "VERSION()\n10.11.14-MariaDB-0ubuntu0.24.04.1\n"
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
},
{
"action_id": "caddyreload",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:37",
"duration_ms": 868,
"error": null,
"id": 4,
"params": {
"dry_run": false,
"method": "systemctl"
},
"result": {
"action": {
"dangerous": true,
"description": "Reload the Caddy service. Reloads the existing Caddy service. Use dry_run=true for preview.",
"entry": "caddyreload.py",
"id": "caddyreload",
"name": "Reload Caddy",
"parameters": {
"dry_run": {
"default": false,
"required": false,
"type": "boolean"
},
"method": {
"default": "systemctl",
"required": false,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/caddyreload.py",
"required_capability": "action.run:caddyreload",
"runtime": "python",
"timeout_seconds": 15
},
"actor": "local-cli",
"duration_ms": 868,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"cmd": [
"/usr/bin/systemctl",
"reload",
"caddy"
],
"code": 0,
"dry_run": false,
"stderr": "",
"stdout": ""
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
},
{
"action_id": "caddytest",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:36",
"duration_ms": 564,
"error": null,
"id": 3,
"params": {
"config": "",
"config_path": "/etc/caddy/Caddyfile"
},
"result": {
"action": {
"dangerous": false,
"description": "Run caddy validate against a supplied Caddyfile string or existing config path.",
"entry": "caddytest.py",
"id": "caddytest",
"name": "Validate Caddy Config",
"parameters": {
"config": {
"default": "",
"required": false,
"type": "string"
},
"config_path": {
"default": "",
"required": false,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/caddytest.py",
"required_capability": "action.run:caddytest",
"runtime": "python",
"timeout_seconds": 15
},
"actor": "local-cli",
"duration_ms": 564,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"cmd": [
"/usr/bin/caddy",
"validate",
"--config",
"/etc/caddy/Caddyfile",
"--adapter",
"caddyfile"
],
"code": 0,
"stderr": "{\"level\":\"info\",\"ts\":1781753676.7426374,\"msg\":\"using provided configuration\",\"config_file\":\"/etc/caddy/Caddyfile\",\"config_adapter\":\"caddyfile\"}\n{\"level\":\"info\",\"ts\":1781753676.7464502,\"logger\":\"http\",\"msg\":\"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS\",\"server_name\":\"srv0\",\"https_port\":443}\n{\"level\":\"info\",\"ts\":1781753676.7466133,\"logger\":\"http\",\"msg\":\"enabling automatic HTTP->HTTPS redirects\",\"server_name\":\"srv0\"}\n{\"level\":\"warn\",\"ts\":1781753676.7466683,\"logger\":\"http\",\"msg\":\"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server\",\"server_name\":\"srv1\",\"http_port\":80}\n{\"level\":\"info\",\"ts\":1781753676.7476392,\"logger\":\"tls.cache.maintenance\",\"msg\":\"started background certificate maintenance\",\"cache\":\"0xc00018acb0\"}\n{\"level\":\"info\",\"ts\":1781753676.7476997,\"logger\":\"tls.cache.maintenance\",\"msg\":\"stopped background certificate maintenance\",\"cache\":\"0xc00018acb0\"}\n",
"stdout": "Valid configuration\n"
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
},
{
"action_id": "caddywrite",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:36",
"duration_ms": 99,
"error": null,
"id": 2,
"params": {
"config": "cvt8858.aurorum.co {\n reverse_proxy 127.0.0.1:8858\n}\n",
"domain": "cvt8858.aurorum.co",
"dry_run": false,
"target": "live"
},
"result": {
"action": {
"dangerous": true,
"description": "Write a CVT8858-managed Caddy site fragment. Default target is live /etc/caddy/CVT8858.",
"entry": "caddywrite.py",
"id": "caddywrite",
"name": "Write Caddy Site",
"parameters": {
"config": {
"required": true,
"type": "string"
},
"domain": {
"pattern": "(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[A-Za-z]{2,63}",
"required": true,
"type": "string"
},
"dry_run": {
"default": false,
"required": false,
"type": "boolean"
},
"target": {
"default": "live",
"required": false,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/caddywrite.py",
"required_capability": "action.run:caddywrite",
"runtime": "python",
"timeout_seconds": 10
},
"actor": "local-cli",
"duration_ms": 99,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"backup": null,
"bytes": 56,
"dry_run": false,
"path": "/etc/caddy/CVT8858/cvt8858.aurorum.co.caddy",
"target": "live",
"written": "/etc/caddy/CVT8858/cvt8858.aurorum.co.caddy"
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
},
{
"action_id": "caddybootstrap",
"actor": "local-cli",
"created_at": "2026-06-18 03:34:36",
"duration_ms": 132,
"error": null,
"id": 1,
"params": {
"caddyfile": "/etc/caddy/Caddyfile",
"dry_run": false,
"managed_dir": "/etc/caddy/CVT8858"
},
"result": {
"action": {
"dangerous": true,
"description": "Create the CVT8858 Caddy fragment directory and ensure /etc/caddy/Caddyfile imports it. Backs up the existing Caddyfile before changing it.",
"entry": "caddybootstrap.py",
"id": "caddybootstrap",
"name": "Adopt Caddy",
"parameters": {
"caddyfile": {
"default": "/etc/caddy/Caddyfile",
"required": false,
"type": "string"
},
"dry_run": {
"default": false,
"required": false,
"type": "boolean"
},
"managed_dir": {
"default": "/etc/caddy/CVT8858",
"required": false,
"type": "string"
}
},
"path": "/home/webhost/domains/cvt8858.aurorum.co/public/actions/caddybootstrap.py",
"required_capability": "action.run:caddybootstrap",
"runtime": "python",
"timeout_seconds": 15
},
"actor": "local-cli",
"duration_ms": 132,
"exit_code": 0,
"forced": true,
"ok": true,
"permission": null,
"result": {
"already_imported": false,
"backup": "/etc/caddy/Caddyfile.cvt8858.bak.1781753676",
"caddyfile": "/etc/caddy/Caddyfile",
"changed": true,
"dry_run": false,
"import_line": "import /etc/caddy/CVT8858/*.caddy",
"managed_dir": "/etc/caddy/CVT8858"
},
"run_id": null,
"stderr_tail": ""
},
"status": "ok"
}
]