github.com/giantswarm/apiextensions/v6@v6.6.0/config/crd/provider.giantswarm.io_kvmconfigs.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.2.4
     8    creationTimestamp: null
     9    name: kvmconfigs.provider.giantswarm.io
    10  spec:
    11    group: provider.giantswarm.io
    12    names:
    13      categories:
    14      - giantswarm
    15      - kvm
    16      kind: KVMConfig
    17      listKind: KVMConfigList
    18      plural: kvmconfigs
    19      singular: kvmconfig
    20    scope: Namespaced
    21    versions:
    22    - name: v1alpha1
    23      schema:
    24        openAPIV3Schema:
    25          properties:
    26            apiVersion:
    27              description: 'APIVersion defines the versioned schema of this representation
    28                of an object. Servers should convert recognized schemas to the latest
    29                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    30              type: string
    31            kind:
    32              description: 'Kind is a string value representing the REST resource this
    33                object represents. Servers may infer this from the endpoint the client
    34                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    35              type: string
    36            metadata:
    37              type: object
    38            spec:
    39              properties:
    40                cluster:
    41                  properties:
    42                    calico:
    43                      properties:
    44                        cidr:
    45                          type: integer
    46                        mtu:
    47                          type: integer
    48                        subnet:
    49                          type: string
    50                      required:
    51                      - cidr
    52                      - mtu
    53                      - subnet
    54                      type: object
    55                    customer:
    56                      properties:
    57                        id:
    58                          type: string
    59                      required:
    60                      - id
    61                      type: object
    62                    docker:
    63                      properties:
    64                        daemon:
    65                          properties:
    66                            cidr:
    67                              type: string
    68                          required:
    69                          - cidr
    70                          type: object
    71                      required:
    72                      - daemon
    73                      type: object
    74                    etcd:
    75                      properties:
    76                        altNames:
    77                          type: string
    78                        domain:
    79                          type: string
    80                        port:
    81                          type: integer
    82                        prefix:
    83                          type: string
    84                      required:
    85                      - altNames
    86                      - domain
    87                      - port
    88                      - prefix
    89                      type: object
    90                    id:
    91                      type: string
    92                    kubernetes:
    93                      properties:
    94                        api:
    95                          properties:
    96                            clusterIPRange:
    97                              type: string
    98                            domain:
    99                              type: string
   100                            securePort:
   101                              type: integer
   102                          required:
   103                          - clusterIPRange
   104                          - domain
   105                          - securePort
   106                          type: object
   107                        cloudProvider:
   108                          type: string
   109                        dns:
   110                          properties:
   111                            ip:
   112                              type: string
   113                          required:
   114                          - ip
   115                          type: object
   116                        domain:
   117                          type: string
   118                        ingressController:
   119                          properties:
   120                            docker:
   121                              properties:
   122                                image:
   123                                  type: string
   124                              required:
   125                              - image
   126                              type: object
   127                            domain:
   128                              type: string
   129                            insecurePort:
   130                              type: integer
   131                            securePort:
   132                              type: integer
   133                            wildcardDomain:
   134                              type: string
   135                          required:
   136                          - docker
   137                          - domain
   138                          - insecurePort
   139                          - securePort
   140                          - wildcardDomain
   141                          type: object
   142                        kubelet:
   143                          properties:
   144                            altNames:
   145                              type: string
   146                            domain:
   147                              type: string
   148                            labels:
   149                              type: string
   150                            port:
   151                              type: integer
   152                          required:
   153                          - altNames
   154                          - domain
   155                          - labels
   156                          - port
   157                          type: object
   158                        networkSetup:
   159                          properties:
   160                            docker:
   161                              properties:
   162                                image:
   163                                  type: string
   164                              required:
   165                              - image
   166                              type: object
   167                            kubeProxy:
   168                              description: ClusterKubernetesNetworkSetupKubeProxy describes
   169                                values passed to the kube-proxy running in a workload
   170                                cluster.
   171                              properties:
   172                                conntrackMaxPerCore:
   173                                  description: Maximum number of NAT connections to
   174                                    track per CPU core (0 to leave the limit as-is and
   175                                    ignore conntrack-min). Passed to kube-proxy as --conntrack-max-per-core.
   176                                  type: integer
   177                              required:
   178                              - conntrackMaxPerCore
   179                              type: object
   180                          required:
   181                          - docker
   182                          - kubeProxy
   183                          type: object
   184                        ssh:
   185                          properties:
   186                            userList:
   187                              items:
   188                                properties:
   189                                  name:
   190                                    type: string
   191                                  publicKey:
   192                                    type: string
   193                                required:
   194                                - name
   195                                - publicKey
   196                                type: object
   197                              type: array
   198                          required:
   199                          - userList
   200                          type: object
   201                      required:
   202                      - api
   203                      - cloudProvider
   204                      - dns
   205                      - domain
   206                      - ingressController
   207                      - kubelet
   208                      - networkSetup
   209                      - ssh
   210                      type: object
   211                    masters:
   212                      items:
   213                        properties:
   214                          id:
   215                            type: string
   216                        required:
   217                        - id
   218                        type: object
   219                      type: array
   220                    scaling:
   221                      properties:
   222                        max:
   223                          description: Max defines maximum number of worker nodes the
   224                            workload cluster is allowed to have.
   225                          type: integer
   226                        min:
   227                          description: Min defines minimum number of worker nodes required
   228                            to be present in the workload cluster.
   229                          type: integer
   230                      required:
   231                      - max
   232                      - min
   233                      type: object
   234                    version:
   235                      description: Version is DEPRECATED and should just be dropped.
   236                      type: string
   237                    workers:
   238                      items:
   239                        properties:
   240                          id:
   241                            type: string
   242                        required:
   243                        - id
   244                        type: object
   245                      type: array
   246                  required:
   247                  - calico
   248                  - customer
   249                  - docker
   250                  - etcd
   251                  - id
   252                  - kubernetes
   253                  - masters
   254                  - scaling
   255                  - version
   256                  type: object
   257                kvm:
   258                  properties:
   259                    endpointUpdater:
   260                      properties:
   261                        docker:
   262                          properties:
   263                            image:
   264                              type: string
   265                          required:
   266                          - image
   267                          type: object
   268                      required:
   269                      - docker
   270                      type: object
   271                    k8sKVM:
   272                      properties:
   273                        docker:
   274                          properties:
   275                            image:
   276                              type: string
   277                          required:
   278                          - image
   279                          type: object
   280                        storageType:
   281                          type: string
   282                      required:
   283                      - docker
   284                      - storageType
   285                      type: object
   286                    masters:
   287                      items:
   288                        properties:
   289                          cpus:
   290                            type: integer
   291                          disk:
   292                            format: double
   293                            type: number
   294                          dockerVolumeSizeGB:
   295                            type: integer
   296                          hostVolumes:
   297                            items:
   298                              properties:
   299                                hostPath:
   300                                  minLength: 1
   301                                  type: string
   302                                mountTag:
   303                                  maxLength: 31
   304                                  minLength: 1
   305                                  type: string
   306                              required:
   307                              - hostPath
   308                              - mountTag
   309                              type: object
   310                            nullable: true
   311                            type: array
   312                          memory:
   313                            type: string
   314                        required:
   315                        - cpus
   316                        - disk
   317                        - dockerVolumeSizeGB
   318                        - memory
   319                        type: object
   320                      type: array
   321                    network:
   322                      properties:
   323                        flannel:
   324                          properties:
   325                            vni:
   326                              type: integer
   327                          required:
   328                          - vni
   329                          type: object
   330                      required:
   331                      - flannel
   332                      type: object
   333                    nodeController:
   334                      description: NOTE THIS IS DEPRECATED
   335                      properties:
   336                        docker:
   337                          description: NOTE THIS IS DEPRECATED
   338                          properties:
   339                            image:
   340                              type: string
   341                          required:
   342                          - image
   343                          type: object
   344                      required:
   345                      - docker
   346                      type: object
   347                    portMappings:
   348                      items:
   349                        properties:
   350                          name:
   351                            type: string
   352                          nodePort:
   353                            type: integer
   354                          targetPort:
   355                            type: integer
   356                        required:
   357                        - name
   358                        - nodePort
   359                        - targetPort
   360                        type: object
   361                      type: array
   362                    workers:
   363                      items:
   364                        properties:
   365                          cpus:
   366                            type: integer
   367                          disk:
   368                            format: double
   369                            type: number
   370                          dockerVolumeSizeGB:
   371                            type: integer
   372                          hostVolumes:
   373                            items:
   374                              properties:
   375                                hostPath:
   376                                  minLength: 1
   377                                  type: string
   378                                mountTag:
   379                                  maxLength: 31
   380                                  minLength: 1
   381                                  type: string
   382                              required:
   383                              - hostPath
   384                              - mountTag
   385                              type: object
   386                            nullable: true
   387                            type: array
   388                          memory:
   389                            type: string
   390                        required:
   391                        - cpus
   392                        - disk
   393                        - dockerVolumeSizeGB
   394                        - memory
   395                        type: object
   396                      type: array
   397                  required:
   398                  - endpointUpdater
   399                  - k8sKVM
   400                  - masters
   401                  - network
   402                  - nodeController
   403                  - portMappings
   404                  - workers
   405                  type: object
   406                versionBundle:
   407                  properties:
   408                    version:
   409                      type: string
   410                  required:
   411                  - version
   412                  type: object
   413              required:
   414              - cluster
   415              - kvm
   416              - versionBundle
   417              type: object
   418            status:
   419              properties:
   420                cluster:
   421                  properties:
   422                    conditions:
   423                      description: Conditions is a list of status information expressing
   424                        the current conditional state of a workload cluster. This may
   425                        reflect the status of the workload cluster being updating or
   426                        being up to date.
   427                      items:
   428                        description: StatusClusterCondition expresses the conditions
   429                          in which a workload cluster may is.
   430                        properties:
   431                          lastTransitionTime:
   432                            description: LastTransitionTime is the last time the condition
   433                              transitioned from one status to another.
   434                            format: date-time
   435                            nullable: true
   436                            type: string
   437                          status:
   438                            description: Status may be True, False or Unknown.
   439                            type: string
   440                          type:
   441                            description: Type may be Creating, Created, Scaling, Scaled,
   442                              Draining, Drained, Updating, Updated, Deleting, Deleted.
   443                            type: string
   444                        type: object
   445                      nullable: true
   446                      type: array
   447                    network:
   448                      description: StatusClusterNetwork expresses the network segment
   449                        that is allocated for a workload cluster.
   450                      nullable: true
   451                      properties:
   452                        cidr:
   453                          type: string
   454                      type: object
   455                    nodes:
   456                      description: Nodes is a list of workload cluster node information
   457                        reflecting the current state of the workload cluster nodes.
   458                      items:
   459                        description: StatusClusterNode holds information about a workload
   460                          cluster node.
   461                        properties:
   462                          labels:
   463                            additionalProperties:
   464                              type: string
   465                            description: Labels contains the kubernetes labels for corresponding
   466                              node.
   467                            nullable: true
   468                            type: object
   469                          lastTransitionTime:
   470                            description: LastTransitionTime is the last time the condition
   471                              transitioned from one status to another.
   472                            format: date-time
   473                            nullable: true
   474                            type: string
   475                          name:
   476                            description: Name referrs to a workload cluster node name.
   477                            type: string
   478                          version:
   479                            description: Version referrs to the version used by the
   480                              node as mandated by the provider operator.
   481                            type: string
   482                        type: object
   483                      nullable: true
   484                      type: array
   485                    resources:
   486                      description: Resources is a list of arbitrary conditions of operatorkit
   487                        resource implementations.
   488                      items:
   489                        description: Resource is structure holding arbitrary conditions
   490                          of operatorkit resource implementations. Imagine an operator
   491                          implements an instance resource. This resource may operates
   492                          sequentially but has to operate based on a certain system
   493                          state it manages. So it tracks the status as needed here specific
   494                          to its own implementation and means in order to fulfil its
   495                          premise.
   496                        properties:
   497                          conditions:
   498                            items:
   499                              description: StatusClusterResourceCondition expresses
   500                                the conditions in which an operatorkit resource may
   501                                is.
   502                              properties:
   503                                lastTransitionTime:
   504                                  description: LastTransitionTime is the last time the
   505                                    condition transitioned from one status to another.
   506                                  format: date-time
   507                                  nullable: true
   508                                  type: string
   509                                status:
   510                                  description: Status may be True, False or Unknown.
   511                                  type: string
   512                                type:
   513                                  description: Type may be anything an operatorkit resource
   514                                    may define.
   515                                  type: string
   516                              type: object
   517                            nullable: true
   518                            type: array
   519                          name:
   520                            type: string
   521                        type: object
   522                      nullable: true
   523                      type: array
   524                    scaling:
   525                      description: StatusClusterScaling expresses the current status
   526                        of desired number of worker nodes in the workload cluster.
   527                      nullable: true
   528                      properties:
   529                        desiredCapacity:
   530                          type: integer
   531                      type: object
   532                    versions:
   533                      description: Versions is a list that acts like a historical track
   534                        record of versions a workload cluster went through. A version
   535                        is only added to the list as soon as the workload cluster successfully
   536                        migrated to the version added here.
   537                      items:
   538                        description: StatusClusterVersion expresses the versions in
   539                          which a workload cluster was and may still be.
   540                        properties:
   541                          date:
   542                            description: "TODO date is deprecated due to LastTransitionTime
   543                              This can be removed ones the new properties are properly
   544                              used in all workload clusters. \n     https://github.com/giantswarm/giantswarm/issues/3988"
   545                            format: date-time
   546                            nullable: true
   547                            type: string
   548                          lastTransitionTime:
   549                            description: LastTransitionTime is the last time the condition
   550                              transitioned from one status to another.
   551                            format: date-time
   552                            nullable: true
   553                            type: string
   554                          semver:
   555                            description: Semver is some semver version, e.g. 1.0.0.
   556                            type: string
   557                        type: object
   558                      nullable: true
   559                      type: array
   560                  type: object
   561                kvm:
   562                  properties:
   563                    nodeIndexes:
   564                      additionalProperties:
   565                        type: integer
   566                      description: NodeIndexes is a map from nodeID -> nodeIndex. This
   567                        is used to create deterministic iSCSI initiator names.
   568                      nullable: true
   569                      type: object
   570                  type: object
   571              required:
   572              - cluster
   573              - kvm
   574              type: object
   575          required:
   576          - metadata
   577          - spec
   578          type: object
   579      served: true
   580      storage: true
   581      subresources:
   582        status: {}
   583  status:
   584    acceptedNames:
   585      kind: ""
   586      plural: ""
   587    conditions: []
   588    storedVersions: []