Complete platform management workflows

This commit is contained in:
npc0-hue
2026-07-14 16:39:37 +08:00
parent 7e05d0a4e7
commit 4f33f761a3
106 changed files with 11313 additions and 460 deletions
+19
View File
@@ -39,6 +39,23 @@ Platform-dispatched config/file jobs are now represented in the run job payload
- `files.read`: reads a declared logical file key and returns results through bounded metadata or artifact refs.
- `files.write`: writes content addressed by a logical file key plus scoped `input://...` or `artifact://...` ref.
Plugin-declared remote access jobs use the same job channel and remain bounded metadata envelopes:
- `remote.ftp.read` / `remote.ftp.write`: platform-mediated FTP file transfer requests.
- `remote.rsync.read` / `remote.rsync.write`: platform-mediated rsync file transfer requests.
- `remote.run.files.read` / `remote.run.files.write`: run-mediated logical file operations.
- `remote.run.process.start` / `remote.run.process.stop`: run-mediated remote process lifecycle operations.
- `remote.run.db.mysql.query` / `remote.run.db.sqlite.query`: run-mediated database read envelopes with scoped input refs for query payloads.
- `remote.run.logs.transfer`: run-mediated log transfer through log/artifact channels.
- `remote.run.rcon.command`: run-mediated RCON command envelopes with scoped input refs.
Run distribution and runtime support jobs use the same lightweight job lifecycle:
- `run.self-update`: stages an approved run artifact by `artifact://...` ref, verifies checksum/signature metadata, and reports a rollback-safe status ref.
- `dependencies.check`: runs a plugin-declared typed dependency probe addressed by a logical `dependencies/...` key.
- `dependencies.install`: runs only an approved typed install plan addressed by `dependencies/install/...`; arbitrary shell snippets are rejected by validation.
- `logs.backfill`: advances historical log cursors for declared process, file, FTP, SQL, or plugin-specific sources and returns bounded cursor/result refs instead of log bodies.
The executor resolves lifecycle action templates under the scoped server workspace and runs direct command/argument vectors through the process supervisor. It does not run unrestricted shell strings, execute arbitrary plugin code, expose host paths, return raw credentials, open direct sockets, or embed logs/artifacts in job result payloads.
## Rules
@@ -47,6 +64,8 @@ The executor resolves lifecycle action templates under the scoped server workspa
- Terminal result must be replayable while the journal retains the job.
- Large files must be passed as artifact references, not embedded in job payloads.
- Config/file job payloads must use logical target keys and scoped input/artifact refs.
- Remote database and RCON jobs must use scoped input/artifact refs rather than embedding query or command bodies in job results.
- Run self-update, dependency, and log backfill jobs must use declared capabilities, logical target keys, scoped refs, and bounded result refs.
- Job payloads must not include logs, artifact chunks, raw host paths, raw credentials, direct sockets, or large inline result bodies.
- Process stdout/stderr must be redacted and written to the log spool rather than embedded in progress/result bodies.
- Job ack/progress/result/cancel/reconcile calls are lightweight lifecycle metadata and must be able to complete while artifact/file transfer work is active or retrying.