~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
417 lines · 13.5 KB Raw History
apiVersion: apis.kcp.io/v1alpha1
kind: APIResourceSchema
metadata:
  name: v1alpha1-13.infras.socialweb.computer
spec:
  group: socialweb.computer
  names:
    kind: Infra
    listKind: InfraList
    plural: infras
    singular: infra
  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:
              description:
                type: string
                maxLength: 1024
              contracts:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      maxLength: 63
                      pattern: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
                    state:
                      type: string
                      enum:
                        - Staged
                        - Requested
                        - Released
                      default: Staged
                    releaseRequestedAt:
                      type: string
                    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
                  required:
                    - name
                x-kubernetes-list-type: map
                x-kubernetes-list-map-keys:
                  - name
              secrets:
                type: array
                items:
                  type: object
                  properties:
                    contract:
                      type: string
                    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
                  required:
                    - contract
                    - secretsRef
                x-kubernetes-list-type: map
                x-kubernetes-list-map-keys:
                  - contract
              nodes:
                type: array
                items:
                  type: object
                  properties:
                    contract:
                      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
                    nodeClaimRef:
                      type: object
                      properties:
                        group:
                          type: string
                        kind:
                          type: string
                          maxLength: 63
                        name:
                          type: string
                          maxLength: 253
                        workspace:
                          type: string
                      required:
                        - kind
                        - name
                  required:
                    - contract
                    - nodeClaimRef
                x-kubernetes-list-type: map
                x-kubernetes-list-map-keys:
                  - contract
              clusterRef:
                type: object
                properties:
                  group:
                    type: string
                  kind:
                    type: string
                    maxLength: 63
                  name:
                    type: string
                    maxLength: 253
                  workspace:
                    type: string
                required:
                  - kind
                  - name
              record:
                type: object
                properties:
                  repoRef:
                    type: object
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                        maxLength: 63
                      name:
                        type: string
                        maxLength: 253
                      workspace:
                        type: string
                    required:
                      - kind
                      - name
                  sync:
                    type: string
                    enum:
                      - Both
                      - Publish
                    default: Both
                  uri:
                    type: string
                  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
                required:
                  - repoRef
          status:
            type: object
            properties:
              observedGeneration:
                type: integer
                format: int64
              phase:
                type: string
                enum:
                  - Pending
                  - Staged
                  - Deploying
                  - Deployed
                  - Releasing
                  - Released
                  - Degraded
                  - Ending
                  - Deleting
                  - Ended
              message:
                type: string
              contracts:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    phase:
                      type: string
                      enum:
                        - Staged
                        - Requesting
                        - Deployed
                        - Releasing
                        - Released
                        - Failed
                    computeContract:
                      type: string
                    winner:
                      type: string
                    receiptUri:
                      type: string
                    message:
                      type: string
                  required:
                    - name
                    - phase
              record:
                type: object
                properties:
                  uri:
                    type: string
                  cid:
                    type: string
                  declarationHash:
                    type: string
                  syncedGeneration:
                    type: integer
                    format: int64
                  syncedAt:
                    type: string
                  direction:
                    type: string
                    enum:
                      - Created
                      - Pushed
                      - Pulled
                      - InSync
                      - Retained
              conditions:
                type: array
                items:
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
      additionalPrinterColumns:
        - name: Phase
          type: string
          jsonPath: .status.phase
        - name: Record
          type: string
          jsonPath: .status.record.uri
        - name: Sync
          type: string
          jsonPath: .status.record.direction
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp