johnandersen777.bsky.social/atlibs-socialweb-computer-requester
socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons
0
0
{
"lexicon": 1,
"id": "com.publicdomainrelay.temp.compute.vm",
"defs": {
"main": {
"type": "record",
"description": "Descibes a virtual machine",
"key": "tid",
"record": {
"type": "object",
"required": [
"cpus",
"mem",
"disk",
"network",
"role",
"user_data"
],
"properties": {
"kind": {
"type": "string",
"knownValues": ["vm", "deno"],
"description": "What the bidder runs for this request: a firecracker virtual machine (the default when absent), or a deno sandbox that runs user_data as its program."
},
"cpus": {
"type": "integer",
"minimum": 1,
"description": "Number of vCPUs requested."
},
"mem": {
"type": "string",
"description": "Memory request, e.g. '512M', '4G'."
},
"disk": {
"type": "string",
"description": "Disk request, e.g. '10G'."
},
"network": {
"type": "string",
"description": "Network throughput / quota, e.g. '500G'."
},
"location": {
"type": "ref",
"ref": "#location"
},
"role": {
"type": "string",
"description": "RBAC role the compute should run under. The requester's did:plc may set this freely, so agents must use their own accounts since we scope roles under accounts."
},
"user_data": {
"type": "string",
"description": "cloud-init user data to bootstrap the compute."
},
"expiresAt": {
"type": "string",
"format": "datetime",
"description": "When the requester wants the VM ended. The bidder ends it then (it may end it earlier by its own policy) and refuses an RFP whose expiresAt has passed; without it, the bidder ends the VM 24 h after the accept."
}
}
}
},
"location": {
"type": "object",
"description": "Geographic placement constraint for the requested compute.",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code or human-readable country name."
},
"region": {
"type": "string",
"description": "Region within the country, e.g. 'west'."
}
}
}
}
}