{ "$type": "com.fedfork.exec.composition", "name": "app.socialweb.computer", "description": "socialweb.computer in a page: VMs (vm-mcp over the requester, its shell over WebRTC), atirc mesh agents on them (mesh-agent over process-mcp), your Tangled vouches, and bidders' market state.", "parameters": [ { "key": "bidders", "label": "Bidder DIDs", "type": "array", "description": "The bidders to ask, by DID.", "values": { "default": [ "did:plc:7q5lnitxv4meizdon5fmhzrq", "did:plc:4vcig7s43z3nyqrnepmcfzqt", "did:plc:2l2wdry77c7jtucbslstagkj" ] } }, { "key": "pool", "label": "Pool", "type": "string", "description": "The record key of the VM list.", "values": { "default": "self" } }, { "key": "atirc_url", "label": "atirc binary", "type": "string", "description": "A static linux/amd64 atirc with `atirc mesh` (atirc 2de8b6c: --local-listen, sub --others; kcp's build-cargosrc.sh recipe).", "values": { "default": "https://app.socialweb.computer/dl/atirc-x86_64" } }, { "key": "atirc_sha256", "label": "its sha256", "type": "string", "values": { "default": "fecce97e7828ef4c21d35c4f7d446a5858978a46cbeb6f11d595f1e79d59b1c4" } } ], "instances": [ { "name": "vm", "module": "vm-mcp", "pin": "602627e942a83a0286c28633575f22f82b098825407455f90b6537df0f3131f1", "input": { "bidders": { "$param": "bidders" }, "via": "webrtc", "pool": { "$param": "pool" }, "max_vms": 3, "max_cpus": 4, "max_mem": 8, "max_hold_minutes": 240 } }, { "name": "machine", "module": "requester", "pin": "dab378f88fffcb9e5aad849fd0008bb433f54cab59cce0648e64f345804ec0ae", "session": "requester", "input": { "kind": "vm", "shell": true, "tunnels": [ { "tag": "atirc", "port": 6680, "transport": "webrtc" } ], "reason": "app.socialweb.computer" } }, { "name": "user_data", "module": "user-data", "pin": "c605eb611ae1bcc61e287dd3c71a489b1622e6ff98930b244f40a31a9a73f435" }, { "name": "iroh_user_data", "module": "iroh-user-data", "pin": "5759ca46da97109fcc554bc6febed9c4d0af4f9f3271a6689be08a26309ef2a5" }, { "name": "vouch", "module": "policy-requester-tangled-vouch", "pin": "4ead1fb6855a5f84b6e5e1f61898424c0d25c6915376e7cea3978c6194f5ceb4" }, { "name": "payload", "module": "policy-bid-payload", "pin": "00d51f8bd99705b2cc573733c6fe408ba201192f5e377f272485768cbad58d65" }, { "name": "process", "module": "process-mcp", "pin": "dadc0da54d561aa16835a5657a77e14b440b20aca4f544c74839278245a1ad2c" }, { "name": "agent", "module": "mesh-agent", "pin": "6ee23766ea826e65144a2206792e93157a3289f7596d7e4eaa31577e33692019", "session": "mesh-agent", "input": { "atirc_url": { "$param": "atirc_url" }, "atirc_sha256": { "$param": "atirc_sha256" }, "listen_port": 6680 } }, { "name": "vouches", "module": "vouches", "pin": "c22b570825cb7eb98740089763e239b5732ee718df5c58db2f81c50bb854fabe", "session": "vouches" }, { "name": "status", "module": "market-status", "pin": "520175488601c27c9af3aac5a6de6f425265b69cddf04fbf0d5879910fa546f0", "session": "market-status" } ], "edges": [ { "from": "vm", "nsid": "computer.socialweb.vm.provision", "to": "machine", "reason": "vm_create rents the VM and keeps it" }, { "from": "vm", "nsid": "computer.socialweb.vm.release", "to": "machine", "reason": "vm_release gives it back" }, { "from": "vm", "nsid": "computer.socialweb.cicd.process.exec", "to": "process", "reason": "vm_exec runs the command on the VM" }, { "from": "agent", "nsid": "computer.socialweb.cicd.process.exec", "to": "process", "reason": "launch installs and starts the agent on the VM" }, { "from": "machine", "nsid": "com.publicdomainrelay.temp.market.evaluatePolicy", "to": "vouch", "reason": "you or your operator vouched for the bidder" }, { "from": "machine", "nsid": "com.publicdomainrelay.temp.market.evaluatePolicy", "to": "payload", "reason": "only free bids" }, { "from": "machine", "nsid": "computer.socialweb.vm.userData", "to": "user_data", "reason": "the VM's cloud-init: the guest agent's shell" }, { "from": "user_data", "nsid": "computer.socialweb.vm.irohUserData", "to": "iroh_user_data", "reason": "unused here (no iroh, no webrtc_ssh): user-data's pinned default" } ], "limits": { "depth": 4, "calls": 100000 } }