Move SCUM lifecycle ownership to plugin

This commit is contained in:
npc0-hue
2026-08-01 09:36:12 +08:00
parent bca4f935ba
commit d1249fca85
49 changed files with 795 additions and 566 deletions
@@ -157,6 +157,12 @@
"status": { "$ref": "#/$defs/relativeJsonRef" }
}
},
"assetFiles": {
"type": "array",
"items": { "$ref": "#/$defs/pluginAssetFile" },
"uniqueItems": true,
"maxItems": 64
},
"productionLifecycle": {
"type": "object",
"required": ["operations", "dependencyPolicy", "approvalRequired"],
@@ -222,6 +228,15 @@
"pluginLogicalDirectory": { "type": "object", "required": ["key", "label", "scope"], "additionalProperties": false, "properties": { "key": { "$ref": "#/$defs/logicalKey" }, "label": { "type": "string", "minLength": 1, "maxLength": 60 }, "scope": { "enum": ["config", "logs"] } } },
"pluginLogicalFile": { "type": "object", "required": ["key", "directoryKey", "label", "kind"], "additionalProperties": false, "properties": { "key": { "$ref": "#/$defs/logicalKey" }, "directoryKey": { "$ref": "#/$defs/logicalKey" }, "label": { "type": "string", "minLength": 1, "maxLength": 80 }, "kind": { "enum": ["config", "log"] }, "streamKey": { "$ref": "#/$defs/logicalKey" }, "editable": { "type": "boolean" } } },
"pluginConfigField": { "type": "object", "required": ["key", "fileKey", "configKey", "label", "description", "control", "restartImpact"], "additionalProperties": false, "properties": { "key": { "$ref": "#/$defs/logicalKey" }, "fileKey": { "$ref": "#/$defs/logicalKey" }, "configKey": { "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_.-]*$", "maxLength": 120 }, "label": { "type": "string", "minLength": 1, "maxLength": 80 }, "description": { "type": "string", "minLength": 1, "maxLength": 240 }, "control": { "enum": ["text", "number", "boolean", "port"] }, "minimum": { "type": "integer", "minimum": 0, "maximum": 65535 }, "maximum": { "type": "integer", "minimum": 0, "maximum": 65535 }, "defaultValue": { "type": "string", "maxLength": 120 }, "restartImpact": { "enum": ["none", "restart-required"] } } },
"pluginAssetFile": {
"type": "object",
"required": ["path"],
"additionalProperties": false,
"properties": {
"path": { "$ref": "#/$defs/relativePathRef" },
"mode": { "type": "integer", "enum": [384, 448] }
}
},
"pluginCreateField": {
"type": "object",
"required": ["key", "label", "type"],
@@ -378,7 +393,6 @@
"process.restart",
"process.status",
"deployment.plan.v1",
"deployment.scum.v1",
"config.write",
"files.list",
"files.read",