Complete platform management workflows
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user