$schema: "http://json-schema.org/draft-06/schema#"

title: gkeonprem v1 BareMetalKubeletConfig export schema
description: A gcloud export/import command YAML validation schema.
type: object
additionalProperties: false
properties:
  COMMENT:
    type: object
    description: User specified info ignored by gcloud import.
    additionalProperties: false
    properties:
      template-id:
        type: string
      region:
        type: string
      description:
        type: string
      date:
        type: string
      version:
        type: string
  UNKNOWN:
    type: array
    description: Unknown API fields that cannot be imported.
    items:
      type: string
  cpuCfsQuotaDisabled:
    description: |-
      Disables CPU Completely Fair Scheduler (CFS) quota enforcement for
      containers that specify CPU limits. Disabling this field may reduce node
      stability.
    type: boolean
  cpuCfsQuotaPeriod:
    description: |-
      The CPU Completely Fair Scheduler (CFS) quota period value. The value must
      be between 1 ms and 1 second, inclusive. Requires the
      CustomCPUCFSQuotaPeriod feature gate to be enabled. When updating this
      field, consider that limits set for containers will result in different
      cpu.cfs_quota settings. This will trigger container restarts on the node
      being reconfigured. Defaults to "100ms".
    type: string
  cpuManagerPolicy:
    description: |-
      The kubelet CPU manager policy. Requires the CPUManager feature gate to be
      enabled. This field should not be updated without a full node reboot. It
      is safest to keep this value the same as the local
      /var/lib/kubelet/cpu_manager_state value. See
      https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-
      policies/#configuration.
    type: string
    enum:
    - NONE
    - STATIC
  featureGates:
    description: |-
      A map of feature names to bools that enable or disable experimental
      features. This field modifies the built-in default values from
      "k8s.io/kubernetes/pkg/features/kube_features.go". Consider the
      documentation for the features you are enabling or disabling. While we
      encourage feature developers to make it possible to enable and disable
      features, some changes may require node reboots, and some features may
      require careful coordination to retroactively disable.
    $ref: FeatureGatesValue.yaml
  podPidsLimit:
    description: |-
      The maximum number of PIDs in any pod. Lowering this may prevent container
      processes from forking after the change. Defaults to -1.
    type: integer
  registryBurst:
    description: |-
      The maximum size of bursty pulls, temporarily allows pulls to burst to
      this number, while still not exceeding registry_pull_qps. The value must
      not be a negative number. Updating this field may impact scalability by
      changing the amount of traffic produced by image pulls. Defaults to 10.
    type: integer
  registryPullQps:
    description: |-
      The limit of registry pulls per second. Setting this value to 0 means no
      limit. Updating this field may impact scalability by changing the amount
      of traffic produced by image pulls. Defaults to 5.
    type: integer
  serializeImagePullsDisabled:
    description: |-
      Prevents the Kubelet from pulling multiple images at a time. We recommend
      *not* changing the default value on nodes that run docker daemon with
      version < 1.9 or an Another Union File System (Aufs) storage backend.
      Issue https://github.com/kubernetes/kubernetes/issues/10959 has more
      details.
    type: boolean
