github.com/giantswarm/apiextensions/v2@v2.6.2/config/crd/v1/exp.cluster.x-k8s.io_machinepools.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: machinepools.exp.cluster.x-k8s.io
    10  spec:
    11    group: exp.cluster.x-k8s.io
    12    names:
    13      categories:
    14      - cluster-api
    15      kind: MachinePool
    16      listKind: MachinePoolList
    17      plural: machinepools
    18      shortNames:
    19      - mp
    20      singular: machinepool
    21    scope: Namespaced
    22    versions:
    23    - additionalPrinterColumns:
    24      - description: MachinePool replicas count
    25        jsonPath: .status.replicas
    26        name: Replicas
    27        type: string
    28      - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed
    29          etc
    30        jsonPath: .status.phase
    31        name: Phase
    32        type: string
    33      name: v1alpha3
    34      schema:
    35        openAPIV3Schema:
    36          description: MachinePool is the Schema for the machinepools API
    37          properties:
    38            apiVersion:
    39              description: 'APIVersion defines the versioned schema of this representation
    40                of an object. Servers should convert recognized schemas to the latest
    41                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    42              type: string
    43            kind:
    44              description: 'Kind is a string value representing the REST resource this
    45                object represents. Servers may infer this from the endpoint the client
    46                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    47              type: string
    48            metadata:
    49              type: object
    50            spec:
    51              description: MachinePoolSpec defines the desired state of MachinePool
    52              properties:
    53                clusterName:
    54                  description: ClusterName is the name of the Cluster this object belongs
    55                    to.
    56                  minLength: 1
    57                  type: string
    58                failureDomains:
    59                  description: FailureDomains is the list of failure domains this MachinePool
    60                    should be attached to.
    61                  items:
    62                    type: string
    63                  type: array
    64                minReadySeconds:
    65                  description: Minimum number of seconds for which a newly created machine
    66                    instances should be ready. Defaults to 0 (machine instance will
    67                    be considered available as soon as it is ready)
    68                  format: int32
    69                  type: integer
    70                providerIDList:
    71                  description: ProviderIDList are the identification IDs of machine
    72                    instances provided by the provider. This field must match the provider
    73                    IDs as seen on the node objects corresponding to a machine pool's
    74                    machine instances.
    75                  items:
    76                    type: string
    77                  type: array
    78                replicas:
    79                  description: Number of desired machines. Defaults to 1. This is a
    80                    pointer to distinguish between explicit zero and not specified.
    81                  format: int32
    82                  type: integer
    83                strategy:
    84                  description: The deployment strategy to use to replace existing machine
    85                    instances with new ones.
    86                  properties:
    87                    rollingUpdate:
    88                      description: Rolling update config params. Present only if MachineDeploymentStrategyType
    89                        = RollingUpdate.
    90                      properties:
    91                        maxSurge:
    92                          anyOf:
    93                          - type: integer
    94                          - type: string
    95                          description: 'The maximum number of machines that can be scheduled
    96                            above the desired number of machines. Value can be an absolute
    97                            number (ex: 5) or a percentage of desired machines (ex:
    98                            10%). This can not be 0 if MaxUnavailable is 0. Absolute
    99                            number is calculated from percentage by rounding up. Defaults
   100                            to 1. Example: when this is set to 30%, the new MachineSet
   101                            can be scaled up immediately when the rolling update starts,
   102                            such that the total number of old and new machines do not
   103                            exceed 130% of desired machines. Once old machines have
   104                            been killed, new MachineSet can be scaled up further, ensuring
   105                            that total number of machines running at any time during
   106                            the update is at most 130% of desired machines.'
   107                          x-kubernetes-int-or-string: true
   108                        maxUnavailable:
   109                          anyOf:
   110                          - type: integer
   111                          - type: string
   112                          description: 'The maximum number of machines that can be unavailable
   113                            during the update. Value can be an absolute number (ex:
   114                            5) or a percentage of desired machines (ex: 10%). Absolute
   115                            number is calculated from percentage by rounding down. This
   116                            can not be 0 if MaxSurge is 0. Defaults to 0. Example: when
   117                            this is set to 30%, the old MachineSet can be scaled down
   118                            to 70% of desired machines immediately when the rolling
   119                            update starts. Once new machines are ready, old MachineSet
   120                            can be scaled down further, followed by scaling up the new
   121                            MachineSet, ensuring that the total number of machines available
   122                            at all times during the update is at least 70% of desired
   123                            machines.'
   124                          x-kubernetes-int-or-string: true
   125                      type: object
   126                    type:
   127                      description: Type of deployment. Currently the only supported
   128                        strategy is "RollingUpdate". Default is RollingUpdate.
   129                      type: string
   130                  type: object
   131                template:
   132                  description: Template describes the machines that will be created.
   133                  properties:
   134                    metadata:
   135                      description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
   136                      properties:
   137                        annotations:
   138                          additionalProperties:
   139                            type: string
   140                          description: 'Annotations is an unstructured key value map
   141                            stored with a resource that may be set by external tools
   142                            to store and retrieve arbitrary metadata. They are not queryable
   143                            and should be preserved when modifying objects. More info:
   144                            http://kubernetes.io/docs/user-guide/annotations'
   145                          type: object
   146                        generateName:
   147                          description: "GenerateName is an optional prefix, used by
   148                            the server, to generate a unique name ONLY IF the Name field
   149                            has not been provided. If this field is used, the name returned
   150                            to the client will be different than the name passed. This
   151                            value will also be combined with a unique suffix. The provided
   152                            value has the same validation rules as the Name field, and
   153                            may be truncated by the length of the suffix required to
   154                            make the value unique on the server. \n If this field is
   155                            specified and the generated name exists, the server will
   156                            NOT return a 409 - instead, it will either return 201 Created
   157                            or 500 with Reason ServerTimeout indicating a unique name
   158                            could not be found in the time allotted, and the client
   159                            should retry (optionally after the time indicated in the
   160                            Retry-After header). \n Applied only if Name is not specified.
   161                            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"
   162                          type: string
   163                        labels:
   164                          additionalProperties:
   165                            type: string
   166                          description: 'Map of string keys and values that can be used
   167                            to organize and categorize (scope and select) objects. May
   168                            match selectors of replication controllers and services.
   169                            More info: http://kubernetes.io/docs/user-guide/labels'
   170                          type: object
   171                        name:
   172                          description: 'Name must be unique within a namespace. Is required
   173                            when creating resources, although some resources may allow
   174                            a client to request the generation of an appropriate name
   175                            automatically. Name is primarily intended for creation idempotence
   176                            and configuration definition. Cannot be updated. More info:
   177                            http://kubernetes.io/docs/user-guide/identifiers#names'
   178                          type: string
   179                        namespace:
   180                          description: "Namespace defines the space within each name
   181                            must be unique. An empty namespace is equivalent to the
   182                            \"default\" namespace, but \"default\" is the canonical
   183                            representation. Not all objects are required to be scoped
   184                            to a namespace - the value of this field for those objects
   185                            will be empty. \n Must be a DNS_LABEL. Cannot be updated.
   186                            More info: http://kubernetes.io/docs/user-guide/namespaces"
   187                          type: string
   188                        ownerReferences:
   189                          description: List of objects depended by this object. If ALL
   190                            objects in the list have been deleted, this object will
   191                            be garbage collected. If this object is managed by a controller,
   192                            then an entry in this list will point to this controller,
   193                            with the controller field set to true. There cannot be more
   194                            than one managing controller.
   195                          items:
   196                            description: OwnerReference contains enough information
   197                              to let you identify an owning object. An owning object
   198                              must be in the same namespace as the dependent, or be
   199                              cluster-scoped, so there is no namespace field.
   200                            properties:
   201                              apiVersion:
   202                                description: API version of the referent.
   203                                type: string
   204                              blockOwnerDeletion:
   205                                description: If true, AND if the owner has the "foregroundDeletion"
   206                                  finalizer, then the owner cannot be deleted from the
   207                                  key-value store until this reference is removed. Defaults
   208                                  to false. To set this field, a user needs "delete"
   209                                  permission of the owner, otherwise 422 (Unprocessable
   210                                  Entity) will be returned.
   211                                type: boolean
   212                              controller:
   213                                description: If true, this reference points to the managing
   214                                  controller.
   215                                type: boolean
   216                              kind:
   217                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   218                                type: string
   219                              name:
   220                                description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   221                                type: string
   222                              uid:
   223                                description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
   224                                type: string
   225                            required:
   226                            - apiVersion
   227                            - kind
   228                            - name
   229                            - uid
   230                            type: object
   231                          type: array
   232                      type: object
   233                    spec:
   234                      description: 'Specification of the desired behavior of the machine.
   235                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
   236                      properties:
   237                        bootstrap:
   238                          description: Bootstrap is a reference to a local struct which
   239                            encapsulates fields to configure the Machine’s bootstrapping
   240                            mechanism.
   241                          properties:
   242                            configRef:
   243                              description: ConfigRef is a reference to a bootstrap provider-specific
   244                                resource that holds configuration details. The reference
   245                                is optional to allow users/operators to specify Bootstrap.Data
   246                                without the need of a controller.
   247                              properties:
   248                                apiVersion:
   249                                  description: API version of the referent.
   250                                  type: string
   251                                fieldPath:
   252                                  description: 'If referring to a piece of an object
   253                                    instead of an entire object, this string should
   254                                    contain a valid JSON/Go field access statement,
   255                                    such as desiredState.manifest.containers[2]. For
   256                                    example, if the object reference is to a container
   257                                    within a pod, this would take on a value like: "spec.containers{name}"
   258                                    (where "name" refers to the name of the container
   259                                    that triggered the event) or if no container name
   260                                    is specified "spec.containers[2]" (container with
   261                                    index 2 in this pod). This syntax is chosen only
   262                                    to have some well-defined way of referencing a part
   263                                    of an object. TODO: this design is not final and
   264                                    this field is subject to change in the future.'
   265                                  type: string
   266                                kind:
   267                                  description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   268                                  type: string
   269                                name:
   270                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   271                                  type: string
   272                                namespace:
   273                                  description: 'Namespace of the referent. More info:
   274                                    https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   275                                  type: string
   276                                resourceVersion:
   277                                  description: 'Specific resourceVersion to which this
   278                                    reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   279                                  type: string
   280                                uid:
   281                                  description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   282                                  type: string
   283                              type: object
   284                            data:
   285                              description: "Data contains the bootstrap data, such as
   286                                cloud-init details scripts. If nil, the Machine should
   287                                remain in the Pending state. \n Deprecated: This field
   288                                has been deprecated in v1alpha3 and will be removed
   289                                in a future version. Switch to DataSecretName."
   290                              type: string
   291                            dataSecretName:
   292                              description: DataSecretName is the name of the secret
   293                                that stores the bootstrap data script. If nil, the Machine
   294                                should remain in the Pending state.
   295                              type: string
   296                          type: object
   297                        clusterName:
   298                          description: ClusterName is the name of the Cluster this object
   299                            belongs to.
   300                          minLength: 1
   301                          type: string
   302                        failureDomain:
   303                          description: FailureDomain is the failure domain the machine
   304                            will be created in. Must match a key in the FailureDomains
   305                            map stored on the cluster object.
   306                          type: string
   307                        infrastructureRef:
   308                          description: InfrastructureRef is a required reference to
   309                            a custom resource offered by an infrastructure provider.
   310                          properties:
   311                            apiVersion:
   312                              description: API version of the referent.
   313                              type: string
   314                            fieldPath:
   315                              description: 'If referring to a piece of an object instead
   316                                of an entire object, this string should contain a valid
   317                                JSON/Go field access statement, such as desiredState.manifest.containers[2].
   318                                For example, if the object reference is to a container
   319                                within a pod, this would take on a value like: "spec.containers{name}"
   320                                (where "name" refers to the name of the container that
   321                                triggered the event) or if no container name is specified
   322                                "spec.containers[2]" (container with index 2 in this
   323                                pod). This syntax is chosen only to have some well-defined
   324                                way of referencing a part of an object. TODO: this design
   325                                is not final and this field is subject to change in
   326                                the future.'
   327                              type: string
   328                            kind:
   329                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   330                              type: string
   331                            name:
   332                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   333                              type: string
   334                            namespace:
   335                              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   336                              type: string
   337                            resourceVersion:
   338                              description: 'Specific resourceVersion to which this reference
   339                                is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   340                              type: string
   341                            uid:
   342                              description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   343                              type: string
   344                          type: object
   345                        providerID:
   346                          description: ProviderID is the identification ID of the machine
   347                            provided by the provider. This field must match the provider
   348                            ID as seen on the node object corresponding to this machine.
   349                            This field is required by higher level consumers of cluster-api.
   350                            Example use case is cluster autoscaler with cluster-api
   351                            as provider. Clean-up logic in the autoscaler compares machines
   352                            to nodes to find out machines at provider which could not
   353                            get registered as Kubernetes nodes. With cluster-api as
   354                            a generic out-of-tree provider for autoscaler, this field
   355                            is required by autoscaler to be able to have a provider
   356                            view of the list of machines. Another list of nodes is queried
   357                            from the k8s apiserver and then a comparison is done to
   358                            find out unregistered machines and are marked for delete.
   359                            This field will be set by the actuators and consumed by
   360                            higher level entities like autoscaler that will be interfacing
   361                            with cluster-api as generic provider.
   362                          type: string
   363                        version:
   364                          description: Version defines the desired Kubernetes version.
   365                            This field is meant to be optionally used by bootstrap providers.
   366                          type: string
   367                      required:
   368                      - bootstrap
   369                      - clusterName
   370                      - infrastructureRef
   371                      type: object
   372                  type: object
   373              required:
   374              - clusterName
   375              - template
   376              type: object
   377            status:
   378              description: MachinePoolStatus defines the observed state of MachinePool
   379              properties:
   380                availableReplicas:
   381                  description: The number of available replicas (ready for at least
   382                    minReadySeconds) for this MachinePool.
   383                  format: int32
   384                  type: integer
   385                bootstrapReady:
   386                  description: BootstrapReady is the state of the bootstrap provider.
   387                  type: boolean
   388                failureMessage:
   389                  description: FailureMessage indicates that there is a problem reconciling
   390                    the state, and will be set to a descriptive error message.
   391                  type: string
   392                failureReason:
   393                  description: FailureReason indicates that there is a problem reconciling
   394                    the state, and will be set to a token value suitable for programmatic
   395                    interpretation.
   396                  type: string
   397                infrastructureReady:
   398                  description: InfrastructureReady is the state of the infrastructure
   399                    provider.
   400                  type: boolean
   401                nodeRefs:
   402                  description: NodeRefs will point to the corresponding Nodes if it
   403                    they exist.
   404                  items:
   405                    description: 'ObjectReference contains enough information to let
   406                      you inspect or modify the referred object. --- New uses of this
   407                      type are discouraged because of difficulty describing its usage
   408                      when embedded in APIs.  1. Ignored fields.  It includes many fields
   409                      which are not generally honored.  For instance, ResourceVersion
   410                      and FieldPath are both very rarely valid in actual usage.  2.
   411                      Invalid usage help.  It is impossible to add specific help for
   412                      individual usage.  In most embedded usages, there are particular     restrictions
   413                      like, "must refer only to types A and B" or "UID not honored"
   414                      or "name must be restricted".     Those cannot be well described
   415                      when embedded.  3. Inconsistent validation.  Because the usages
   416                      are different, the validation rules are different by usage, which
   417                      makes it hard for users to predict what will happen.  4. The fields
   418                      are both imprecise and overly precise.  Kind is not a precise
   419                      mapping to a URL. This can produce ambiguity     during interpretation
   420                      and require a REST mapping.  In most cases, the dependency is
   421                      on the group,resource tuple     and the version of the actual
   422                      struct is irrelevant.  5. We cannot easily change it.  Because
   423                      this type is embedded in many locations, updates to this type     will
   424                      affect numerous schemas.  Don''t make new APIs embed an underspecified
   425                      API type they do not control. Instead of using this type, create
   426                      a locally provided and used type that is well-focused on your
   427                      reference. For example, ServiceReferences for admission registration:
   428                      https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
   429                      .'
   430                    properties:
   431                      apiVersion:
   432                        description: API version of the referent.
   433                        type: string
   434                      fieldPath:
   435                        description: 'If referring to a piece of an object instead of
   436                          an entire object, this string should contain a valid JSON/Go
   437                          field access statement, such as desiredState.manifest.containers[2].
   438                          For example, if the object reference is to a container within
   439                          a pod, this would take on a value like: "spec.containers{name}"
   440                          (where "name" refers to the name of the container that triggered
   441                          the event) or if no container name is specified "spec.containers[2]"
   442                          (container with index 2 in this pod). This syntax is chosen
   443                          only to have some well-defined way of referencing a part of
   444                          an object. TODO: this design is not final and this field is
   445                          subject to change in the future.'
   446                        type: string
   447                      kind:
   448                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   449                        type: string
   450                      name:
   451                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   452                        type: string
   453                      namespace:
   454                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   455                        type: string
   456                      resourceVersion:
   457                        description: 'Specific resourceVersion to which this reference
   458                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   459                        type: string
   460                      uid:
   461                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   462                        type: string
   463                    type: object
   464                  type: array
   465                observedGeneration:
   466                  description: ObservedGeneration is the latest generation observed
   467                    by the controller.
   468                  format: int64
   469                  type: integer
   470                phase:
   471                  description: Phase represents the current phase of cluster actuation.
   472                    E.g. Pending, Running, Terminating, Failed etc.
   473                  type: string
   474                readyReplicas:
   475                  description: The number of ready replicas for this MachinePool. A
   476                    machine is considered ready when the node has been created and is
   477                    "Ready".
   478                  format: int32
   479                  type: integer
   480                replicas:
   481                  description: Replicas is the most recently observed number of replicas.
   482                  format: int32
   483                  type: integer
   484                unavailableReplicas:
   485                  description: Total number of unavailable machine instances targeted
   486                    by this machine pool. This is the total number of machine instances
   487                    that are still required for the machine pool to have 100% available
   488                    capacity. They may either be machine instances that are running
   489                    but not yet available or machine instances that still have not been
   490                    created.
   491                  format: int32
   492                  type: integer
   493              type: object
   494          type: object
   495      served: true
   496      storage: true
   497      subresources:
   498        scale:
   499          specReplicasPath: .spec.replicas
   500          statusReplicasPath: .status.replicas
   501        status: {}
   502  status:
   503    acceptedNames:
   504      kind: ""
   505      plural: ""
   506    conditions: []
   507    storedVersions: []