apiVersion: apis.kcp.io/v1alpha1 kind: APIResourceSchema metadata: name: v1alpha1-31.computecontracts.socialweb.computer spec: group: socialweb.computer names: kind: ComputeContract listKind: ComputeContractList plural: computecontracts singular: computecontract scope: Cluster versions: - name: v1alpha1 served: true storage: true subresources: status: {} schema: type: object properties: apiVersion: type: string kind: type: string metadata: type: object spec: type: object properties: vmName: type: string bidderDids: type: array items: type: string denyBidderDids: type: array items: type: string sshAuthorizedKeys: type: array items: type: string userData: type: string computeKind: type: string enum: - vm - deno default: vm policy: type: string policyArgs: type: string vmReadyTimeoutSec: type: integer tunnels: type: array items: type: object properties: tag: type: string pattern: ^[a-z0-9]([a-z0-9-]{0,30}[a-z0-9])?$ port: type: integer minimum: 1 maximum: 65535 server: type: string shell: type: object properties: envFile: type: string default: /etc/wootty/wootty.env transport: type: string enum: - opentunnel - webrtc default: opentunnel required: - tag - port x-kubernetes-list-type: map x-kubernetes-list-map-keys: - tag agent: type: object properties: envFile: type: string default: /etc/atirc/atirc.env association: type: object properties: subject: type: string fromGuest: type: boolean refFile: type: string default: /etc/socialweb-computer/association-ref guestTools: type: array items: type: string enum: - socialweb-computer x-kubernetes-list-type: set secretsRef: type: object properties: vault: type: object properties: group: type: string kind: type: string maxLength: 63 name: type: string maxLength: 253 workspace: type: string required: - kind - name mount: type: string path: type: string key: type: string required: - mount - path release: type: boolean releaseRequestedAt: type: string ownerDid: type: string adopt: type: boolean nodeJoin: type: object properties: clusterRef: type: object properties: name: type: string maxLength: 253 required: - name meshd: type: object properties: downloadBase: type: string pins: type: array items: type: object properties: arch: type: string sha256: type: string required: - arch - sha256 required: - downloadBase - pins nodeAgent: type: object properties: downloadBase: type: string pins: type: array items: type: object properties: arch: type: string sha256: type: string required: - arch - sha256 required: - downloadBase - pins required: - clusterRef ttlSecondsAfterFinished: type: integer format: int32 default: 691200 minimum: 0 status: type: object properties: observedGeneration: type: integer format: int64 phase: type: string enum: - Pending - Requesting - Held - Releasing - Released - Failed message: type: string secretsUrl: type: string secretsFetchedAt: type: string contract: type: object properties: vmUri: type: string rfpUri: type: string acceptUri: type: string receiptUri: type: string receiptCid: type: string submitEventRef: type: string version: type: integer phase: type: string enum: - requested - rfp_submitted - winner_selected - accepted - receipt - network - released vmName: type: string requesterDid: type: string marketDid: type: string payload: type: object properties: uri: type: string cid: type: string required: - uri - cid rfp: type: object properties: uri: type: string cid: type: string required: - uri - cid policy: type: object properties: uri: type: string cid: type: string required: - uri - cid bid: type: object properties: uri: type: string cid: type: string required: - uri - cid winner: type: object properties: did: type: string submitAccept: type: string required: - did acceptPending: type: object properties: bidUri: type: string required: - bidUri accept: type: object properties: uri: type: string cid: type: string required: - uri - cid receipt: type: object properties: uri: type: string cid: type: string required: - uri - cid receiptOk: type: boolean vmAddress: type: string networks: type: array items: type: object properties: tag: type: string kind: type: string enum: - iroh - https - webrtc address: type: string at: type: string event: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - tag - address - event bids: type: integer release: type: object properties: event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid ok: type: boolean status: type: integer required: - event - payload - ok termination: type: object properties: reason: type: string exitCode: type: integer observedAt: type: string event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid request: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - reason - observedAt - event - payload hostKeys: type: object properties: keys: type: array items: type: object properties: type: type: string publicKey: type: string fingerprint: type: string required: - type - publicKey - fingerprint observedAt: type: string event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - keys - observedAt - event - payload sandbox: type: object properties: exitCode: type: integer timedOut: type: boolean stdout: type: string stderr: type: string observedAt: type: string required: - exitCode secretsRequested: type: object properties: requestedAt: type: string event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - requestedAt - event - payload secretsApplied: type: object properties: appliedAt: type: string via: type: string count: type: integer format: int64 event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - appliedAt - event - payload guestRequester: type: object properties: did: type: string state: type: string enum: - Pending - Verified - Refused message: type: string reportedAt: type: string event: type: object properties: uri: type: string cid: type: string required: - uri - cid payload: type: object properties: uri: type: string cid: type: string required: - uri - cid required: - did - state - reportedAt - event - payload r2Release: type: object properties: phase: type: string enum: - Requested - Released - Failed - TimedOut ok: type: boolean message: type: string requestedAt: type: string answeredAt: type: string required: - phase outcome: type: string enum: - no_bids - bids_denied - policy_rejected - returned - receipt_invalid - network_timeout - complete error: type: string timestamps: type: object properties: requested: type: string rfp_submitted: type: string winner_selected: type: string accepted: type: string receipt: type: string network: type: string released: type: string grant: type: object properties: issuer: type: string subject: type: string audience: type: string role: type: string required: - issuer - subject - audience bids: type: array items: type: object properties: did: type: string uri: type: string offer: type: string cost: type: integer format: int64 verdict: type: string enum: - considered - denied - chosen - notChosen - policyRejected arrivedAt: type: string required: - did - uri - verdict - arrivedAt chosen: type: object properties: uri: type: string did: type: string reason: type: string enum: - firstFree - bestWithinWindow - policy - resumed considered: type: integer required: - uri - did - reason - considered conditions: type: array items: type: object x-kubernetes-preserve-unknown-fields: true execution: type: object properties: step: type: string stepStartedAt: type: string lastEventAt: type: string lastError: type: string attempts: type: integer format: int32 release: type: object properties: startedAt: type: string deadline: type: string attempts: type: integer lastError: type: string requestedAt: type: string pendingEvents: type: array items: type: object properties: uri: type: string cid: type: string receiptUri: type: string receivedAt: type: string required: - uri association: type: object properties: uri: type: string cid: type: string required: - uri - cid associationMessage: type: string atircRevokes: type: string enum: - Pending - Done - Abandoned heldSession: type: object properties: name: type: string guestKeyPath: type: string until: type: string required: - name - until additionalPrinterColumns: - name: Phase type: string jsonPath: .status.phase - name: Contract type: string jsonPath: .status.contract.phase - name: Winner type: string jsonPath: .status.contract.winner.did - name: Age type: date jsonPath: .metadata.creationTimestamp