Add SCUM file management workbench
This commit is contained in:
@@ -6,11 +6,12 @@ when a server uses `custom-command` mode and Run executes the operator-reviewed
|
||||
argv-oriented command inside its local policy.
|
||||
|
||||
Guided or existing-server game setup is plugin-owned. Platform dispatches the
|
||||
plugin-declared lifecycle action reference, such as `actions/install.json`, and
|
||||
may include generic deployment context (`mode`, `profileKey`, `serverRoot`, and
|
||||
`createInputs`) so the plugin action can resolve its own behavior. Platform does
|
||||
not create a game-specific `serverDeploymentPlan`, and SCUM no longer requires a
|
||||
`deployment.scum.v1` capability.
|
||||
plugin-declared lifecycle action reference, such as `actions/install.json` or a
|
||||
supervised `actions/start.json` bootstrap, and may include generic deployment
|
||||
context (`mode`, `profileKey`, `serverRoot`, and `createInputs`) so the plugin
|
||||
action can resolve its own behavior. Platform does not create a game-specific
|
||||
`serverDeploymentPlan`, and SCUM no longer requires a `deployment.scum.v1`
|
||||
capability.
|
||||
|
||||
## Capability and policy
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@ A server instance is created from one installed game management plugin and bound
|
||||
|
||||
### States
|
||||
|
||||
- `draft`: instance record exists but install job has not completed.
|
||||
- `installing`: run install job is active.
|
||||
- `ready`: install succeeded and the server can start.
|
||||
- `draft`: instance record exists but the first bootstrap job has not completed.
|
||||
- `installing`: the first plugin-owned bootstrap job is active.
|
||||
- `ready`: install/bootstrap succeeded without starting a supervised process, and the server can start.
|
||||
- `running`: server process is running.
|
||||
- `stopped`: server process is stopped.
|
||||
- `failed`: last lifecycle operation failed.
|
||||
@@ -36,7 +36,7 @@ A server instance is created from one installed game management plugin and bound
|
||||
|
||||
## Lifecycle Actions
|
||||
|
||||
- `create`: validate plugin, create instance record, dispatch install job.
|
||||
- `create`: validate plugin, create instance record, dispatch the plugin-owned bootstrap job.
|
||||
- `start`: dispatch process start job through the bound run endpoint.
|
||||
- `stop`: dispatch process stop job through the bound run endpoint.
|
||||
- `restart`: dispatch stop/start or plugin-defined restart job.
|
||||
@@ -48,7 +48,7 @@ A server instance is created from one installed game management plugin and bound
|
||||
- `GET /api/v1/plugin-marketplace/plugins` lists plugin marketplace summaries from registry metadata with status, server type, capability, and keyword filters.
|
||||
- `GET /api/v1/plugin-marketplace/plugins/{id}` returns one registry-backed marketplace detail.
|
||||
- `POST /api/v1/plugin-marketplace/plugins/{id}/state` applies metadata-only `install`, `enable`, or `disable` state changes.
|
||||
- `POST /api/v1/server-instances/workflows/create` validates an installed plugin, a compatible run endpoint, a non-empty idempotency key, and required lifecycle action references. It creates the instance in `installing` state and queues a `process.install` job.
|
||||
- `POST /api/v1/server-instances/workflows/create` validates an installed plugin, a compatible run endpoint, a non-empty idempotency key, and required lifecycle action references. It creates the instance in `installing` state and queues either `process.install` or, for guided deployments whose selected lifecycle profile supports supervised start, `process.start` so the plugin start script can install-if-missing and stream process logs.
|
||||
- `POST /api/v1/server-instances/{id}/start` validates the instance is `ready` or `stopped`, checks the expected config version, verifies the plugin start action and run endpoint `process.start` capability, and queues a start job.
|
||||
- `POST /api/v1/server-instances/{id}/stop` validates the instance is `running`, checks the expected config version, verifies the plugin stop action and run endpoint `process.stop` capability, and queues a stop job.
|
||||
- `GET /api/v1/server-instances/{id}/config` returns logical read-only config content for an authorized server instance with config version, format, key, source, and update timestamp metadata.
|
||||
|
||||
Reference in New Issue
Block a user