sigs.k8s.io/cluster-api/bootstrap/kubeadm@v0.0.0-20191016155141-23a891785b60/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1beta1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    creationTimestamp: null
     7    name: kubeadmconfigs.bootstrap.cluster.x-k8s.io
     8  spec:
     9    group: bootstrap.cluster.x-k8s.io
    10    names:
    11      categories:
    12      - cluster-api
    13      kind: KubeadmConfig
    14      listKind: KubeadmConfigList
    15      plural: kubeadmconfigs
    16      singular: kubeadmconfig
    17    scope: Namespaced
    18    subresources:
    19      status: {}
    20    validation:
    21      openAPIV3Schema:
    22        description: KubeadmConfig is the Schema for the kubeadmconfigs API
    23        properties:
    24          apiVersion:
    25            description: 'APIVersion defines the versioned schema of this representation
    26              of an object. Servers should convert recognized schemas to the latest
    27              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    28            type: string
    29          kind:
    30            description: 'Kind is a string value representing the REST resource this
    31              object represents. Servers may infer this from the endpoint the client
    32              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    33            type: string
    34          metadata:
    35            type: object
    36          spec:
    37            description: KubeadmConfigSpec defines the desired state of KubeadmConfig.
    38              Either ClusterConfiguration and InitConfiguration should be defined or
    39              the JoinConfiguration should be defined.
    40            properties:
    41              clusterConfiguration:
    42                description: ClusterConfiguration along with InitConfiguration are the
    43                  configurations necessary for the init command
    44                properties:
    45                  apiServer:
    46                    description: APIServer contains extra settings for the API server
    47                      control plane component
    48                    properties:
    49                      certSANs:
    50                        description: CertSANs sets extra Subject Alternative Names for
    51                          the API Server signing cert.
    52                        items:
    53                          type: string
    54                        type: array
    55                      extraArgs:
    56                        additionalProperties:
    57                          type: string
    58                        description: 'ExtraArgs is an extra set of flags to pass to
    59                          the control plane component. TODO: This is temporary and ideally
    60                          we would like to switch all components to use ComponentConfig
    61                          + ConfigMaps.'
    62                        type: object
    63                      extraVolumes:
    64                        description: ExtraVolumes is an extra set of host volumes, mounted
    65                          to the control plane component.
    66                        items:
    67                          description: HostPathMount contains elements describing volumes
    68                            that are mounted from the host.
    69                          properties:
    70                            hostPath:
    71                              description: HostPath is the path in the host that will
    72                                be mounted inside the pod.
    73                              type: string
    74                            mountPath:
    75                              description: MountPath is the path inside the pod where
    76                                hostPath will be mounted.
    77                              type: string
    78                            name:
    79                              description: Name of the volume inside the pod template.
    80                              type: string
    81                            pathType:
    82                              description: PathType is the type of the HostPath.
    83                              type: string
    84                            readOnly:
    85                              description: ReadOnly controls write access to the volume
    86                              type: boolean
    87                          required:
    88                          - hostPath
    89                          - mountPath
    90                          - name
    91                          type: object
    92                        type: array
    93                      timeoutForControlPlane:
    94                        description: TimeoutForControlPlane controls the timeout that
    95                          we use for API server to appear
    96                        type: string
    97                    type: object
    98                  apiVersion:
    99                    description: 'APIVersion defines the versioned schema of this representation
   100                      of an object. Servers should convert recognized schemas to the
   101                      latest internal value, and may reject unrecognized values. More
   102                      info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
   103                    type: string
   104                  certificatesDir:
   105                    description: CertificatesDir specifies where to store or look for
   106                      all required certificates.
   107                    type: string
   108                  clusterName:
   109                    description: The cluster name
   110                    type: string
   111                  controlPlaneEndpoint:
   112                    description: 'ControlPlaneEndpoint sets a stable IP address or DNS
   113                      name for the control plane; it can be a valid IP address or a
   114                      RFC-1123 DNS subdomain, both with optional TCP port. In case the
   115                      ControlPlaneEndpoint is not specified, the AdvertiseAddress +
   116                      BindPort are used; in case the ControlPlaneEndpoint is specified
   117                      but without a TCP port, the BindPort is used. Possible usages
   118                      are: e.g. In a cluster with more than one control plane instances,
   119                      this field should be assigned the address of the external load
   120                      balancer in front of the control plane instances. e.g.  in environments
   121                      with enforced node recycling, the ControlPlaneEndpoint could be
   122                      used for assigning a stable DNS to the control plane. NB: This
   123                      value defaults to the first value in the Cluster object status.apiEndpoints
   124                      array.'
   125                    type: string
   126                  controllerManager:
   127                    description: ControllerManager contains extra settings for the controller
   128                      manager control plane component
   129                    properties:
   130                      extraArgs:
   131                        additionalProperties:
   132                          type: string
   133                        description: 'ExtraArgs is an extra set of flags to pass to
   134                          the control plane component. TODO: This is temporary and ideally
   135                          we would like to switch all components to use ComponentConfig
   136                          + ConfigMaps.'
   137                        type: object
   138                      extraVolumes:
   139                        description: ExtraVolumes is an extra set of host volumes, mounted
   140                          to the control plane component.
   141                        items:
   142                          description: HostPathMount contains elements describing volumes
   143                            that are mounted from the host.
   144                          properties:
   145                            hostPath:
   146                              description: HostPath is the path in the host that will
   147                                be mounted inside the pod.
   148                              type: string
   149                            mountPath:
   150                              description: MountPath is the path inside the pod where
   151                                hostPath will be mounted.
   152                              type: string
   153                            name:
   154                              description: Name of the volume inside the pod template.
   155                              type: string
   156                            pathType:
   157                              description: PathType is the type of the HostPath.
   158                              type: string
   159                            readOnly:
   160                              description: ReadOnly controls write access to the volume
   161                              type: boolean
   162                          required:
   163                          - hostPath
   164                          - mountPath
   165                          - name
   166                          type: object
   167                        type: array
   168                    type: object
   169                  dns:
   170                    description: DNS defines the options for the DNS add-on installed
   171                      in the cluster.
   172                    properties:
   173                      imageRepository:
   174                        description: ImageRepository sets the container registry to
   175                          pull images from. if not set, the ImageRepository defined
   176                          in ClusterConfiguration will be used instead.
   177                        type: string
   178                      imageTag:
   179                        description: ImageTag allows to specify a tag for the image.
   180                          In case this value is set, kubeadm does not change automatically
   181                          the version of the above components during upgrades.
   182                        type: string
   183                      type:
   184                        description: Type defines the DNS add-on to be used
   185                        type: string
   186                    required:
   187                    - type
   188                    type: object
   189                  etcd:
   190                    description: Etcd holds configuration for etcd.
   191                    properties:
   192                      external:
   193                        description: External describes how to connect to an external
   194                          etcd cluster Local and External are mutually exclusive
   195                        properties:
   196                          caFile:
   197                            description: CAFile is an SSL Certificate Authority file
   198                              used to secure etcd communication. Required if using a
   199                              TLS connection.
   200                            type: string
   201                          certFile:
   202                            description: CertFile is an SSL certification file used
   203                              to secure etcd communication. Required if using a TLS
   204                              connection.
   205                            type: string
   206                          endpoints:
   207                            description: Endpoints of etcd members. Required for ExternalEtcd.
   208                            items:
   209                              type: string
   210                            type: array
   211                          keyFile:
   212                            description: KeyFile is an SSL key file used to secure etcd
   213                              communication. Required if using a TLS connection.
   214                            type: string
   215                        required:
   216                        - caFile
   217                        - certFile
   218                        - endpoints
   219                        - keyFile
   220                        type: object
   221                      local:
   222                        description: Local provides configuration knobs for configuring
   223                          the local etcd instance Local and External are mutually exclusive
   224                        properties:
   225                          dataDir:
   226                            description: DataDir is the directory etcd will place its
   227                              data. Defaults to "/var/lib/etcd".
   228                            type: string
   229                          extraArgs:
   230                            additionalProperties:
   231                              type: string
   232                            description: ExtraArgs are extra arguments provided to the
   233                              etcd binary when run inside a static pod.
   234                            type: object
   235                          imageRepository:
   236                            description: ImageRepository sets the container registry
   237                              to pull images from. if not set, the ImageRepository defined
   238                              in ClusterConfiguration will be used instead.
   239                            type: string
   240                          imageTag:
   241                            description: ImageTag allows to specify a tag for the image.
   242                              In case this value is set, kubeadm does not change automatically
   243                              the version of the above components during upgrades.
   244                            type: string
   245                          peerCertSANs:
   246                            description: PeerCertSANs sets extra Subject Alternative
   247                              Names for the etcd peer signing cert.
   248                            items:
   249                              type: string
   250                            type: array
   251                          serverCertSANs:
   252                            description: ServerCertSANs sets extra Subject Alternative
   253                              Names for the etcd server signing cert.
   254                            items:
   255                              type: string
   256                            type: array
   257                        required:
   258                        - dataDir
   259                        type: object
   260                    type: object
   261                  featureGates:
   262                    additionalProperties:
   263                      type: boolean
   264                    description: FeatureGates enabled by the user.
   265                    type: object
   266                  imageRepository:
   267                    description: ImageRepository sets the container registry to pull
   268                      images from. If empty, `k8s.gcr.io` will be used by default; in
   269                      case of kubernetes version is a CI build (kubernetes version starts
   270                      with `ci/` or `ci-cross/`) `gcr.io/kubernetes-ci-images` will
   271                      be used as a default for control plane components and for kube-proxy,
   272                      while `k8s.gcr.io` will be used for all the other images.
   273                    type: string
   274                  kind:
   275                    description: 'Kind is a string value representing the REST resource
   276                      this object represents. Servers may infer this from the endpoint
   277                      the client submits requests to. Cannot be updated. In CamelCase.
   278                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   279                    type: string
   280                  kubernetesVersion:
   281                    description: 'KubernetesVersion is the target version of the control
   282                      plane. NB: This value defaults to the Machine object spec.kuberentesVersion'
   283                    type: string
   284                  networking:
   285                    description: 'Networking holds configuration for the networking
   286                      topology of the cluster. NB: This value defaults to the Cluster
   287                      object spec.clusterNetwork.'
   288                    properties:
   289                      dnsDomain:
   290                        description: DNSDomain is the dns domain used by k8s services.
   291                          Defaults to "cluster.local".
   292                        type: string
   293                      podSubnet:
   294                        description: PodSubnet is the subnet used by pods.
   295                        type: string
   296                      serviceSubnet:
   297                        description: ServiceSubnet is the subnet used by k8s services.
   298                          Defaults to "10.96.0.0/12".
   299                        type: string
   300                    required:
   301                    - dnsDomain
   302                    - podSubnet
   303                    - serviceSubnet
   304                    type: object
   305                  scheduler:
   306                    description: Scheduler contains extra settings for the scheduler
   307                      control plane component
   308                    properties:
   309                      extraArgs:
   310                        additionalProperties:
   311                          type: string
   312                        description: 'ExtraArgs is an extra set of flags to pass to
   313                          the control plane component. TODO: This is temporary and ideally
   314                          we would like to switch all components to use ComponentConfig
   315                          + ConfigMaps.'
   316                        type: object
   317                      extraVolumes:
   318                        description: ExtraVolumes is an extra set of host volumes, mounted
   319                          to the control plane component.
   320                        items:
   321                          description: HostPathMount contains elements describing volumes
   322                            that are mounted from the host.
   323                          properties:
   324                            hostPath:
   325                              description: HostPath is the path in the host that will
   326                                be mounted inside the pod.
   327                              type: string
   328                            mountPath:
   329                              description: MountPath is the path inside the pod where
   330                                hostPath will be mounted.
   331                              type: string
   332                            name:
   333                              description: Name of the volume inside the pod template.
   334                              type: string
   335                            pathType:
   336                              description: PathType is the type of the HostPath.
   337                              type: string
   338                            readOnly:
   339                              description: ReadOnly controls write access to the volume
   340                              type: boolean
   341                          required:
   342                          - hostPath
   343                          - mountPath
   344                          - name
   345                          type: object
   346                        type: array
   347                    type: object
   348                  useHyperKubeImage:
   349                    description: UseHyperKubeImage controls if hyperkube should be used
   350                      for Kubernetes components instead of their respective separate
   351                      images
   352                    type: boolean
   353                type: object
   354              files:
   355                description: Files specifies extra files to be passed to user_data upon
   356                  creation.
   357                items:
   358                  description: File defines the input for generating write_files in
   359                    cloud-init.
   360                  properties:
   361                    content:
   362                      description: Content is the actual content of the file.
   363                      type: string
   364                    encoding:
   365                      description: Encoding specifies the encoding of the file contents.
   366                      enum:
   367                      - base64
   368                      - gzip
   369                      - gzip+base64
   370                      type: string
   371                    owner:
   372                      description: Owner specifies the ownership of the file, e.g. "root:root".
   373                      type: string
   374                    path:
   375                      description: Path specifies the full path on disk where to store
   376                        the file.
   377                      type: string
   378                    permissions:
   379                      description: Permissions specifies the permissions to assign to
   380                        the file, e.g. "0640".
   381                      type: string
   382                  required:
   383                  - content
   384                  - path
   385                  type: object
   386                type: array
   387              format:
   388                description: Format specifies the output format of the bootstrap data
   389                enum:
   390                - cloud-config
   391                type: string
   392              initConfiguration:
   393                description: InitConfiguration along with ClusterConfiguration are the
   394                  configurations necessary for the init command
   395                properties:
   396                  apiVersion:
   397                    description: 'APIVersion defines the versioned schema of this representation
   398                      of an object. Servers should convert recognized schemas to the
   399                      latest internal value, and may reject unrecognized values. More
   400                      info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
   401                    type: string
   402                  bootstrapTokens:
   403                    description: BootstrapTokens is respected at `kubeadm init` time
   404                      and describes a set of Bootstrap Tokens to create. This information
   405                      IS NOT uploaded to the kubeadm cluster configmap, partly because
   406                      of its sensitive nature
   407                    items:
   408                      description: BootstrapToken describes one bootstrap token, stored
   409                        as a Secret in the cluster
   410                      properties:
   411                        description:
   412                          description: Description sets a human-friendly message why
   413                            this token exists and what it's used for, so other administrators
   414                            can know its purpose.
   415                          type: string
   416                        expires:
   417                          description: Expires specifies the timestamp when this token
   418                            expires. Defaults to being set dynamically at runtime based
   419                            on the TTL. Expires and TTL are mutually exclusive.
   420                          format: date-time
   421                          type: string
   422                        groups:
   423                          description: Groups specifies the extra groups that this token
   424                            will authenticate as when/if used for authentication
   425                          items:
   426                            type: string
   427                          type: array
   428                        token:
   429                          description: Token is used for establishing bidirectional
   430                            trust between nodes and control-planes. Used for joining
   431                            nodes in the cluster.
   432                          type: object
   433                        ttl:
   434                          description: TTL defines the time to live for this token.
   435                            Defaults to 24h. Expires and TTL are mutually exclusive.
   436                          type: string
   437                        usages:
   438                          description: Usages describes the ways in which this token
   439                            can be used. Can by default be used for establishing bidirectional
   440                            trust, but that can be changed here.
   441                          items:
   442                            type: string
   443                          type: array
   444                      required:
   445                      - token
   446                      type: object
   447                    type: array
   448                  kind:
   449                    description: 'Kind is a string value representing the REST resource
   450                      this object represents. Servers may infer this from the endpoint
   451                      the client submits requests to. Cannot be updated. In CamelCase.
   452                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   453                    type: string
   454                  localAPIEndpoint:
   455                    description: LocalAPIEndpoint represents the endpoint of the API
   456                      server instance that's deployed on this control plane node In
   457                      HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint
   458                      in the sense that ControlPlaneEndpoint is the global endpoint
   459                      for the cluster, which then loadbalances the requests to each
   460                      individual API server. This configuration object lets you customize
   461                      what IP/DNS name and port the local API server advertises it's
   462                      accessible on. By default, kubeadm tries to auto-detect the IP
   463                      of the default interface and use that, but in case that process
   464                      fails you may set the desired value here.
   465                    properties:
   466                      advertiseAddress:
   467                        description: AdvertiseAddress sets the IP address for the API
   468                          server to advertise.
   469                        type: string
   470                      bindPort:
   471                        description: BindPort sets the secure port for the API Server
   472                          to bind to. Defaults to 6443.
   473                        format: int32
   474                        type: integer
   475                    required:
   476                    - advertiseAddress
   477                    - bindPort
   478                    type: object
   479                  nodeRegistration:
   480                    description: NodeRegistration holds fields that relate to registering
   481                      the new control-plane node to the cluster
   482                    properties:
   483                      criSocket:
   484                        description: CRISocket is used to retrieve container runtime
   485                          info. This information will be annotated to the Node API object,
   486                          for later re-use
   487                        type: string
   488                      kubeletExtraArgs:
   489                        additionalProperties:
   490                          type: string
   491                        description: KubeletExtraArgs passes through extra arguments
   492                          to the kubelet. The arguments here are passed to the kubelet
   493                          command line via the environment file kubeadm writes at runtime
   494                          for the kubelet to source. This overrides the generic base-level
   495                          configuration in the kubelet-config-1.X ConfigMap Flags have
   496                          higher priority when parsing. These values are local and specific
   497                          to the node kubeadm is executing on.
   498                        type: object
   499                      name:
   500                        description: Name is the `.Metadata.Name` field of the Node
   501                          API object that will be created in this `kubeadm init` or
   502                          `kubeadm join` operation. This field is also used in the CommonName
   503                          field of the kubelet's client certificate to the API server.
   504                          Defaults to the hostname of the node if not provided.
   505                        type: string
   506                      taints:
   507                        description: 'Taints specifies the taints the Node API object
   508                          should be registered with. If this field is unset, i.e. nil,
   509                          in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}.
   510                          If you don''t want to taint your control-plane node, set this
   511                          field to an empty slice, i.e. `taints: {}` in the YAML file.
   512                          This field is solely used for Node registration.'
   513                        items:
   514                          description: The node this Taint is attached to has the "effect"
   515                            on any pod that does not tolerate the Taint.
   516                          properties:
   517                            effect:
   518                              description: Required. The effect of the taint on pods
   519                                that do not tolerate the taint. Valid effects are NoSchedule,
   520                                PreferNoSchedule and NoExecute.
   521                              type: string
   522                            key:
   523                              description: Required. The taint key to be applied to
   524                                a node.
   525                              type: string
   526                            timeAdded:
   527                              description: TimeAdded represents the time at which the
   528                                taint was added. It is only written for NoExecute taints.
   529                              format: date-time
   530                              type: string
   531                            value:
   532                              description: Required. The taint value corresponding to
   533                                the taint key.
   534                              type: string
   535                          required:
   536                          - effect
   537                          - key
   538                          type: object
   539                        type: array
   540                    type: object
   541                type: object
   542              joinConfiguration:
   543                description: JoinConfiguration is the kubeadm configuration for the
   544                  join command
   545                properties:
   546                  apiVersion:
   547                    description: 'APIVersion defines the versioned schema of this representation
   548                      of an object. Servers should convert recognized schemas to the
   549                      latest internal value, and may reject unrecognized values. More
   550                      info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
   551                    type: string
   552                  caCertPath:
   553                    description: 'CACertPath is the path to the SSL certificate authority
   554                      used to secure comunications between node and control-plane. Defaults
   555                      to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting
   556                      from k/k'
   557                    type: string
   558                  controlPlane:
   559                    description: ControlPlane defines the additional control plane instance
   560                      to be deployed on the joining node. If nil, no additional control
   561                      plane instance will be deployed.
   562                    properties:
   563                      localAPIEndpoint:
   564                        description: LocalAPIEndpoint represents the endpoint of the
   565                          API server instance to be deployed on this node.
   566                        properties:
   567                          advertiseAddress:
   568                            description: AdvertiseAddress sets the IP address for the
   569                              API server to advertise.
   570                            type: string
   571                          bindPort:
   572                            description: BindPort sets the secure port for the API Server
   573                              to bind to. Defaults to 6443.
   574                            format: int32
   575                            type: integer
   576                        required:
   577                        - advertiseAddress
   578                        - bindPort
   579                        type: object
   580                    type: object
   581                  discovery:
   582                    description: 'Discovery specifies the options for the kubelet to
   583                      use during the TLS Bootstrap process TODO: revisit when there
   584                      is defaulting from k/k'
   585                    properties:
   586                      bootstrapToken:
   587                        description: BootstrapToken is used to set the options for bootstrap
   588                          token based discovery BootstrapToken and File are mutually
   589                          exclusive
   590                        properties:
   591                          apiServerEndpoint:
   592                            description: APIServerEndpoint is an IP or domain name to
   593                              the API server from which info will be fetched.
   594                            type: string
   595                          caCertHashes:
   596                            description: 'CACertHashes specifies a set of public key
   597                              pins to verify when token-based discovery is used. The
   598                              root CA found during discovery must match one of these
   599                              values. Specifying an empty set disables root CA pinning,
   600                              which can be unsafe. Each hash is specified as "<type>:<value>",
   601                              where the only currently supported type is "sha256". This
   602                              is a hex-encoded SHA-256 hash of the Subject Public Key
   603                              Info (SPKI) object in DER-encoded ASN.1. These hashes
   604                              can be calculated using, for example, OpenSSL: openssl
   605                              x509 -pubkey -in ca.crt openssl rsa -pubin -outform der
   606                              2>&/dev/null | openssl dgst -sha256 -hex'
   607                            items:
   608                              type: string
   609                            type: array
   610                          token:
   611                            description: Token is a token used to validate cluster information
   612                              fetched from the control-plane.
   613                            type: string
   614                          unsafeSkipCAVerification:
   615                            description: UnsafeSkipCAVerification allows token-based
   616                              discovery without CA verification via CACertHashes. This
   617                              can weaken the security of kubeadm since other nodes can
   618                              impersonate the control-plane.
   619                            type: boolean
   620                        required:
   621                        - token
   622                        - unsafeSkipCAVerification
   623                        type: object
   624                      file:
   625                        description: File is used to specify a file or URL to a kubeconfig
   626                          file from which to load cluster information BootstrapToken
   627                          and File are mutually exclusive
   628                        properties:
   629                          kubeConfigPath:
   630                            description: KubeConfigPath is used to specify the actual
   631                              file path or URL to the kubeconfig file from which to
   632                              load cluster information
   633                            type: string
   634                        required:
   635                        - kubeConfigPath
   636                        type: object
   637                      timeout:
   638                        description: Timeout modifies the discovery timeout
   639                        type: string
   640                      tlsBootstrapToken:
   641                        description: 'TLSBootstrapToken is a token used for TLS bootstrapping.
   642                          If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token,
   643                          but can be overridden. If .File is set, this field **must
   644                          be set** in case the KubeConfigFile does not contain any other
   645                          authentication information TODO: revisit when there is defaulting
   646                          from k/k'
   647                        type: string
   648                    type: object
   649                  kind:
   650                    description: 'Kind is a string value representing the REST resource
   651                      this object represents. Servers may infer this from the endpoint
   652                      the client submits requests to. Cannot be updated. In CamelCase.
   653                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   654                    type: string
   655                  nodeRegistration:
   656                    description: NodeRegistration holds fields that relate to registering
   657                      the new control-plane node to the cluster
   658                    properties:
   659                      criSocket:
   660                        description: CRISocket is used to retrieve container runtime
   661                          info. This information will be annotated to the Node API object,
   662                          for later re-use
   663                        type: string
   664                      kubeletExtraArgs:
   665                        additionalProperties:
   666                          type: string
   667                        description: KubeletExtraArgs passes through extra arguments
   668                          to the kubelet. The arguments here are passed to the kubelet
   669                          command line via the environment file kubeadm writes at runtime
   670                          for the kubelet to source. This overrides the generic base-level
   671                          configuration in the kubelet-config-1.X ConfigMap Flags have
   672                          higher priority when parsing. These values are local and specific
   673                          to the node kubeadm is executing on.
   674                        type: object
   675                      name:
   676                        description: Name is the `.Metadata.Name` field of the Node
   677                          API object that will be created in this `kubeadm init` or
   678                          `kubeadm join` operation. This field is also used in the CommonName
   679                          field of the kubelet's client certificate to the API server.
   680                          Defaults to the hostname of the node if not provided.
   681                        type: string
   682                      taints:
   683                        description: 'Taints specifies the taints the Node API object
   684                          should be registered with. If this field is unset, i.e. nil,
   685                          in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}.
   686                          If you don''t want to taint your control-plane node, set this
   687                          field to an empty slice, i.e. `taints: {}` in the YAML file.
   688                          This field is solely used for Node registration.'
   689                        items:
   690                          description: The node this Taint is attached to has the "effect"
   691                            on any pod that does not tolerate the Taint.
   692                          properties:
   693                            effect:
   694                              description: Required. The effect of the taint on pods
   695                                that do not tolerate the taint. Valid effects are NoSchedule,
   696                                PreferNoSchedule and NoExecute.
   697                              type: string
   698                            key:
   699                              description: Required. The taint key to be applied to
   700                                a node.
   701                              type: string
   702                            timeAdded:
   703                              description: TimeAdded represents the time at which the
   704                                taint was added. It is only written for NoExecute taints.
   705                              format: date-time
   706                              type: string
   707                            value:
   708                              description: Required. The taint value corresponding to
   709                                the taint key.
   710                              type: string
   711                          required:
   712                          - effect
   713                          - key
   714                          type: object
   715                        type: array
   716                    type: object
   717                required:
   718                - nodeRegistration
   719                type: object
   720              ntp:
   721                description: NTP specifies NTP configuration
   722                properties:
   723                  enabled:
   724                    description: Enabled specifies whether NTP should be enabled
   725                    type: boolean
   726                  servers:
   727                    description: Servers specifies which NTP servers to use
   728                    items:
   729                      type: string
   730                    type: array
   731                type: object
   732              postKubeadmCommands:
   733                description: PostKubeadmCommands specifies extra commands to run after
   734                  kubeadm runs
   735                items:
   736                  type: string
   737                type: array
   738              preKubeadmCommands:
   739                description: PreKubeadmCommands specifies extra commands to run before
   740                  kubeadm runs
   741                items:
   742                  type: string
   743                type: array
   744              users:
   745                description: Users specifies extra users to add
   746                items:
   747                  description: User defines the input for a generated user in cloud-init.
   748                  properties:
   749                    gecos:
   750                      description: Gecos specifies the gecos to use for the user
   751                      type: string
   752                    groups:
   753                      description: Groups specifies the additional groups for the user
   754                      type: string
   755                    homeDir:
   756                      description: HomeDir specifies the home directory to use for the
   757                        user
   758                      type: string
   759                    inactive:
   760                      description: Inactive specifies whether to mark the user as inactive
   761                      type: boolean
   762                    lockPassword:
   763                      description: LockPassword specifies if password login should be
   764                        disabled
   765                      type: boolean
   766                    name:
   767                      description: Name specifies the user name
   768                      type: string
   769                    passwd:
   770                      description: Passwd specifies a hashed password for the user
   771                      type: string
   772                    primaryGroup:
   773                      description: PrimaryGroup specifies the primary group for the
   774                        user
   775                      type: string
   776                    shell:
   777                      description: Shell specifies the user's shell
   778                      type: string
   779                    sshAuthorizedKeys:
   780                      description: SSHAuthorizedKeys specifies a list of ssh authorized
   781                        keys for the user
   782                      items:
   783                        type: string
   784                      type: array
   785                    sudo:
   786                      description: Sudo specifies a sudo role for the user
   787                      type: string
   788                  required:
   789                  - name
   790                  type: object
   791                type: array
   792            type: object
   793          status:
   794            description: KubeadmConfigStatus defines the observed state of KubeadmConfig
   795            properties:
   796              bootstrapData:
   797                description: BootstrapData will be a cloud-init script for now
   798                format: byte
   799                type: string
   800              errorMessage:
   801                description: ErrorMessage will be set on non-retryable errors
   802                type: string
   803              errorReason:
   804                description: ErrorReason will be set on non-retryable errors
   805                type: string
   806              ready:
   807                description: Ready indicates the BootstrapData field is ready to be
   808                  consumed
   809                type: boolean
   810            type: object
   811        type: object
   812    version: v1alpha2
   813    versions:
   814    - name: v1alpha2
   815      served: true
   816      storage: true
   817  status:
   818    acceptedNames:
   819      kind: ""
   820      plural: ""
   821    conditions: []
   822    storedVersions: []