controlspec / runtime-support.json
claytonsamples's picture
Upload 6 files
d140fc3 verified
Raw History Blame Contribute Delete
11.7 kB
{
"schema_version": "1",
"synthetic_only": true,
"sandbox_id": "cf9877e9-b1d4-4c13-b919-f222cc9dae1f",
"runtime_report_sha256": "c0e375fd5b56c3e3185ed1a98880e70a87d68eea5ad3691dea327b6518eab414",
"controller_image": "ghcr.io/astral-sh/uv@sha256:531f855bda2c73cd6ef67d56b733b357cea384185b3022bd09f05e002cd144ca",
"supervisor_base": "ghcr.io/nvidia/openshell/supervisor@sha256:d7b5264bb6bc56f4796e6fa3617b8e4a8d785be0b7293542efd8cc250b0fb67a",
"supervisor_image_id": "sha256:6991babe94f436fb043f7d3510ba42517d6f248870e3cc852afc2a713f55fa3a",
"workload_image_id": "sha256:43618714a62a0fd0f1c6889aa6cbe9c1d618f459a69cb1c673da72d721ca9b7f",
"docker_version": "28.5.1",
"kernel": "6.6.87.2-microsoft-standard-WSL2",
"supervisor_logs": [
"2026-09-30T22:20:19.487Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:19.531Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:19.567Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:true]",
"2026-09-30T22:20:19.659Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:19.712Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:19.742Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:action_already_reserved]",
"2026-09-30T22:20:19.813Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:19.853Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:19.876Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:approval_required]",
"2026-09-30T22:20:19.943Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:19.980Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:20.007Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:approval_required]",
"2026-09-30T22:20:20.145Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:20.185Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:20.217Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:true]",
"2026-09-30T22:20:20.334Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:20.384Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:20.425Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:approval_required]",
"2026-09-30T22:20:20.575Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:20.623Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:20.635Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:action_changed]",
"2026-09-30T22:20:20.781Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:20.822Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:20.852Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:false reason:middleware_denied:controlspec-purchases:policy_denied]",
"2026-09-30T22:20:20.949Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:20.988Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:21.014Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:false transformed:true]",
"2026-09-30T22:20:21.208Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:21.253Z OCSF HTTP:GET [MED] DENIED GET http://host.openshell.internal:18081/state [policy:synthetic-purchase engine:l7] [reason:L7_REQUEST deny GET host.openshell.internal:18081/state reason=GET /state not permitted by policy]",
"2026-09-30T22:20:21.346Z OCSF NET:OPEN [MED] DENIED /usr/bin/curl(0) -> 172.30.0.2:18081 [reason:transparent_tcp_policy_denied]",
"2026-09-30T22:20:21.462Z OCSF NET:OPEN [MED] DENIED /usr/bin/curl(0) -> 172.30.0.2:17670 [reason:transparent_tcp_policy_denied]",
"2026-09-30T22:20:21.556Z OCSF NET:OPEN [MED] DENIED /usr/bin/curl(0) -> 172.30.0.2:50051 [reason:transparent_tcp_policy_denied]",
"2026-09-30T22:20:21.878Z OCSF NET:OPEN [INFO] ALLOWED /usr/bin/curl(0) -> host.openshell.internal:18081 [policy:synthetic-purchase engine:opa]",
"2026-09-30T22:20:21.920Z OCSF HTTP:POST [INFO] ALLOWED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:l7]",
"2026-09-30T22:20:21.921Z OCSF HTTP:POST [MED] DENIED POST http://host.openshell.internal:18081/purchases [policy:synthetic-purchase engine:middleware] [failed:true transformed:false reason:middleware_failed: external_service_error]"
],
"recovery": {
"scenario": "middleware_recovery",
"command": [
"openshell",
"--gateway-endpoint",
"http://127.0.0.1:17670",
"sandbox",
"exec",
"--name",
"csrt-20260930-8e3f",
"--no-tty",
"--no-login-shell",
"--",
"/usr/bin/curl",
"-sS",
"-i",
"--max-time",
"12",
"https://host.openshell.internal:18081/purchases",
"-H",
"content-type: application/json",
"--data",
"{\"schema_version\":\"1\",\"action_id\":\"runtime-43e46fd5e9-recovery\",\"amount_minor\":4200,\"currency\":\"USD\",\"merchant\":\"demo-store\",\"recurring\":false}"
],
"exit_code": 0,
"stdout": "HTTP/1.1 200 OK\ndate: Wed, 30 Sep 2026 22:21:47 GMT\nserver: uvicorn\ncontent-length: 618\ncontent-type: application/json\n\n{\"schema_version\":\"1\",\"synthetic_only\":true,\"status\":\"committed\",\"action_id\":\"runtime-43e46fd5e9-recovery\",\"scope\":{\"gateway_id\":\"controlspec-runtime-18a317b6341a\",\"sandbox_id\":\"cf9877e9-b1d4-4c13-b919-f222cc9dae1f\"},\"request_digest\":\"sha256:f7c068f1e05f61a3fb5dd6f658cbacf04d64e34a633caf35360ae663c2a977fa\",\"nonce\":\"3dde692254cedb2d1c061d5e0e7b3ba27b0f2467b4c94a262b68337ecc2a2d5e\",\"amount_minor\":4200,\"committed_at\":\"2026-09-30T22:21:48.071657Z\",\"evidence_id\":\"sha256:eaae0f87ecdb0d3a8f8c73821e670f583d7850f6d9a87f53a4c311603a823766\",\"evidence_mac\":\"e3fe357b29f5771c565a67bc36acd10be1686a159838700dc2cab1b6b13a1603\"}",
"stderr": "",
"http": {
"status": 200,
"headers": {
"date": "Wed, 30 Sep 2026 22:21:47 GMT",
"server": "uvicorn",
"content-length": "618",
"content-type": "application/json"
},
"body": {
"schema_version": "1",
"synthetic_only": true,
"status": "committed",
"action_id": "runtime-43e46fd5e9-recovery",
"scope": {
"gateway_id": "controlspec-runtime-18a317b6341a",
"sandbox_id": "cf9877e9-b1d4-4c13-b919-f222cc9dae1f"
},
"request_digest": "sha256:f7c068f1e05f61a3fb5dd6f658cbacf04d64e34a633caf35360ae663c2a977fa",
"nonce": "3dde692254cedb2d1c061d5e0e7b3ba27b0f2467b4c94a262b68337ecc2a2d5e",
"amount_minor": 4200,
"committed_at": "2026-09-30T22:21:48.071657Z",
"evidence_id": "sha256:eaae0f87ecdb0d3a8f8c73821e670f583d7850f6d9a87f53a4c311603a823766",
"evidence_mac": "e3fe357b29f5771c565a67bc36acd10be1686a159838700dc2cab1b6b13a1603"
}
},
"target_purchase_delta": 1,
"target_spend_delta_minor": 4200,
"completion_verified": true,
"effective_policy_unchanged": true,
"policy_after": {
"active_version": 2,
"config_revision": 16511938764146938059,
"hash": "672621067d5e56ef6db856be8c756d9a1529ef66327428263026eea079f779fd",
"policy": {
"filesystem_policy": {
"include_workdir": true,
"read_only": [
"/usr",
"/lib",
"/etc",
"/var/log",
"/proc",
"/dev/urandom"
],
"read_write": [
"/tmp",
"/dev/null"
]
},
"network_middlewares": {
"controlspec-purchases": {
"config": {
"profile": "synthetic-purchases-v1"
},
"endpoints": {
"include": [
"host.openshell.internal"
]
},
"middleware": "controlspec-demo",
"name": "ControlSpec synthetic purchases",
"on_error": "fail_closed",
"order": 100
}
},
"network_policies": {
"synthetic-purchase": {
"binaries": [
{
"path": "/usr/bin/curl"
}
],
"endpoints": [
{
"enforcement": "enforce",
"host": "host.openshell.internal",
"port": 18081,
"protocol": "rest",
"rules": [
{
"allow": {
"method": "POST",
"path": "/purchases"
}
}
]
}
],
"name": "Synthetic purchases"
}
},
"version": 1
},
"policy_source": "sandbox",
"sandbox": "csrt-20260930-8e3f",
"scope": "sandbox",
"status": "effective",
"version": 2
},
"synthetic_only": true,
"status": "passed"
}
}