~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
77 lines · 2.5 KB Raw History
{
  "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'."
        }
      }
    }
  }
}