~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
1710 lines · 66.0 KB Raw History
apiVersion: apis.kcp.io/v1alpha1
kind: APIResourceSchema
metadata:
  name: v1alpha1-32.marketnetworks.socialweb.computer
spec:
  group: socialweb.computer
  names:
    kind: MarketNetwork
    listKind: MarketNetworkList
    plural: marketnetworks
    singular: marketnetwork
  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:
              profile:
                type: string
              suspend:
                type: boolean
              guestLabel:
                type: string
              comms:
                type: object
                properties:
                  mode:
                    type: string
                    enum:
                      - XRPC
                      - Firehose
                      - Both
                  eventSourceRefs:
                    type: array
                    items:
                      type: object
                      properties:
                        group:
                          type: string
                        kind:
                          type: string
                          maxLength: 63
                        name:
                          type: string
                          maxLength: 253
                        workspace:
                          type: string
                      required:
                        - kind
                        - name
                  relayUrls:
                    type: array
                    items:
                      type: string
                  jetstreamUrls:
                    type: array
                    items:
                      type: string
              ingress:
                type: object
                properties:
                  provider:
                    type: string
                    enum:
                      - webrtc
                      - xrpc-subscription
                      - opentunnel
                      - iroh
                  ingressRef:
                    type: object
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                        maxLength: 63
                      name:
                        type: string
                        maxLength: 253
                      workspace:
                        type: string
                    required:
                      - kind
                      - name
                  publicHost:
                    type: string
                  xrpc:
                    type: object
                    properties:
                      ingressProxyHost:
                        type: string
                      relayURL:
                        type: string
                      relayRef:
                        type: object
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                            maxLength: 63
                          name:
                            type: string
                            maxLength: 253
                          workspace:
                            type: string
                        required:
                          - kind
                          - name
                      identityRef:
                        type: object
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                            maxLength: 63
                          name:
                            type: string
                            maxLength: 253
                          workspace:
                            type: string
                        required:
                          - kind
                          - name
                  opentunnel:
                    type: object
                    properties:
                      command:
                        type: array
                        items:
                          type: string
                      routeName:
                        type: string
                        maxLength: 63
                        pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                      proxyProtocol:
                        type: string
                        enum:
                          - v1
                          - v2
                      localHost:
                        type: string
                  webrtc:
                    type: object
                    properties:
                      stunUrls:
                        type: array
                        items:
                          type: string
                      sessionTtlSeconds:
                        type: integer
                        format: int32
                        default: 600
                        minimum: 1
                      maxSessions:
                        type: integer
                        format: int32
                        default: 64
                        minimum: 1
              components:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    suspend:
                      type: boolean
                    restartPolicy:
                      type: string
                      enum:
                        - Never
                        - OnFailure
                        - Always
                    limits:
                      type: object
                      properties:
                        cpuMillicores:
                          type: integer
                          format: int32
                        memoryBytes:
                          type: integer
                          format: int64
                        diskBytes:
                          type: integer
                          format: int64
                    serviceAuth:
                      type: object
                      properties:
                        audience:
                          type: array
                          items:
                            type: string
                        hostname:
                          type: string
                    comms:
                      type: object
                      properties:
                        mode:
                          type: string
                          enum:
                            - XRPC
                            - Firehose
                            - Both
                        eventSourceRefs:
                          type: array
                          items:
                            type: object
                            properties:
                              group:
                                type: string
                              kind:
                                type: string
                                maxLength: 63
                              name:
                                type: string
                                maxLength: 253
                              workspace:
                                type: string
                            required:
                              - kind
                              - name
                        relayUrls:
                          type: array
                          items:
                            type: string
                        jetstreamUrls:
                          type: array
                          items:
                            type: string
                    ingress:
                      type: object
                      properties:
                        provider:
                          type: string
                          enum:
                            - webrtc
                            - xrpc-subscription
                            - opentunnel
                            - iroh
                        ingressRef:
                          type: object
                          properties:
                            group:
                              type: string
                            kind:
                              type: string
                              maxLength: 63
                            name:
                              type: string
                              maxLength: 253
                            workspace:
                              type: string
                          required:
                            - kind
                            - name
                        publicHost:
                          type: string
                        xrpc:
                          type: object
                          properties:
                            ingressProxyHost:
                              type: string
                            relayURL:
                              type: string
                            relayRef:
                              type: object
                              properties:
                                group:
                                  type: string
                                kind:
                                  type: string
                                  maxLength: 63
                                name:
                                  type: string
                                  maxLength: 253
                                workspace:
                                  type: string
                              required:
                                - kind
                                - name
                            identityRef:
                              type: object
                              properties:
                                group:
                                  type: string
                                kind:
                                  type: string
                                  maxLength: 63
                                name:
                                  type: string
                                  maxLength: 253
                                workspace:
                                  type: string
                              required:
                                - kind
                                - name
                        opentunnel:
                          type: object
                          properties:
                            command:
                              type: array
                              items:
                                type: string
                            routeName:
                              type: string
                              maxLength: 63
                              pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                            proxyProtocol:
                              type: string
                              enum:
                                - v1
                                - v2
                            localHost:
                              type: string
                        webrtc:
                          type: object
                          properties:
                            stunUrls:
                              type: array
                              items:
                                type: string
                            sessionTtlSeconds:
                              type: integer
                              format: int32
                              default: 600
                              minimum: 1
                            maxSessions:
                              type: integer
                              format: int32
                              default: 64
                              minimum: 1
                    settings:
                      type: object
                      properties:
                        bidder:
                          type: object
                          properties:
                            heartbeatIntervalSeconds:
                              type: integer
                              format: int32
                            offeringRefreshSeconds:
                              type: integer
                              format: int32
                            bidTtlSeconds:
                              type: integer
                              format: int32
                            maxConcurrentGuests:
                              type: integer
                              format: int32
                            policyTimeoutSeconds:
                              type: integer
                              format: int32
                        requester:
                          type: object
                          properties:
                            maxConcurrent:
                              type: integer
                              format: int32
                            perAccount:
                              type: integer
                              format: int32
                            contractPollMilliseconds:
                              type: integer
                              format: int32
                            bidWindowSeconds:
                              type: integer
                              format: int32
                            receiptTimeoutSeconds:
                              type: integer
                              format: int32
                            receiptPollMilliseconds:
                              type: integer
                              format: int32
                            sessionCapSeconds:
                              type: integer
                              format: int32
                            sessionIdleSeconds:
                              type: integer
                              format: int32
                            directoryTTLSeconds:
                              type: integer
                              format: int32
                            directoryKeys:
                              type: integer
                              format: int32
                            policyTimeoutSeconds:
                              type: integer
                              format: int32
                            oauthScopes:
                              type: array
                              items:
                                type: string
                        guestControlPlane:
                          type: object
                          properties:
                            guestLoginMount:
                              type: string
                            role:
                              type: string
                            grantSyncSeconds:
                              type: integer
                              format: int32
                            issuerRetrySeconds:
                              type: integer
                              format: int32
                            hostKeyAttempts:
                              type: integer
                              format: int32
                            relayEnabled:
                              type: boolean
                            hostKeyRef:
                              type: string
                        pds:
                          type: object
                          properties:
                            maxBlobSize:
                              type: integer
                              format: int64
                            maxRequestBytes:
                              type: integer
                              format: int64
                            contactEmail:
                              type: string
                            oauth:
                              type: object
                              properties:
                                allowLocalhostClients:
                                  type: boolean
                                accessTokenTTLSeconds:
                                  type: integer
                                  format: int32
                                refreshTokenTTLSeconds:
                                  type: integer
                                  format: int32
                                disableLocalhostClients:
                                  type: boolean
                                scopes:
                                  type: array
                                  items:
                                    type: string
                        sshServer:
                          type: object
                          properties:
                            maxConnections:
                              type: integer
                              format: int32
                            maxSessions:
                              type: integer
                              format: int32
                            sessionsPerAccount:
                              type: integer
                              format: int32
                            maxAuthAttempts:
                              type: integer
                              format: int32
                            authTimeoutSeconds:
                              type: integer
                              format: int32
                            sessionMaxSeconds:
                              type: integer
                              format: int32
                            cacheEntries:
                              type: integer
                              format: int32
                        gatewayAPI:
                          type: object
                          properties:
                            requiredDownloads:
                              type: array
                              items:
                                type: string
                        ingressProxy:
                          type: object
                          properties:
                            relayTimeoutMilliseconds:
                              type: integer
                              format: int32
                            keepaliveMilliseconds:
                              type: integer
                              format: int32
                            keepaliveTimeoutMilliseconds:
                              type: integer
                              format: int32
                            reconnectGraceMilliseconds:
                              type: integer
                              format: int32
                            nonceTTLMilliseconds:
                              type: integer
                              format: int32
                        relay:
                          type: object
                          properties:
                            crawlIntervalSeconds:
                              type: integer
                              format: int32
                        policyEngine:
                          type: object
                          properties:
                            limits:
                              type: object
                              properties:
                                maxConcurrentRuns:
                                  type: integer
                                  format: int32
                                queueDepth:
                                  type: integer
                                  format: int32
                                activeDeadlineSeconds:
                                  type: integer
                                  format: int64
                                maxConsoleBytes:
                                  type: integer
                                  format: int64
                                maxOutputBytes:
                                  type: integer
                                  format: int64
                                maxCacheEntries:
                                  type: integer
                                  format: int32
                                maxCacheBytes:
                                  type: integer
                                  format: int64
                            trust:
                              type: object
                              properties:
                                ttlSeconds:
                                  type: integer
                                  format: int64
                            cache:
                              type: object
                              properties:
                                verdictTTLSeconds:
                                  type: integer
                                  format: int64
                                scopeTTLSeconds:
                                  type: integer
                                  format: int64
                                recordTTLSeconds:
                                  type: integer
                                  format: int64
                            sandbox:
                              type: object
                              properties:
                                provider:
                                  type: string
                                  enum:
                                    - deno
                                    - browser
                                    - embedded
                                browser:
                                  type: object
                                  properties:
                                    timeoutSeconds:
                                      type: integer
                                      format: int32
                                      minimum: 1
                                embedded:
                                  type: object
                                  properties:
                                    timeoutSeconds:
                                      type: integer
                                      format: int32
                                      minimum: 1
              apps:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    kind:
                      type: string
                      enum:
                        - MarketBidder
                        - MarketRequester
                        - Gateway
                        - SshGateway
                    profile:
                      type: string
                    policy:
                      type: string
                    guestNetwork:
                      type: object
                      properties:
                        lanUDP:
                          type: boolean
                        hostUDP:
                          type: boolean
                        webrtcUDPPorts:
                          type: object
                          properties:
                            min:
                              type: integer
                              format: int32
                              minimum: 1024
                              maximum: 65535
                            max:
                              type: integer
                              format: int32
                              minimum: 1024
                              maximum: 65535
                          required:
                            - min
                            - max
                        webrtcUDPPort:
                          type: integer
                          format: int32
                          minimum: 0
                          maximum: 65535
                    firecracker:
                      type: object
                      properties:
                        workRoot:
                          type: string
                        vmruntimeCommand:
                          type: array
                          items:
                            type: string
                      required:
                        - workRoot
                        - vmruntimeCommand
                    kcp:
                      type: object
                      properties:
                        handle:
                          type: string
                        vmHostBackend:
                          type: string
                        guestImageSource:
                          type: string
                        stopGraceSeconds:
                          type: integer
                          format: int32
                      required:
                        - guestImageSource
                    computeKinds:
                      type: array
                      items:
                        type: string
                      x-kubernetes-list-type: set
                    options:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          value:
                            type: string
                        required:
                          - name
                    quota:
                      type: object
                      properties:
                        bids:
                          type: integer
                          format: int32
                        computeVMs:
                          type: integer
                          format: int32
                        computeContracts:
                          type: integer
                          format: int32
                        nodeClaims:
                          type: integer
                          format: int32
                        policyWorkflowRuns:
                          type: integer
                          format: int32
                    ownerSessionsFile:
                      type: string
                    clusterProvider:
                      type: object
                      properties:
                        scaleHold:
                          type: string
                        scaleMaxNodes:
                          type: integer
                          format: int32
                        scalePodsPerNode:
                          type: integer
                          format: int32
                    secretsFallback:
                      type: string
                      enum:
                        - None
                        - Sealed
                    requesterIngress:
                      type: object
                      properties:
                        provider:
                          type: string
                          enum:
                            - webrtc
                            - xrpc-subscription
                            - opentunnel
                            - iroh
                        ingressRef:
                          type: object
                          properties:
                            group:
                              type: string
                            kind:
                              type: string
                              maxLength: 63
                            name:
                              type: string
                              maxLength: 253
                            workspace:
                              type: string
                          required:
                            - kind
                            - name
                        publicHost:
                          type: string
                        xrpc:
                          type: object
                          properties:
                            ingressProxyHost:
                              type: string
                            relayURL:
                              type: string
                            relayRef:
                              type: object
                              properties:
                                group:
                                  type: string
                                kind:
                                  type: string
                                  maxLength: 63
                                name:
                                  type: string
                                  maxLength: 253
                                workspace:
                                  type: string
                              required:
                                - kind
                                - name
                            identityRef:
                              type: object
                              properties:
                                group:
                                  type: string
                                kind:
                                  type: string
                                  maxLength: 63
                                name:
                                  type: string
                                  maxLength: 253
                                workspace:
                                  type: string
                              required:
                                - kind
                                - name
                        opentunnel:
                          type: object
                          properties:
                            command:
                              type: array
                              items:
                                type: string
                            routeName:
                              type: string
                              maxLength: 63
                              pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                            proxyProtocol:
                              type: string
                              enum:
                                - v1
                                - v2
                            localHost:
                              type: string
                        webrtc:
                          type: object
                          properties:
                            stunUrls:
                              type: array
                              items:
                                type: string
                            sessionTtlSeconds:
                              type: integer
                              format: int32
                              default: 600
                              minimum: 1
                            maxSessions:
                              type: integer
                              format: int32
                              default: 64
                              minimum: 1
                    components:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          suspend:
                            type: boolean
                          restartPolicy:
                            type: string
                            enum:
                              - Never
                              - OnFailure
                              - Always
                          limits:
                            type: object
                            properties:
                              cpuMillicores:
                                type: integer
                                format: int32
                              memoryBytes:
                                type: integer
                                format: int64
                              diskBytes:
                                type: integer
                                format: int64
                          serviceAuth:
                            type: object
                            properties:
                              audience:
                                type: array
                                items:
                                  type: string
                              hostname:
                                type: string
                          comms:
                            type: object
                            properties:
                              mode:
                                type: string
                                enum:
                                  - XRPC
                                  - Firehose
                                  - Both
                              eventSourceRefs:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    group:
                                      type: string
                                    kind:
                                      type: string
                                      maxLength: 63
                                    name:
                                      type: string
                                      maxLength: 253
                                    workspace:
                                      type: string
                                  required:
                                    - kind
                                    - name
                              relayUrls:
                                type: array
                                items:
                                  type: string
                              jetstreamUrls:
                                type: array
                                items:
                                  type: string
                          ingress:
                            type: object
                            properties:
                              provider:
                                type: string
                                enum:
                                  - webrtc
                                  - xrpc-subscription
                                  - opentunnel
                                  - iroh
                              ingressRef:
                                type: object
                                properties:
                                  group:
                                    type: string
                                  kind:
                                    type: string
                                    maxLength: 63
                                  name:
                                    type: string
                                    maxLength: 253
                                  workspace:
                                    type: string
                                required:
                                  - kind
                                  - name
                              publicHost:
                                type: string
                              xrpc:
                                type: object
                                properties:
                                  ingressProxyHost:
                                    type: string
                                  relayURL:
                                    type: string
                                  relayRef:
                                    type: object
                                    properties:
                                      group:
                                        type: string
                                      kind:
                                        type: string
                                        maxLength: 63
                                      name:
                                        type: string
                                        maxLength: 253
                                      workspace:
                                        type: string
                                    required:
                                      - kind
                                      - name
                                  identityRef:
                                    type: object
                                    properties:
                                      group:
                                        type: string
                                      kind:
                                        type: string
                                        maxLength: 63
                                      name:
                                        type: string
                                        maxLength: 253
                                      workspace:
                                        type: string
                                    required:
                                      - kind
                                      - name
                              opentunnel:
                                type: object
                                properties:
                                  command:
                                    type: array
                                    items:
                                      type: string
                                  routeName:
                                    type: string
                                    maxLength: 63
                                    pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                                  proxyProtocol:
                                    type: string
                                    enum:
                                      - v1
                                      - v2
                                  localHost:
                                    type: string
                              webrtc:
                                type: object
                                properties:
                                  stunUrls:
                                    type: array
                                    items:
                                      type: string
                                  sessionTtlSeconds:
                                    type: integer
                                    format: int32
                                    default: 600
                                    minimum: 1
                                  maxSessions:
                                    type: integer
                                    format: int32
                                    default: 64
                                    minimum: 1
                          settings:
                            type: object
                            properties:
                              bidder:
                                type: object
                                properties:
                                  heartbeatIntervalSeconds:
                                    type: integer
                                    format: int32
                                  offeringRefreshSeconds:
                                    type: integer
                                    format: int32
                                  bidTtlSeconds:
                                    type: integer
                                    format: int32
                                  maxConcurrentGuests:
                                    type: integer
                                    format: int32
                                  policyTimeoutSeconds:
                                    type: integer
                                    format: int32
                              requester:
                                type: object
                                properties:
                                  maxConcurrent:
                                    type: integer
                                    format: int32
                                  perAccount:
                                    type: integer
                                    format: int32
                                  contractPollMilliseconds:
                                    type: integer
                                    format: int32
                                  bidWindowSeconds:
                                    type: integer
                                    format: int32
                                  receiptTimeoutSeconds:
                                    type: integer
                                    format: int32
                                  receiptPollMilliseconds:
                                    type: integer
                                    format: int32
                                  sessionCapSeconds:
                                    type: integer
                                    format: int32
                                  sessionIdleSeconds:
                                    type: integer
                                    format: int32
                                  directoryTTLSeconds:
                                    type: integer
                                    format: int32
                                  directoryKeys:
                                    type: integer
                                    format: int32
                                  policyTimeoutSeconds:
                                    type: integer
                                    format: int32
                                  oauthScopes:
                                    type: array
                                    items:
                                      type: string
                              guestControlPlane:
                                type: object
                                properties:
                                  guestLoginMount:
                                    type: string
                                  role:
                                    type: string
                                  grantSyncSeconds:
                                    type: integer
                                    format: int32
                                  issuerRetrySeconds:
                                    type: integer
                                    format: int32
                                  hostKeyAttempts:
                                    type: integer
                                    format: int32
                                  relayEnabled:
                                    type: boolean
                                  hostKeyRef:
                                    type: string
                              pds:
                                type: object
                                properties:
                                  maxBlobSize:
                                    type: integer
                                    format: int64
                                  maxRequestBytes:
                                    type: integer
                                    format: int64
                                  contactEmail:
                                    type: string
                                  oauth:
                                    type: object
                                    properties:
                                      allowLocalhostClients:
                                        type: boolean
                                      accessTokenTTLSeconds:
                                        type: integer
                                        format: int32
                                      refreshTokenTTLSeconds:
                                        type: integer
                                        format: int32
                                      disableLocalhostClients:
                                        type: boolean
                                      scopes:
                                        type: array
                                        items:
                                          type: string
                              sshServer:
                                type: object
                                properties:
                                  maxConnections:
                                    type: integer
                                    format: int32
                                  maxSessions:
                                    type: integer
                                    format: int32
                                  sessionsPerAccount:
                                    type: integer
                                    format: int32
                                  maxAuthAttempts:
                                    type: integer
                                    format: int32
                                  authTimeoutSeconds:
                                    type: integer
                                    format: int32
                                  sessionMaxSeconds:
                                    type: integer
                                    format: int32
                                  cacheEntries:
                                    type: integer
                                    format: int32
                              gatewayAPI:
                                type: object
                                properties:
                                  requiredDownloads:
                                    type: array
                                    items:
                                      type: string
                              ingressProxy:
                                type: object
                                properties:
                                  relayTimeoutMilliseconds:
                                    type: integer
                                    format: int32
                                  keepaliveMilliseconds:
                                    type: integer
                                    format: int32
                                  keepaliveTimeoutMilliseconds:
                                    type: integer
                                    format: int32
                                  reconnectGraceMilliseconds:
                                    type: integer
                                    format: int32
                                  nonceTTLMilliseconds:
                                    type: integer
                                    format: int32
                              relay:
                                type: object
                                properties:
                                  crawlIntervalSeconds:
                                    type: integer
                                    format: int32
                              policyEngine:
                                type: object
                                properties:
                                  limits:
                                    type: object
                                    properties:
                                      maxConcurrentRuns:
                                        type: integer
                                        format: int32
                                      queueDepth:
                                        type: integer
                                        format: int32
                                      activeDeadlineSeconds:
                                        type: integer
                                        format: int64
                                      maxConsoleBytes:
                                        type: integer
                                        format: int64
                                      maxOutputBytes:
                                        type: integer
                                        format: int64
                                      maxCacheEntries:
                                        type: integer
                                        format: int32
                                      maxCacheBytes:
                                        type: integer
                                        format: int64
                                  trust:
                                    type: object
                                    properties:
                                      ttlSeconds:
                                        type: integer
                                        format: int64
                                  cache:
                                    type: object
                                    properties:
                                      verdictTTLSeconds:
                                        type: integer
                                        format: int64
                                      scopeTTLSeconds:
                                        type: integer
                                        format: int64
                                      recordTTLSeconds:
                                        type: integer
                                        format: int64
                                  sandbox:
                                    type: object
                                    properties:
                                      provider:
                                        type: string
                                        enum:
                                          - deno
                                          - browser
                                          - embedded
                                      browser:
                                        type: object
                                        properties:
                                          timeoutSeconds:
                                            type: integer
                                            format: int32
                                            minimum: 1
                                      embedded:
                                        type: object
                                        properties:
                                          timeoutSeconds:
                                            type: integer
                                            format: int32
                                            minimum: 1
                    suspend:
                      type: boolean
                    stopped:
                      type: boolean
                  required:
                    - name
                    - kind
                    - profile
                x-kubernetes-list-type: map
                x-kubernetes-list-map-keys:
                  - name
            required:
              - profile
          status:
            type: object
            properties:
              observedGeneration:
                type: integer
                format: int64
              appliedSet:
                type: object
                properties:
                  generation:
                    type: integer
                    format: int64
                  digest:
                    type: string
              phase:
                type: string
                enum:
                  - Pending
                  - Provisioning
                  - Ready
                  - Deleting
                  - Failed
                  - Suspended
              message:
                type: string
              network:
                type: object
                properties:
                  plcDirectoryUrl:
                    type: string
                  ingressProxyHost:
                    type: string
                  qrOrigin:
                    type: string
                  caBundle:
                    type: string
                  hosts:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        address:
                          type: string
                      required:
                        - name
                        - address
                    x-kubernetes-list-type: map
                    x-kubernetes-list-map-keys:
                      - name
                  comms:
                    type: object
                    properties:
                      mode:
                        type: string
                        enum:
                          - XRPC
                          - Firehose
                          - Both
                      eventSourceRefs:
                        type: array
                        items:
                          type: object
                          properties:
                            group:
                              type: string
                            kind:
                              type: string
                              maxLength: 63
                            name:
                              type: string
                              maxLength: 253
                            workspace:
                              type: string
                          required:
                            - kind
                            - name
                      relayUrls:
                        type: array
                        items:
                          type: string
                      jetstreamUrls:
                        type: array
                        items:
                          type: string
                  ingress:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - webrtc
                          - xrpc-subscription
                          - opentunnel
                          - iroh
                      ingressRef:
                        type: object
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                            maxLength: 63
                          name:
                            type: string
                            maxLength: 253
                          workspace:
                            type: string
                        required:
                          - kind
                          - name
                      publicHost:
                        type: string
                      xrpc:
                        type: object
                        properties:
                          ingressProxyHost:
                            type: string
                          relayURL:
                            type: string
                          relayRef:
                            type: object
                            properties:
                              group:
                                type: string
                              kind:
                                type: string
                                maxLength: 63
                              name:
                                type: string
                                maxLength: 253
                              workspace:
                                type: string
                            required:
                              - kind
                              - name
                          identityRef:
                            type: object
                            properties:
                              group:
                                type: string
                              kind:
                                type: string
                                maxLength: 63
                              name:
                                type: string
                                maxLength: 253
                              workspace:
                                type: string
                            required:
                              - kind
                              - name
                      opentunnel:
                        type: object
                        properties:
                          command:
                            type: array
                            items:
                              type: string
                          routeName:
                            type: string
                            maxLength: 63
                            pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                          proxyProtocol:
                            type: string
                            enum:
                              - v1
                              - v2
                          localHost:
                            type: string
                      webrtc:
                        type: object
                        properties:
                          stunUrls:
                            type: array
                            items:
                              type: string
                          sessionTtlSeconds:
                            type: integer
                            format: int32
                            default: 600
                            minimum: 1
                          maxSessions:
                            type: integer
                            format: int32
                            default: 64
                            minimum: 1
                  discoveryRelays:
                    type: array
                    items:
                      type: string
                required:
                  - plcDirectoryUrl
                  - ingressProxyHost
                  - qrOrigin
              bidderPdsUrl:
                type: string
              components:
                type: array
                items:
                  type: object
                  properties:
                    kind:
                      type: string
                    name:
                      type: string
                    workspace:
                      type: string
                    phase:
                      type: string
                    ready:
                      type: boolean
                    suspended:
                      type: boolean
                    observedGeneration:
                      type: integer
                      format: int64
                    restarts:
                      type: integer
                      format: int32
                    message:
                      type: string
                  required:
                    - kind
                    - name
                    - workspace
                    - ready
              componentSummary:
                type: object
                properties:
                  desired:
                    type: integer
                  ready:
                    type: integer
                  suspended:
                    type: integer
                  notReady:
                    type: integer
                required:
                  - desired
                  - ready
                  - suspended
                  - notReady
              componentOverrides:
                type: array
                items:
                  type: object
                  properties:
                    component:
                      type: string
                    generation:
                      type: integer
                      format: int64
                    suspend:
                      type: boolean
                    restartPolicy:
                      type: string
                    applied:
                      type: boolean
                    message:
                      type: string
                  required:
                    - component
                    - applied
              listeners:
                type: array
                items:
                  type: object
                  properties:
                    component:
                      type: string
                    name:
                      type: string
                    kind:
                      type: string
                    address:
                      type: string
                  required:
                    - component
                    - name
                    - kind
                    - address
              apps:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    kind:
                      type: string
                      enum:
                        - MarketBidder
                        - MarketRequester
                        - Gateway
                        - SshGateway
                    instance:
                      type: string
                    kcpUrl:
                      type: string
                    workspace:
                      type: string
                    phase:
                      type: string
                      enum:
                        - Pending
                        - Provisioning
                        - Ready
                        - Deleting
                        - Failed
                        - Suspended
                    message:
                      type: string
                    did:
                      type: string
                    components:
                      type: array
                      items:
                        type: object
                        properties:
                          kind:
                            type: string
                          name:
                            type: string
                          workspace:
                            type: string
                          phase:
                            type: string
                          ready:
                            type: boolean
                          suspended:
                            type: boolean
                          observedGeneration:
                            type: integer
                            format: int64
                          restarts:
                            type: integer
                            format: int32
                          message:
                            type: string
                        required:
                          - kind
                          - name
                          - workspace
                          - ready
                    listeners:
                      type: array
                      items:
                        type: object
                        properties:
                          component:
                            type: string
                          name:
                            type: string
                          kind:
                            type: string
                          address:
                            type: string
                        required:
                          - component
                          - name
                          - kind
                          - address
                  required:
                    - name
                    - kind
              stateDir:
                type: object
                properties:
                  path:
                    type: string
                  bytes:
                    type: integer
                    format: int64
                  files:
                    type: integer
                    format: int64
                  sampledAt:
                    type: string
                required:
                  - path
                  - bytes
                  - files
                  - sampledAt
              gc:
                type: object
                properties:
                  sampledAt:
                    type: string
                  objects:
                    type: integer
                    format: int64
                  orphanTotal:
                    type: integer
                    format: int64
                  orphans:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                        count:
                          type: integer
                          format: int64
                        examples:
                          type: array
                          items:
                            type: string
                      required:
                        - kind
                        - count
                  stuckTotal:
                    type: integer
                    format: int64
                  terminating:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                        finalizer:
                          type: string
                        controller:
                          type: string
                        count:
                          type: integer
                          format: int64
                        examples:
                          type: array
                          items:
                            type: string
                      required:
                        - kind
                        - finalizer
                        - controller
                        - count
                required:
                  - sampledAt
                  - objects
                  - orphanTotal
                  - stuckTotal
              ttl:
                type: object
                properties:
                  sampledAt:
                    type: string
                  tracked:
                    type: integer
                    format: int64
                  deletedTotal:
                    type: integer
                    format: int64
                  deleted:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                        count:
                          type: integer
                          format: int64
                        lastAt:
                          type: string
                      required:
                        - kind
                        - count
                required:
                  - sampledAt
                  - tracked
                  - deletedTotal
              conditions:
                type: array
                items:
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
      additionalPrinterColumns:
        - name: Profile
          type: string
          jsonPath: .spec.profile
        - name: Phase
          type: string
          jsonPath: .status.phase
        - name: PLC
          type: string
          jsonPath: .status.network.plcDirectoryUrl
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp