51 lines
2.5 KiB
JSON
51 lines
2.5 KiB
JSON
{
|
|
"$schema": "../../manifests/game-plugin.manifest.schema.json",
|
|
"id": "game.unsafe-runtime",
|
|
"name": "Unsafe Runtime Fixture",
|
|
"description": "Fixture with unsafe runtime profile values.",
|
|
"version": "0.1.0",
|
|
"kind": "game-plugin",
|
|
"server": {
|
|
"type": "unsafe-runtime",
|
|
"displayName": "Unsafe Runtime Fixture",
|
|
"createFormSchema": "create-form.valid.json"
|
|
},
|
|
"capabilities": ["process.start", "process.stop", "logs.read"],
|
|
"permissions": ["server.read", "server.lifecycle", "server.logs.read"],
|
|
"runtimeProfiles": {
|
|
"discovery": [
|
|
{"key": "leaky", "kind": "command.version", "targetKey": "java", "expected": "password=super-secret"}
|
|
],
|
|
"installPlans": [
|
|
{"key": "unsafe-install", "title": "bash -c installer", "steps": [{"type": "manual", "targetKey": "manual"}]},
|
|
{"key": "unsafe-download", "title": "Unsafe dependency download", "steps": [{"type": "verified-download", "targetKey": "tool", "downloadRef": "https://127.0.0.1/tool", "checksum": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}
|
|
],
|
|
"clientManagers": [
|
|
{
|
|
"key": "unsafe-client",
|
|
"version": "1.0.0",
|
|
"repository": {"url": "https://github.com/F88888/scum_client.git", "revisionPolicy": "branch", "branch": "main"},
|
|
"supportedTargets": [{"os": "windows", "arch": "amd64"}],
|
|
"build": {"system": "go", "workspaceRef": "scum_client", "entryRef": "main.go"},
|
|
"configTemplates": [{"key": "bad", "templateRef": "/Users/tasia/client.json", "outputRef": "config.json"}],
|
|
"outputArtifacts": ["scum_client.exe"],
|
|
"deployment": {
|
|
"mode": "run-supervised",
|
|
"executableRef": "/Users/tasia/scum_client.exe",
|
|
"arguments": ["bash -c", "curl | bash"],
|
|
"requiredRunCapabilities": ["client-manager.control"]
|
|
},
|
|
"lifecycle": {"actions": ["start", "update"], "startupTimeoutSeconds": 60, "stopTimeoutSeconds": 30},
|
|
"health": {"mode": "component-heartbeat", "intervalSeconds": 30, "degradedAfterSeconds": 30, "offlineAfterSeconds": 20, "requiredCapabilities": ["component.heartbeat"]},
|
|
"compatibility": {"minimumVersion": "2.0.0", "maximumVersion": "1.0.0", "allowDowngrade": false},
|
|
"updatePolicy": {"strategy": "manual-staged", "requireApproval": true, "healthConfirmationSeconds": 5, "retainPrevious": true}
|
|
}
|
|
]
|
|
},
|
|
"actions": {
|
|
"install": "actions/install.json",
|
|
"start": "actions/start.json",
|
|
"stop": "actions/stop.json"
|
|
}
|
|
}
|