diff --git a/Makefile b/Makefile index 21e3aa7..70e80d3 100644 --- a/Makefile +++ b/Makefile @@ -4,8 +4,6 @@ RELEASE_TAG ?= $(shell git describe --tags --abbrev=0 2>/dev/null) # Image URL to use all building/pushing image targets IMG ?= tfgco/kubernetes-kops-operator:$(RELEASE_TAG) -# Produce CRDs that work back to Kubernetes 1.11 (no version conversion) -CRD_OPTIONS ?= crd # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -41,7 +39,7 @@ help: ## Display this help. ##@ Development manifests: controller-gen kustomize ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. - $(CONTROLLER_GEN) $(CRD_OPTIONS) crd:generateEmbeddedObjectMeta=true rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases + $(CONTROLLER_GEN) crd:generateEmbeddedObjectMeta=true rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases $(KUSTOMIZE) build config/crd -o config/crd/output generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. @@ -115,7 +113,7 @@ GOLANGCI_LINT ?= $(LOCALBIN)/golangci-lint ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.13.0 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 GOLANGCI_LINT_VERSION ?= v1.56.2 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" @@ -125,9 +123,8 @@ $(KUSTOMIZE): $(LOCALBIN) test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } .PHONY: controller-gen -controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. -$(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) +controller-gen: ## Download controller-gen locally if necessary. + (test -s $(LOCALBIN)/controller-gen && [ "$(shell ${LOCALBIN}/controller-gen --version)" == "*${CONTROLLER_TOOLS_VERSION}*" ]) || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. diff --git a/apis/controlplane/v1alpha1/zz_generated.deepcopy.go b/apis/controlplane/v1alpha1/zz_generated.deepcopy.go index f0c03e1..6e85e1f 100644 --- a/apis/controlplane/v1alpha1/zz_generated.deepcopy.go +++ b/apis/controlplane/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2021. diff --git a/apis/infrastructure/v1alpha1/zz_generated.deepcopy.go b/apis/infrastructure/v1alpha1/zz_generated.deepcopy.go index 315e6dc..d1c90df 100644 --- a/apis/infrastructure/v1alpha1/zz_generated.deepcopy.go +++ b/apis/infrastructure/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2021. diff --git a/config/crd/bases/controlplane.cluster.x-k8s.io_kopscontrolplanes.yaml b/config/crd/bases/controlplane.cluster.x-k8s.io_kopscontrolplanes.yaml index 544a659..bbf5b32 100644 --- a/config/crd/bases/controlplane.cluster.x-k8s.io_kopscontrolplanes.yaml +++ b/config/crd/bases/controlplane.cluster.x-k8s.io_kopscontrolplanes.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: kopscontrolplanes.controlplane.cluster.x-k8s.io spec: group: controlplane.cluster.x-k8s.io @@ -33,14 +32,19 @@ spec: description: KopsControlPlane is the Schema for the kopscontrolplanes API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -297,42 +301,45 @@ spec: oidc: properties: clientID: - description: ClientID is the client ID for the OpenID - Connect client. Must be set if issuerURL is set. + description: |- + ClientID is the client ID for the OpenID Connect client. Must be set + if issuerURL is set. type: string groupsClaims: - description: GroupsClaims are the names of the custom - OpenID Connect claims for specifying user groups (optional). + description: |- + GroupsClaims are the names of the custom OpenID Connect claims for + specifying user groups (optional). items: type: string type: array groupsPrefix: - description: GroupsPrefix is the prefix prepended to group - claims to prevent clashes with existing names (such - as 'system:' groups). + description: |- + GroupsPrefix is the prefix prepended to group claims to prevent + clashes with existing names (such as 'system:' groups). type: string issuerURL: - description: IssuerURL is the URL of the OpenID issuer. - Only the HTTPS scheme will be accepted. If set, will - be used to verify the OIDC JSON Web Token (JWT). + description: |- + IssuerURL is the URL of the OpenID issuer. Only the HTTPS scheme will + be accepted. + If set, will be used to verify the OIDC JSON Web Token (JWT). type: string requiredClaims: additionalProperties: type: string - description: RequiredClaims are key/value pairs that describe - required claims in the ID Token. If set, the claims - are verified to be present in the ID Token with corresponding - values. + description: |- + RequiredClaims are key/value pairs that describe required claims in the ID Token. + If set, the claims are verified to be present in the ID Token with corresponding values. type: object usernameClaim: - description: UsernameClaim is the OpenID claim to use - as the username. Note that claims other than the default - ('sub') are not guaranteed to be unique and immutable. + description: |- + UsernameClaim is the OpenID claim to use as the username. + Note that claims other than the default ('sub') are not guaranteed to be + unique and immutable. type: string usernamePrefix: - description: UsernamePrefix is the prefix prepended to - username claims to prevent clashes with existing names - (such as 'system:' users). + description: |- + UsernamePrefix is the prefix prepended to username claims to prevent + clashes with existing names (such as 'system:' users). type: string type: object type: object @@ -349,11 +356,14 @@ spec: description: CertManager determines the metrics server configuration. properties: defaultIssuer: - description: 'defaultIssuer sets a default clusterIssuer Default: - none' + description: |- + defaultIssuer sets a default clusterIssuer + Default: none type: string enabled: - description: 'Enabled enables the cert manager. Default: false' + description: |- + Enabled enables the cert manager. + Default: false type: boolean hostedZoneIDs: description: HostedZoneIDs is a list of route53 hostedzone @@ -363,18 +373,19 @@ spec: type: string type: array image: - description: 'Image is the docker container used. Default: - the latest supported image for the specified kubernetes - version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string managed: - description: Managed controls if cert-manager is manged and - deployed by kOps. The deployment of cert-manager is skipped - if this is set to false. + description: |- + Managed controls if cert-manager is manged and deployed by kOps. + The deployment of cert-manager is skipped if this is set to false. type: boolean nameservers: - description: 'nameservers is a list of nameserver IP addresses - to use instead of the pod defaults. Default: none' + description: |- + nameservers is a list of nameserver IP addresses to use instead of the pod defaults. + Default: none items: type: string type: array @@ -386,9 +397,9 @@ spec: description: CloudConfiguration defines the cloud provider configuration properties: manageStorageClasses: - description: ManageStorageClasses specifies whether kOps should - create and maintain a set of StorageClasses, one of which - it nominates as the default class for the cluster. + description: |- + ManageStorageClasses specifies whether kOps should create and maintain a set of + StorageClasses, one of which it nominates as the default class for the cluster. type: boolean type: object cloudControllerManager: @@ -396,9 +407,9 @@ spec: of the cloud controller properties: allocateNodeCIDRs: - description: AllocateNodeCIDRs enables CIDRs for Pods to be - allocated and, if ConfigureCloudRoutes is true, to be set - on the cloud provider. + description: |- + AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if + ConfigureCloudRoutes is true, to be set on the cloud provider. type: boolean allowUntaggedCloud: description: Allow the cluster to run without the cluster-id @@ -431,8 +442,9 @@ spec: anyOf: - type: integer - type: string - description: 'CPURequest of NodeTerminationHandler container. - Default: 200m' + description: |- + CPURequest of NodeTerminationHandler container. + Default: 200m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enableLeaderMigration: @@ -448,28 +460,27 @@ spec: election client. properties: leaderElect: - description: leaderElect enables a leader election client - to gain leadership before executing the main loop. Enable - this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in - time non-leader candidates will wait after observing - a leadership renewal until attempting to acquire leadership - of a led but unrenewed leader slot. This is effectively - the maximum duration that a leader can be stopped before - it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval - between attempts by the acting master to renew a leadership - slot before it stops leading. This must be less than - or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource - object that is used for locking during leader election. - Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource @@ -481,10 +492,9 @@ spec: election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the - clients should wait between attempting acquisition and - renewal of a leadership. This is only applicable if - leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logLevel: @@ -520,48 +530,48 @@ spec: cloud provider binaries. type: string disableSecurityGroupIngress: - description: DisableSecurityGroupIngress disables the - Cloud Controller Manager's creation of an AWS Security - Group for each load balancer provisioned for a Service. + description: |- + DisableSecurityGroupIngress disables the Cloud Controller Manager's creation + of an AWS Security Group for each load balancer provisioned for a Service. type: boolean ebsCSIDriver: description: EBSCSIDriverSpec is the config for the EBS CSI driver. properties: enabled: - description: 'Enabled enables the AWS EBS CSI driver - Default: false' + description: |- + Enabled enables the AWS EBS CSI driver + Default: false type: boolean managed: - description: Managed controls if aws-ebs-csi-driver - is manged and deployed by kOps. The deployment of - aws-ebs-csi-driver is skipped if this is set to - false. + description: |- + Managed controls if aws-ebs-csi-driver is manged and deployed by kOps. + The deployment of aws-ebs-csi-driver is skipped if this is set to false. type: boolean podAnnotations: additionalProperties: type: string - description: 'PodAnnotations are the annotations added - to AWS EBS CSI node and controller Pods. Default: - none' + description: |- + PodAnnotations are the annotations added to AWS EBS CSI node and controller Pods. + Default: none type: object version: - description: 'Version is the container image tag used. - Default: The latest stable release which is compatible - with your Kubernetes version' + description: |- + Version is the container image tag used. + Default: The latest stable release which is compatible with your Kubernetes version type: string volumeAttachLimit: - description: 'VolumeAttachLimit is the maximum number - of volumes attachable per node. If specified, the - limit applies to all nodes. If not specified, the - value is approximated from the instance type. Default: - -' + description: |- + VolumeAttachLimit is the maximum number of volumes attachable per node. + If specified, the limit applies to all nodes. + If not specified, the value is approximated from the instance type. + Default: - type: integer type: object elbSecurityGroup: - description: ElbSecurityGroup specifies an existing AWS - Security group for the Cloud Controller Manager to assign - to each ELB provisioned for a Service, instead of creating + description: |- + ElbSecurityGroup specifies an existing AWS Security group for the Cloud Controller + Manager to assign to each ELB provisioned for a Service, instead of creating one per ELB. type: string loadBalancerController: @@ -569,20 +579,24 @@ spec: Balancer Controller configuration. properties: enableShield: - description: 'EnableShield specifies whether the controller - can enable Shield Advanced. Default: false' + description: |- + EnableShield specifies whether the controller can enable Shield Advanced. + Default: false type: boolean enableWAF: - description: 'EnableWAF specifies whether the controller - can use WAFs (Classic Regional). Default: false' + description: |- + EnableWAF specifies whether the controller can use WAFs (Classic Regional). + Default: false type: boolean enableWAFv2: - description: 'EnableWAFv2 specifies whether the controller - can use WAFs (V2). Default: false' + description: |- + EnableWAFv2 specifies whether the controller can use WAFs (V2). + Default: false type: boolean enabled: - description: 'Enabled enables the loadbalancer controller. - Default: false' + description: |- + Enabled enables the loadbalancer controller. + Default: false type: boolean version: description: Version is the container image tag used. @@ -602,69 +616,68 @@ spec: anyOf: - type: integer - type: string - description: 'CPURequest of NodeTerminationHandler - container. Default: 50m' + description: |- + CPURequest of NodeTerminationHandler container. + Default: 50m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enableRebalanceDraining: - description: 'EnableRebalanceDraining makes node termination - handler drain nodes when the rebalance recommendation - notice is received. Default: false' + description: |- + EnableRebalanceDraining makes node termination handler drain nodes when the rebalance recommendation notice is received. + Default: false type: boolean enableRebalanceMonitoring: - description: 'EnableRebalanceMonitoring makes node - termination handler cordon nodes when the rebalance - recommendation notice is received. In queue-processor - mode, cannot be enabled without rebalance draining. - Default: false' + description: |- + EnableRebalanceMonitoring makes node termination handler cordon nodes when the rebalance recommendation notice is received. + In queue-processor mode, cannot be enabled without rebalance draining. + Default: false type: boolean enableSQSTerminationDraining: - description: 'EnableSQSTerminationDraining enables - queue-processor mode which drains nodes when an - SQS termination event is received. Default: true' + description: |- + EnableSQSTerminationDraining enables queue-processor mode which drains nodes when an SQS termination event is received. + Default: true type: boolean enableScheduledEventDraining: - description: 'EnableScheduledEventDraining makes node - termination handler drain nodes before the maintenance - window starts for an EC2 instance scheduled event. - Cannot be disabled in queue-processor mode. Default: - true' + description: |- + EnableScheduledEventDraining makes node termination handler drain nodes before the maintenance window starts for an EC2 instance scheduled event. + Cannot be disabled in queue-processor mode. + Default: true type: boolean enableSpotInterruptionDraining: - description: 'EnableSpotInterruptionDraining makes - node termination handler drain nodes when spot interruption - termination notice is received. Cannot be disabled - in queue-processor mode. Default: true' + description: |- + EnableSpotInterruptionDraining makes node termination handler drain nodes when spot interruption termination notice is received. + Cannot be disabled in queue-processor mode. + Default: true type: boolean enabled: - description: 'Enabled enables the node termination - handler. Default: true' + description: |- + Enabled enables the node termination handler. + Default: true type: boolean excludeFromLoadBalancers: - description: 'ExcludeFromLoadBalancers makes node - termination handler will mark for exclusion from - load balancers before node are cordoned. Default: - true' + description: |- + ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned. + Default: true type: boolean managedASGTag: - description: ManagedASGTag is the tag used to determine - which nodes NTH can take action on This field has - kept its name even though it now maps to the --managed-tag - flag due to keeping the API stable. Node termination - handler does no longer check the ASG for this tag, - but the actual EC2 instances. + description: |- + ManagedASGTag is the tag used to determine which nodes NTH can take action on + This field has kept its name even though it now maps to the --managed-tag flag due to keeping the API stable. + Node termination handler does no longer check the ASG for this tag, but the actual EC2 instances. type: string memoryRequest: anyOf: - type: integer - type: string - description: 'MemoryRequest of NodeTerminationHandler - container. Default: 64Mi' + description: |- + MemoryRequest of NodeTerminationHandler container. + Default: 64Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true prometheusEnable: - description: 'EnablePrometheusMetrics enables the - "/metrics" endpoint. Default: false' + description: |- + EnablePrometheusMetrics enables the "/metrics" endpoint. + Default: false type: boolean version: description: Version is the container image tag used. @@ -689,18 +702,16 @@ spec: for instance groups. properties: enableLifecycleHook: - description: EnableLifecyleHook determines if an ASG - lifecycle hook will be added ensuring that nodeup - runs to completion. Note that the metadata API must - be protected from arbitrary Pods when this is enabled. + description: |- + EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. + Note that the metadata API must be protected from arbitrary Pods when this is enabled. type: boolean maxSize: - description: MaxSize is the maximum size of the warm - pool. The desired size of the instance group is - subtracted from this number to determine the desired - size of the warm pool (unless the resulting number - is smaller than MinSize). The default is the instance - group's MaxSize. + description: |- + MaxSize is the maximum size of the warm pool. The desired size of the instance group + is subtracted from this number to determine the desired size of the warm pool + (unless the resulting number is smaller than MinSize). + The default is the instance group's MaxSize. format: int64 type: integer minSize: @@ -717,13 +728,14 @@ spec: description: AdminUser specifies the admin user of VMs. type: string resourceGroupName: - description: ResourceGroupName specifies the name of the - resource group where the cluster is built. If this is - empty, kops will create a new resource group whose name - is same as the cluster name. If this is not empty, kops - will not create a new resource group, and it will just - reuse the existing resource group of the name. This - follows the model that kops takes for AWS VPC. + description: |- + ResourceGroupName specifies the name of the resource group + where the cluster is built. + If this is empty, kops will create a new resource group + whose name is same as the cluster name. If this is not + empty, kops will not create a new resource group, and + it will just reuse the existing resource group of the name. + This follows the model that kops takes for AWS VPC. type: string routeTableName: description: RouteTableName is the name of the route table @@ -898,62 +910,65 @@ spec: configuration. properties: awsUseStaticInstanceList: - description: 'AWSUseStaticInstanceList makes cluster autoscaler - to use statically defined set of AWS EC2 Instance List. - Default: false' + description: |- + AWSUseStaticInstanceList makes cluster autoscaler to use statically defined set of AWS EC2 Instance List. + Default: false type: boolean balanceSimilarNodeGroups: - description: 'BalanceSimilarNodeGroups makes the cluster autoscaler - treat similar node groups as one. Default: false' + description: |- + BalanceSimilarNodeGroups makes the cluster autoscaler treat similar node groups as one. + Default: false type: boolean cordonNodeBeforeTerminating: - description: 'CordonNodeBeforeTerminating should CA cordon - nodes before terminating during downscale process Default: - false' + description: |- + CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process + Default: false type: boolean cpuRequest: anyOf: - type: integer - type: string - description: 'CPURequest of cluster autoscaler container. - Default: 100m' + description: |- + CPURequest of cluster autoscaler container. + Default: 100m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true createPriorityExpanderConfig: - description: 'CreatePriorityExpenderConfig makes kOps create - the priority-expander ConfigMap Default: true' + description: |- + CreatePriorityExpenderConfig makes kOps create the priority-expander ConfigMap + Default: true type: boolean customPriorityExpanderConfig: additionalProperties: items: type: string type: array - description: CustomPriorityExpanderConfig overides the priority-expander - ConfigMap with the provided configuration. Any InstanceGroup - configuration will be ignored if this is set. This could - be useful in order to use regex on priorities configuration + description: |- + CustomPriorityExpanderConfig overides the priority-expander ConfigMap with the provided configuration. Any InstanceGroup configuration will be ignored if this is set. + This could be useful in order to use regex on priorities configuration type: object enabled: - description: 'Enabled enables the cluster autoscaler. Default: - false' + description: |- + Enabled enables the cluster autoscaler. + Default: false type: boolean expander: - description: 'Expander determines the strategy for which instance - group gets expanded. Supported values: least-waste, most-pods, - random, price, priority. The price expander is only supported - on GCE. By default, kOps will generate the priority expander - ConfigMap based on the `autoscale` and `autoscalePriority` - fields in the InstanceGroup specs. Default: least-waste' + description: |- + Expander determines the strategy for which instance group gets expanded. + Supported values: least-waste, most-pods, random, price, priority. + The price expander is only supported on GCE. + By default, kOps will generate the priority expander ConfigMap based on the `autoscale` and `autoscalePriority` fields in the InstanceGroup specs. + Default: least-waste type: string ignoreDaemonSetsUtilization: - description: 'IgnoreDaemonSetsUtilization causes the cluster - autoscaler to ignore DaemonSet-managed pods when calculating - resource utilization for scaling down. Default: false' + description: |- + IgnoreDaemonSetsUtilization causes the cluster autoscaler to ignore DaemonSet-managed pods when calculating resource utilization for scaling down. + Default: false type: boolean image: - description: 'Image is the docker container used. Default: - the latest supported image for the specified kubernetes - version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string maxNodeProvisionTime: description: MaxNodeProvisionTime determines how long CAS @@ -963,49 +978,52 @@ spec: anyOf: - type: integer - type: string - description: 'MemoryRequest of cluster autoscaler container. - Default: 300Mi' + description: |- + MemoryRequest of cluster autoscaler container. + Default: 300Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true newPodScaleUpDelay: - description: 'NewPodScaleUpDelay causes the cluster autoscaler - to ignore unschedulable pods until they are a certain "age", - regardless of the scan-interval Default: 0s' + description: |- + NewPodScaleUpDelay causes the cluster autoscaler to ignore unschedulable pods until they are a certain "age", regardless of the scan-interval + Default: 0s type: string podAnnotations: additionalProperties: type: string - description: 'PodAnnotations are the annotations added to - cluster autoscaler pods when they are created. Default: - none' + description: |- + PodAnnotations are the annotations added to cluster autoscaler pods when they are created. + Default: none type: object scaleDownDelayAfterAdd: - description: 'ScaleDownDelayAfterAdd determines the time after - scale up that scale down evaluation resumes Default: 10m0s' + description: |- + ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes + Default: 10m0s type: string scaleDownUnneededTime: - description: 'scaleDownUnneededTime determines the time a - node should be unneeded before it is eligible for scale - down Default: 10m0s' + description: |- + scaleDownUnneededTime determines the time a node should be unneeded before it is eligible for scale down + Default: 10m0s type: string scaleDownUnreadyTime: - description: 'ScaleDownUnreadyTime determines the time an - unready node should be unneeded before it is eligible for - scale down Default: 20m0s' + description: |- + ScaleDownUnreadyTime determines the time an unready node should be unneeded before it is eligible for scale down + Default: 20m0s type: string scaleDownUtilizationThreshold: - description: 'ScaleDownUtilizationThreshold determines the - utilization threshold for node scale-down. Default: 0.5' + description: |- + ScaleDownUtilizationThreshold determines the utilization threshold for node scale-down. + Default: 0.5 type: string skipNodesWithLocalStorage: - description: 'SkipNodesWithLocalStorage makes the cluster - autoscaler skip scale-down of nodes with local storage. - Default: true' + description: |- + SkipNodesWithLocalStorage makes the cluster autoscaler skip scale-down of nodes with local storage. + Default: true type: boolean skipNodesWithSystemPods: - description: 'SkipNodesWithSystemPods makes the cluster autoscaler - skip scale-down of nodes with non-DaemonSet pods in the - kube-system namespace. Default: true' + description: |- + SkipNodesWithSystemPods makes the cluster autoscaler skip scale-down of nodes with non-DaemonSet pods in the kube-system namespace. + Default: true type: boolean type: object clusterDNSDomain: @@ -1017,11 +1035,11 @@ spec: to get their configuration. properties: base: - description: Base is the VFS path where we store configuration - for the cluster This might be different than the location - where the cluster spec itself is stored, both because this - must be accessible to the cluster, and because it might - be on a different cloud or storage system (etcd vs S3). + description: |- + Base is the VFS path where we store configuration for the cluster + This might be different than the location where the cluster spec itself is stored, + both because this must be accessible to the cluster, + and because it might be on a different cloud or storage system (etcd vs S3). type: string keypairs: description: Keypairs is the VFS path to where certificates @@ -1062,13 +1080,14 @@ spec: type: boolean type: object enabled: - description: Enabled determines if kOps will install the - Nvidia GPU runtime and drivers. They will only be installed - on intances that has an Nvidia GPU. + description: |- + Enabled determines if kOps will install the Nvidia GPU runtime and drivers. + They will only be installed on intances that has an Nvidia GPU. type: boolean package: - description: Package is the name of the nvidia driver - package that will be installed. Default is "nvidia-headless-510-server". + description: |- + Package is the name of the nvidia driver package that will be installed. + Default is "nvidia-headless-510-server". type: string type: object packages: @@ -1145,9 +1164,9 @@ spec: type: string type: object controlPlaneKubelet: - description: ControlPlaneKubelet is the kubelet configuration - for nodes belonging to the control plane It can be overridden - by the kubelet configuration specified in the instance group. + description: |- + ControlPlaneKubelet is the kubelet configuration for nodes belonging to the control plane + It can be overridden by the kubelet configuration specified in the instance group. properties: allowPrivileged: description: AllowPrivileged enables containers to request @@ -1300,9 +1319,9 @@ spec: Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to - the kubelet config to whitelist allowable sysctls Was promoted - to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -1317,16 +1336,16 @@ spec: feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container - bridge for hairpin packets. Setting this flag allows endpoints - in a Service to loadbalance back to themselves if they should - try to access their own Service. Values: "promiscuous-bridge": - make the container bridge promiscuous. "hairpin-veth": set - the hairpin flag on container veth interfaces. "none": do - nothing. Setting --configure-cbr0 to false implies that - to achieve hairpin NAT one must set --hairpin-mode=veth-flag, - because bridge assumes the existence of a container bridge - named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify @@ -1337,21 +1356,22 @@ spec: between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of - disk usage after which image garbage collection is always - run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of - disk usage before which image garbage collection is never - run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for - image pulls If no pulling progress is made before this deadline, - the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification @@ -1377,8 +1397,10 @@ spec: to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. - Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -1390,13 +1412,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used - by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the - network plugin, and overrides the default MTU for cases - where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -1410,9 +1434,9 @@ spec: the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often - kubelet posts node status to master (default 10s) must work - with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic @@ -1424,9 +1448,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, - only used in standalone mode. In cluster mode, this is obtained - from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc @@ -1442,11 +1466,9 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. - If set, kubelet errors if any of kernel tunables is different - than kubelet defaults. (DEPRECATED: This parameter should - be set via the config file specified by the Kubelet''s --config - flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet @@ -1454,9 +1476,9 @@ spec: format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the - CIDR specified by the API server. No-op if register-node - or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with @@ -1511,20 +1533,21 @@ spec: seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the - Kubelet to pull images one // at a time. We recommend *not* - changing the default value on nodes that // run docker daemon - with version < 1.9 or an Aufs storage backend. // Issue - #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration - that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the - duration used to terminate critical pods during a node shutdown. - Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum @@ -1532,10 +1555,10 @@ spec: is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in - which to place all non-kernel processes that are not already - in a container. Empty for no container. Rolling back the - flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -1608,13 +1631,13 @@ spec: type: string type: object dnsZone: - description: DNSZone is the DNS zone we should use when configuring - DNS This is because some clouds let us define a managed zone - foo.bar, and then have kubernetes.dev.foo.bar, without needing - to define dev.foo.bar as a hosted zone. DNSZone will probably - be a suffix of the MasterPublicName. Note that DNSZone can either - by the host name of the zone (containing dots), or can be an - identifier for the zone. + description: |- + DNSZone is the DNS zone we should use when configuring DNS + This is because some clouds let us define a managed zone foo.bar, and then have + kubernetes.dev.foo.bar, without needing to define dev.foo.bar as a hosted zone. + DNSZone will probably be a suffix of the MasterPublicName. + Note that DNSZone can either by the host name of the zone (containing dots), + or can be an identifier for the zone. type: string docker: description: DockerConfig is the configuration for docker @@ -1893,12 +1916,11 @@ spec: 60 seconds. type: string env: - description: Env allows users to pass in env variables - to the etcd-manager container. Variables starting - with ETCD_ will be further passed down to the etcd - process. This allows etcd setting to be overwriten. - No config validation is done. A list of etcd config - ENV vars can be found at https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md + description: |- + Env allows users to pass in env variables to the etcd-manager container. + Variables starting with ETCD_ will be further passed down to the etcd process. + This allows etcd setting to be overwriten. No config validation is done. + A list of etcd config ENV vars can be found at https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md items: description: EnvVar represents an environment variable present in a Container. @@ -1908,15 +1930,15 @@ spec: Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) - are expanded using the previous defined environment - variables in the container and any service environment - variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. - The $(VAR_NAME) syntax can be escaped with a - double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether - the variable exists or not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previous defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -1933,9 +1955,9 @@ spec: type: string type: array logLevel: - description: LogLevel allows the klog library verbose - log level to be set for etcd-manager. The default - is 6. https://github.com/google/glog#verbose-logging + description: |- + LogLevel allows the klog library verbose log level to be set for etcd-manager. The default is 6. + https://github.com/google/glog#verbose-logging format: int32 type: integer type: object @@ -1952,8 +1974,9 @@ spec: events etc) type: string provider: - description: 'Provider is the provider used to run etcd: - Manager, Legacy. Defaults to Manager.' + description: |- + Provider is the provider used to run etcd: Manager, Legacy. + Defaults to Manager. type: string version: description: Version is the version of etcd to run. @@ -1964,14 +1987,15 @@ spec: description: ExternalDNSConfig are options of the dns-controller properties: provider: - description: Provider determines which implementation of ExternalDNS - to use. 'dns-controller' will use kOps DNS Controller. 'external-dns' - will use kubernetes-sigs/external-dns. + description: |- + Provider determines which implementation of ExternalDNS to use. + 'dns-controller' will use kOps DNS Controller. + 'external-dns' will use kubernetes-sigs/external-dns. type: string watchIngress: - description: 'WatchIngress indicates you want the dns-controller - to watch and create dns entries for ingress resources. Default: - true if provider is ''external-dns'', false otherwise.' + description: |- + WatchIngress indicates you want the dns-controller to watch and create dns entries for ingress resources. + Default: true if provider is 'external-dns', false otherwise. type: boolean watchNamespace: description: WatchNamespace is namespace to watch, defaults @@ -2094,11 +2118,10 @@ spec: type: string type: array useRawManifest: - description: UseRawManifest indicates that the contents - of Manifest should be used as the contents of the systemd - unit, unmodified. Before and Requires are ignored when - used together with this value (and validation shouldn't - allow them to be set) + description: |- + UseRawManifest indicates that the contents of Manifest should be used as the contents + of the systemd unit, unmodified. Before and Requires are ignored when used together + with this value (and validation shouldn't allow them to be set) type: boolean type: object type: array @@ -2147,11 +2170,9 @@ spec: type: object type: array useServiceAccountExternalPermissions: - description: UseServiceAccountExternalPermissions determines - if managed ServiceAccounts will use external permissions - directly. If this is set to false, ServiceAccounts will - assume external permissions from the instances they run - on. + description: |- + UseServiceAccountExternalPermissions determines if managed ServiceAccounts will use external permissions directly. + If this is set to false, ServiceAccounts will assume external permissions from the instances they run on. type: boolean required: - legacy @@ -2217,12 +2238,11 @@ spec: is permitted type: boolean apiAudiences: - description: Identifiers of the API. The service account token - authenticator will validate that tokens used against the - API are bound to at least one of these audiences. If the - --service-account-issuer flag is configured and this flag - is not, this field defaults to a single element list containing - the issuer URL. + description: |- + Identifiers of the API. The service account token authenticator will validate that + tokens used against the API are bound to at least one of these audiences. If the + --service-account-issuer flag is configured and this flag is not, this field + defaults to a single element list containing the issuer URL. items: type: string type: array @@ -2366,10 +2386,9 @@ spec: we are using, aws, gce etcd type: string corsAllowedOrigins: - description: CorsAllowedOrigins is a list of origins for CORS. - An allowed origin can be a regular expression to support - subdomain matching. If this list is empty CORS will not - be enabled. + description: |- + CorsAllowedOrigins is a list of origins for CORS. An allowed origin can be a regular + expression to support subdomain matching. If this list is empty CORS will not be enabled. items: type: string type: array @@ -2513,8 +2532,10 @@ spec: type: string type: array logFormat: - description: 'LogFormat is the logging format of the api. - Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the api. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the api @@ -2548,14 +2569,15 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true minRequestTimeout: - description: MinRequestTimeout configures the minimum number - of seconds a handler must keep a request open before timing - it out. Currently only honored by the watch request handler + description: |- + MinRequestTimeout configures the minimum number of seconds a handler must keep a request open before timing it out. + Currently only honored by the watch request handler format: int32 type: integer oidcCAFile: - description: OIDCCAFile if set, the OpenID server's certificate - will be verified by one of the authorities in the oidc-ca-file + description: |- + OIDCCAFile if set, the OpenID server's certificate will be verified by one + of the authorities in the oidc-ca-file type: string proxyClientCertFile: description: The apiserver's client certificate used for outbound @@ -2612,9 +2634,9 @@ spec: format: int32 type: integer serviceAccountIssuer: - description: Identifier of the service account token issuer. - The issuer will assert this identifier in "iss" claim of - issued tokens. This value is a string or URI. + description: |- + Identifier of the service account token issuer. The issuer will assert this identifier + in "iss" claim of issued tokens. This value is a string or URI. type: string serviceAccountJWKSURI: description: ServiceAccountJWKSURI overrides the path for @@ -2622,19 +2644,17 @@ spec: the service account discovery information elsewhere. type: string serviceAccountKeyFile: - description: File containing PEM-encoded x509 RSA or ECDSA - private or public keys, used to verify ServiceAccount tokens. - The specified file can contain multiple keys, and the flag - can be specified multiple times with different files. If - unspecified, --tls-private-key-file is used. + description: |- + File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. + The specified file can contain multiple keys, and the flag can be specified multiple times with different files. + If unspecified, --tls-private-key-file is used. items: type: string type: array serviceAccountSigningKeyFile: - description: Path to the file that contains the current private - key of the service account token issuer. The issuer will - sign issued ID tokens with this private key. (Requires the - 'TokenRequest' feature gate.) + description: |- + Path to the file that contains the current private key of the service account token issuer. + The issuer will sign issued ID tokens with this private key. (Requires the 'TokenRequest' feature gate.) type: string serviceClusterIPRange: description: ServiceClusterIPRange is the service address @@ -2686,9 +2706,9 @@ spec: on the cloud provider. type: boolean attachDetachReconcileSyncPeriod: - description: AttachDetachReconcileSyncPeriod is the amount - of time the reconciler sync states loop wait between successive - executions. Is set to 1 min by kops by default + description: |- + AttachDetachReconcileSyncPeriod is the amount of time the reconciler sync states loop + wait between successive executions. Is set to 1 min by kops by default type: string authenticationKubeconfig: description: AuthenticationKubeconfig is the path to an Authentication @@ -2768,9 +2788,9 @@ spec: type: string type: array disableAttachDetachReconcileSync: - description: DisableAttachDetachReconcileSync disables the - reconcile sync loop in the attach-detach controller. This - can cause volumes to become mismatched with pods + description: |- + DisableAttachDetachReconcileSync disables the reconcile sync loop in the attach-detach controller. + This can cause volumes to become mismatched with pods type: boolean enableLeaderMigration: description: EnableLeaderMigration enables controller leader @@ -2781,34 +2801,27 @@ spec: host:port/debug/pprof/ type: boolean endpointSliceUpdatesBatchPeriod: - description: The length of endpoint slice updates batching - period. Processing of pod changes will be delayed by this - duration to join them with potential upcoming updates and - reduce the overall number of endpoints updates. Larger number - = higher endpoint programming latency, but lower number - of endpoints revision generated. + description: |- + The length of endpoint slice updates batching period. Processing of pod changes will be delayed by this duration + to join them with potential upcoming updates and reduce the overall number of endpoints updates. + Larger number = higher endpoint programming latency, but lower number of endpoints revision generated. type: string endpointUpdatesBatchPeriod: - description: The length of endpoint updates batching period. - Processing of pod changes will be delayed by this duration - to join them with potential upcoming updates and reduce - the overall number of endpoints updates. Larger number = - higher endpoint programming latency, but lower number of - endpoints revision generated + description: |- + The length of endpoint updates batching period. Processing of pod changes will be delayed by this duration + to join them with potential upcoming updates and reduce the overall number of endpoints updates. + Larger number = higher endpoint programming latency, but lower number of endpoints revision generated type: string experimentalClusterSigningDuration: - description: ExperimentalClusterSigningDuration is the max - length of duration that the signed certificates will be - given. (default 365*24h) Deprecated - use cluster-signing-duration - instead + description: |- + ExperimentalClusterSigningDuration is the max length of duration that the signed certificates will be given. (default 365*24h) + Deprecated - use cluster-signing-duration instead type: string externalCloudVolumePlugin: - description: ExternalCloudVolumePlugin is a fallback mechanism - that allows a legacy, in-tree cloudprovider to be used for - volume plugins even when an external cloud controller manager - is being used. This can be used instead of installing CSI. The - value should be the same as is used for the --cloud-provider - flag, i.e. "aws". + description: |- + ExternalCloudVolumePlugin is a fallback mechanism that allows a legacy, in-tree cloudprovider to be used for volume plugins + even when an external cloud controller manager is being used. This can be used instead of installing CSI. The value should + be the same as is used for the --cloud-provider flag, i.e. "aws". type: string featureGates: additionalProperties: @@ -2817,52 +2830,53 @@ spec: feature gates for alpha/experimental features. type: object horizontalPodAutoscalerCpuInitializationPeriod: - description: HorizontalPodAutoscalerCPUInitializationPeriod - is the period after pod start when CPU samples might be - skipped. (default 5m) + description: |- + HorizontalPodAutoscalerCPUInitializationPeriod is the period after pod start + when CPU samples might be skipped. (default 5m) type: string horizontalPodAutoscalerDownscaleDelay: - description: HorizontalPodAutoscalerDownscaleDelay is a duration - that specifies how long the autoscaler has to wait before - another downscale operation can be performed after the current - one has completed. + description: |- + HorizontalPodAutoscalerDownscaleDelay is a duration that specifies + how long the autoscaler has to wait before another downscale + operation can be performed after the current one has completed. type: string horizontalPodAutoscalerDownscaleStabilization: - description: HorizontalPodAutoscalerDownscaleStabilization - is the period for which autoscaler will look backwards and - not scale down below any recommendation it made during that - period. + description: |- + HorizontalPodAutoscalerDownscaleStabilization is the period for which + autoscaler will look backwards and not scale down below any + recommendation it made during that period. type: string horizontalPodAutoscalerInitialReadinessDelay: - description: HorizontalPodAutoscalerInitialReadinessDelay - is the period after pod start during which readiness changes - will be treated as initial readiness. (default 30s) + description: |- + HorizontalPodAutoscalerInitialReadinessDelay is the period after pod start + during which readiness changes will be treated as initial readiness. (default 30s) type: string horizontalPodAutoscalerSyncPeriod: - description: HorizontalPodAutoscalerSyncPeriod is the amount - of time between syncs During each period, the controller - manager queries the resource utilization against the metrics - specified in each HorizontalPodAutoscaler definition. + description: |- + HorizontalPodAutoscalerSyncPeriod is the amount of time between syncs + During each period, the controller manager queries the resource utilization + against the metrics specified in each HorizontalPodAutoscaler definition. type: string horizontalPodAutoscalerTolerance: anyOf: - type: integer - type: string - description: HorizontalPodAutoscalerTolerance is the minimum - change (from 1.0) in the desired-to-actual metrics ratio - for the horizontal pod autoscaler to consider scaling. + description: |- + HorizontalPodAutoscalerTolerance is the minimum change (from 1.0) in the + desired-to-actual metrics ratio for the horizontal pod autoscaler to + consider scaling. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true horizontalPodAutoscalerUpscaleDelay: - description: HorizontalPodAutoscalerUpscaleDelay is a duration - that specifies how long the autoscaler has to wait before - another upscale operation can be performed after the current - one has completed. + description: |- + HorizontalPodAutoscalerUpscaleDelay is a duration that specifies how + long the autoscaler has to wait before another upscale operation can + be performed after the current one has completed. type: string horizontalPodAutoscalerUseRestClients: - description: HorizontalPodAutoscalerUseRestClients determines - if the new-style clients should be used if support for custom - metrics is enabled. + description: |- + HorizontalPodAutoscalerUseRestClients determines if the new-style clients + should be used if support for custom metrics is enabled. type: boolean image: description: Image is the docker image to use @@ -2885,28 +2899,27 @@ spec: election client. properties: leaderElect: - description: leaderElect enables a leader election client - to gain leadership before executing the main loop. Enable - this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in - time non-leader candidates will wait after observing - a leadership renewal until attempting to acquire leadership - of a led but unrenewed leader slot. This is effectively - the maximum duration that a leader can be stopped before - it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval - between attempts by the acting master to renew a leadership - slot before it stops leading. This must be less than - or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource - object that is used for locking during leader election. - Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource @@ -2918,15 +2931,16 @@ spec: election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the - clients should wait between attempting acquisition and - renewal of a leadership. This is only applicable if - leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logFormat: - description: 'LogFormat is the logging format of the controler - manager. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the controler manager. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the defined logLevel @@ -2936,9 +2950,9 @@ spec: description: Master is the url for the kube api master type: string minResyncPeriod: - description: MinResyncPeriod indicates the resync period in - reflectors. The resync period will be random between MinResyncPeriod - and 2*MinResyncPeriod. (default 12h0m0s) + description: |- + MinResyncPeriod indicates the resync period in reflectors. + The resync period will be random between MinResyncPeriod and 2*MinResyncPeriod. (default 12h0m0s) type: string nodeCIDRMaskSize: description: NodeCIDRMaskSize set the size for the mask of @@ -2946,11 +2960,9 @@ spec: format: int32 type: integer nodeMonitorGracePeriod: - description: NodeMonitorGracePeriod is the amount of time - which we allow running Node to be unresponsive before marking - it unhealthy. (default 40s) Must be N-1 times more than - kubelet's nodeStatusUpdateFrequency, where N means number - of retries allowed for kubelet to post node status. + description: |- + NodeMonitorGracePeriod is the amount of time which we allow running Node to be unresponsive before marking it unhealthy. (default 40s) + Must be N-1 times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. type: string nodeMonitorPeriod: description: NodeMonitorPeriod is the period for syncing NodeStatus @@ -2970,10 +2982,10 @@ spec: of the private key for service account token signing. type: string terminatedPodGCThreshold: - description: TerminatedPodGCThreshold is the number of terminated - pods that can exist before the terminated pod garbage collector - starts deleting terminated pods. If <= 0, the terminated - pod garbage collector is disabled. + description: |- + TerminatedPodGCThreshold is the number of terminated pods that can exist + before the terminated pod garbage collector starts deleting terminated pods. + If <= 0, the terminated pod garbage collector is disabled. format: int32 type: integer tlsCertFile: @@ -3011,23 +3023,20 @@ spec: for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements - of this field and adding "weight" to the sum if - the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. items: - description: An empty preferred scheduling term - matches all objects with implicit weight 0 (i.e. - it's a no-op). A null preferred scheduling term - matches no objects (i.e. is also a no-op). + description: |- + An empty preferred scheduling term matches all objects with implicit weight 0 + (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: description: A node selector term, associated @@ -3037,32 +3046,26 @@ spec: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -3075,32 +3078,26 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -3123,53 +3120,46 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - affinity requirements specified by this field cease - to be met at some point during pod execution (e.g. - due to an update), the system may or may not try - to eventually evict the pod from its node. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: - description: A null or empty node selector term - matches no objects. The requirements of them - are ANDed. The TopologySelectorTerm type implements - a subset of the NodeSelectorTerm. + description: |- + A null or empty node selector term matches no objects. The requirements of + them are ANDed. + The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -3182,32 +3172,26 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -3230,19 +3214,16 @@ spec: other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements - of this field and adding "weight" to the sum if - the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest sum - are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred @@ -3261,10 +3242,9 @@ spec: of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -3272,20 +3252,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3297,36 +3273,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set - of namespaces that the term applies to. - The term is applied to the union of the - namespaces selected by this field and - the ones listed in the namespaces field. - null selector and null or empty namespaces - list means "this pod's namespace". An - empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -3334,20 +3303,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3359,46 +3324,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static - list of namespace names that the term - applies to. The term is applied to the - union of the namespaces listed in this - field and the ones selected by namespaceSelector. - null or empty namespaces list and null - namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose - value of the label with key topologyKey - matches that of any node on which any - of the selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching - the corresponding podAffinityTerm, in the - range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -3407,25 +3363,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - affinity requirements specified by this field cease - to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may - not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, - i.e. all terms must be satisfied. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) with, - where co-located is defined as running on a node - whose value of the label with key - matches that of any node on which a pod of the - set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set of resources, @@ -3436,30 +3389,25 @@ spec: of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3471,53 +3419,45 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by - this field and the ones listed in the namespaces - field. null selector and null or empty namespaces - list means "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3529,34 +3469,28 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. - The term is applied to the union of the namespaces - listed in this field and the ones selected - by namespaceSelector. null or empty namespaces - list and null namespaceSelector means "this - pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the - pods matching the labelSelector in the specified - namespaces, where co-located is defined as - running on a node whose value of the label - with key topologyKey matches that of any node - on which any of the selected pods is running. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. Empty topologyKey is not allowed. type: string required: @@ -3570,19 +3504,16 @@ spec: etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the anti-affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling anti-affinity - expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to - the sum if the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest sum - are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred @@ -3601,10 +3532,9 @@ spec: of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -3612,20 +3542,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3637,36 +3563,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set - of namespaces that the term applies to. - The term is applied to the union of the - namespaces selected by this field and - the ones listed in the namespaces field. - null selector and null or empty namespaces - list means "this pod's namespace". An - empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -3674,20 +3593,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3699,46 +3614,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static - list of namespace names that the term - applies to. The term is applied to the - union of the namespaces listed in this - field and the ones selected by namespaceSelector. - null or empty namespaces list and null - namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose - value of the label with key topologyKey - matches that of any node on which any - of the selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching - the corresponding podAffinityTerm, in the - range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -3747,25 +3653,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - anti-affinity requirements specified by this field - cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may - or may not try to eventually evict the pod from - its node. When there are multiple elements, the - lists of nodes corresponding to each podAffinityTerm - are intersected, i.e. all terms must be satisfied. + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) with, - where co-located is defined as running on a node - whose value of the label with key - matches that of any node on which a pod of the - set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set of resources, @@ -3776,30 +3679,25 @@ spec: of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3811,53 +3709,45 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by - this field and the ones listed in the namespaces - field. null selector and null or empty namespaces - list means "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -3869,34 +3759,28 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. - The term is applied to the union of the namespaces - listed in this field and the ones selected - by namespaceSelector. null or empty namespaces - list and null namespaceSelector means "this - pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the - pods matching the labelSelector in the specified - namespaces, where co-located is defined as - running on a node whose value of the label - with key topologyKey matches that of any node - on which any of the selected pods is running. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. Empty topologyKey is not allowed. type: string required: @@ -4005,8 +3889,9 @@ spec: podAnnotations: additionalProperties: type: string - description: 'PodAnnotations makes possible to add additional - annotations to node-local-dns. Default: none' + description: |- + PodAnnotations makes possible to add additional annotations to node-local-dns. + Default: none type: object type: object provider: @@ -4028,42 +3913,39 @@ spec: description: "Tolerations\tare tolerations to apply to the kube-dns deployment" items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, - allowed values are NoSchedule, PreferNoSchedule and - NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration - applies to. Empty means match all taint keys. If the - key is empty, operator must be Exists; this combination - means to match all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship - to the value. Valid operators are Exists and Equal. - Defaults to Equal. Exists is equivalent to wildcard - for value, so that a pod can tolerate all taints of - a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period - of time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the - taint forever (do not evict). Zero and negative values - will be treated as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration - matches to. If the operator is Exists, the value should - be empty, otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array @@ -4220,28 +4102,27 @@ spec: election client. properties: leaderElect: - description: leaderElect enables a leader election client - to gain leadership before executing the main loop. Enable - this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in - time non-leader candidates will wait after observing - a leadership renewal until attempting to acquire leadership - of a led but unrenewed leader slot. This is effectively - the maximum duration that a leader can be stopped before - it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval - between attempts by the acting master to renew a leadership - slot before it stops leading. This must be less than - or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource - object that is used for locking during leader election. - Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource @@ -4253,15 +4134,16 @@ spec: election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the - clients should wait between attempting acquisition and - renewal of a leadership. This is only applicable if - leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logFormat: - description: 'LogFormat is the logging format of the scheduler. - Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the scheduler. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level @@ -4271,12 +4153,11 @@ spec: description: Master is a url to the kube master type: string maxPersistentVolumes: - description: 'MaxPersistentVolumes changes the maximum number - of persistent volumes the scheduler will scheduler onto - the same node. Only takes effect if value is positive. This - corresponds to the KUBE_MAX_PD_VOLS environment variable. + description: |- + MaxPersistentVolumes changes the maximum number of persistent volumes the scheduler will scheduler onto the same + node. Only takes effect if value is positive. This corresponds to the KUBE_MAX_PD_VOLS environment variable. The default depends on the version and the cloud provider - as outlined: https://kubernetes.io/docs/concepts/storage/storage-limits/' + as outlined: https://kubernetes.io/docs/concepts/storage/storage-limits/ format: int32 type: integer qps: @@ -4301,9 +4182,9 @@ spec: type: boolean type: object kubelet: - description: Kubelet is the kubelet configuration for nodes not - belonging to the control plane. It can be overridden by the - kubelet configuration specified in the instance group. + description: |- + Kubelet is the kubelet configuration for nodes not belonging to the control plane. + It can be overridden by the kubelet configuration specified in the instance group. properties: allowPrivileged: description: AllowPrivileged enables containers to request @@ -4456,9 +4337,9 @@ spec: Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to - the kubelet config to whitelist allowable sysctls Was promoted - to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -4473,16 +4354,16 @@ spec: feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container - bridge for hairpin packets. Setting this flag allows endpoints - in a Service to loadbalance back to themselves if they should - try to access their own Service. Values: "promiscuous-bridge": - make the container bridge promiscuous. "hairpin-veth": set - the hairpin flag on container veth interfaces. "none": do - nothing. Setting --configure-cbr0 to false implies that - to achieve hairpin NAT one must set --hairpin-mode=veth-flag, - because bridge assumes the existence of a container bridge - named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify @@ -4493,21 +4374,22 @@ spec: between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of - disk usage after which image garbage collection is always - run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of - disk usage before which image garbage collection is never - run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for - image pulls If no pulling progress is made before this deadline, - the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification @@ -4533,8 +4415,10 @@ spec: to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. - Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -4546,13 +4430,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used - by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the - network plugin, and overrides the default MTU for cases - where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -4566,9 +4452,9 @@ spec: the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often - kubelet posts node status to master (default 10s) must work - with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic @@ -4580,9 +4466,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, - only used in standalone mode. In cluster mode, this is obtained - from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc @@ -4598,11 +4484,9 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. - If set, kubelet errors if any of kernel tunables is different - than kubelet defaults. (DEPRECATED: This parameter should - be set via the config file specified by the Kubelet''s --config - flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet @@ -4610,9 +4494,9 @@ spec: format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the - CIDR specified by the API server. No-op if register-node - or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with @@ -4667,20 +4551,21 @@ spec: seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the - Kubelet to pull images one // at a time. We recommend *not* - changing the default value on nodes that // run docker daemon - with version < 1.9 or an Aufs storage backend. // Issue - #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration - that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the - duration used to terminate critical pods during a node shutdown. - Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum @@ -4688,10 +4573,10 @@ spec: is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in - which to place all non-kernel processes that are not already - in a container. Empty for no container. Rolling back the - flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -4747,27 +4632,29 @@ spec: description: MetricsServer determines the metrics server configuration. properties: enabled: - description: 'Enabled enables the metrics server. Default: - false' + description: |- + Enabled enables the metrics server. + Default: false type: boolean image: - description: 'Image is the docker container used. Default: - the latest supported image for the specified kubernetes - version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string insecure: - description: 'Insecure determines if API server will validate - metrics server TLS cert. Default: true' + description: |- + Insecure determines if API server will validate metrics server TLS cert. + Default: true type: boolean type: object networking: description: Networking configures networking. properties: additionalNetworkCIDRs: - description: AdditionalNetworkCIDRs is a list of additional - CIDR used for the AWS VPC or otherwise allocated to k8s. - This is a real CIDR, not the internal k8s network On AWS, - it maps to any additional CIDRs added to a VPC. + description: |- + AdditionalNetworkCIDRs is a list of additional CIDR used for the AWS VPC + or otherwise allocated to k8s. This is a real CIDR, not the internal k8s network + On AWS, it maps to any additional CIDRs added to a VPC. items: type: string type: array @@ -4787,15 +4674,15 @@ spec: be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are - expanded using the previous defined environment - variables in the container and any service environment - variables. If a variable cannot be resolved, the - reference in the input string will be unchanged. - The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will - never be expanded, regardless of whether the variable - exists or not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previous defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -4814,45 +4701,42 @@ spec: networking properties: allowIPForwarding: - description: 'AllowIPForwarding enable ip_forwarding setting - within the container namespace. (default: false)' + description: |- + AllowIPForwarding enable ip_forwarding setting within the container namespace. + (default: false) type: boolean awsSrcDstCheck: - description: 'AWSSrcDstCheck enables/disables ENI source/destination - checks (AWS IPv4 only) Options: Disable (default for - IPv4), Enable, or DoNothing' + description: |- + AWSSrcDstCheck enables/disables ENI source/destination checks (AWS IPv4 only) + Options: Disable (default for IPv4), Enable, or DoNothing type: string bpfEnabled: description: BPFEnabled enables the eBPF dataplane mode. type: boolean bpfExternalServiceMode: - description: 'BPFExternalServiceMode controls how traffic - from outside the cluster to NodePorts and ClusterIPs - is handled. In Tunnel mode, packet is tunneled from - the ingress host to the host with the backing pod and - back again. In DSR mode, traffic is tunneled to the - host with the backing pod and then returned directly; - this requires a network that allows direct return. Default: - Tunnel (other options: DSR)' + description: |- + BPFExternalServiceMode controls how traffic from outside the cluster to NodePorts and ClusterIPs is handled. + In Tunnel mode, packet is tunneled from the ingress host to the host with the backing pod and back again. + In DSR mode, traffic is tunneled to the host with the backing pod and then returned directly; + this requires a network that allows direct return. + Default: Tunnel (other options: DSR) type: string bpfKubeProxyIptablesCleanupEnabled: - description: BPFKubeProxyIptablesCleanupEnabled controls - whether Felix will clean up the iptables rules created - by the Kubernetes kube-proxy; should only be enabled - if kube-proxy is not running. + description: |- + BPFKubeProxyIptablesCleanupEnabled controls whether Felix will clean up the iptables rules + created by the Kubernetes kube-proxy; should only be enabled if kube-proxy is not running. type: boolean bpfLogLevel: - description: 'BPFLogLevel controls the log level used - by the BPF programs. The logs are emitted to the BPF - trace pipe, accessible with the command tc exec BPF - debug. Default: Off (other options: Info, Debug)' + description: |- + BPFLogLevel controls the log level used by the BPF programs. The logs are emitted + to the BPF trace pipe, accessible with the command tc exec BPF debug. + Default: Off (other options: Info, Debug) type: string chainInsertMode: - description: 'ChainInsertMode controls whether Felix inserts - rules to the top of iptables chains, or appends to the - bottom. Leaving the default option is safest to prevent - accidentally breaking connectivity. Default: ''insert'' - (other options: ''append'')' + description: |- + ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or + appends to the bottom. Leaving the default option is safest to prevent accidentally + breaking connectivity. Default: 'insert' (other options: 'append') type: string cpuRequest: anyOf: @@ -4867,43 +4751,41 @@ spec: and has no effect type: boolean encapsulationMode: - description: 'EncapsulationMode specifies the network - packet encapsulation protocol for Calico to use, employing - such encapsulation at the necessary scope per the related - CrossSubnet field. In "ipip" mode, Calico will use IP-in-IP - encapsulation as needed. In "vxlan" mode, Calico will + description: |- + EncapsulationMode specifies the network packet encapsulation protocol for Calico to use, + employing such encapsulation at the necessary scope per the related CrossSubnet field. In + "ipip" mode, Calico will use IP-in-IP encapsulation as needed. In "vxlan" mode, Calico will encapsulate packets as needed using the VXLAN scheme. - Options: ipip (default) or vxlan' + Options: ipip (default) or vxlan type: string ipipMode: - description: 'IPIPMode determines when to use IP-in-IP - encapsulation for the default Calico IPv4 pool. It is - conveyed to the "calico-node" daemon container via the - CALICO_IPV4POOL_IPIP environment variable. EncapsulationMode - must be set to "ipip". Options: "CrossSubnet", "Always", - or "Never". Default: "CrossSubnet" if EncapsulationMode - is "ipip", "Never" otherwise.' + description: |- + IPIPMode determines when to use IP-in-IP encapsulation for the default Calico IPv4 pool. + It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_IPIP + environment variable. EncapsulationMode must be set to "ipip". + Options: "CrossSubnet", "Always", or "Never". + Default: "CrossSubnet" if EncapsulationMode is "ipip", "Never" otherwise. type: string iptablesBackend: - description: 'IptablesBackend controls which variant of - iptables binary Felix uses Default: Auto (other options: - Legacy, NFT)' + description: |- + IptablesBackend controls which variant of iptables binary Felix uses + Default: Auto (other options: Legacy, NFT) type: string ipv4AutoDetectionMethod: - description: 'IPv4AutoDetectionMethod configures how Calico - chooses the IP address used to route between nodes. This - should be set when the host has multiple interfaces - and it is important to select the interface used. Options: - "first-found" (default), "can-reach=DESTINATION", "interface=INTERFACE-REGEX", - or "skip-interface=INTERFACE-REGEX"' + description: |- + IPv4AutoDetectionMethod configures how Calico chooses the IP address used to route + between nodes. This should be set when the host has multiple interfaces + and it is important to select the interface used. + Options: "first-found" (default), "can-reach=DESTINATION", + "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX" type: string ipv6AutoDetectionMethod: - description: 'IPv6AutoDetectionMethod configures how Calico - chooses the IP address used to route between nodes. This - should be set when the host has multiple interfaces - and it is important to select the interface used. Options: - "first-found" (default), "can-reach=DESTINATION", "interface=INTERFACE-REGEX", - or "skip-interface=INTERFACE-REGEX"' + description: |- + IPv6AutoDetectionMethod configures how Calico chooses the IP address used to route + between nodes. This should be set when the host has multiple interfaces + and it is important to select the interface used. + Options: "first-found" (default), "can-reach=DESTINATION", + "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX" type: string logSeverityScreen: description: 'LogSeverityScreen lets us set the desired @@ -4919,14 +4801,14 @@ spec: Go runtime metrics collection type: boolean prometheusMetricsEnabled: - description: 'PrometheusMetricsEnabled can be set to enable - the experimental Prometheus metrics server (default: - false)' + description: |- + PrometheusMetricsEnabled can be set to enable the experimental Prometheus + metrics server (default: false) type: boolean prometheusMetricsPort: - description: 'PrometheusMetricsPort is the TCP port that - the experimental Prometheus metrics server should bind - to (default: 9091)' + description: |- + PrometheusMetricsPort is the TCP port that the experimental Prometheus + metrics server should bind to (default: 9091) format: int32 type: integer prometheusProcessMetricsEnabled: @@ -4938,13 +4820,14 @@ spec: registry. type: string typhaPrometheusMetricsEnabled: - description: 'TyphaPrometheusMetricsEnabled enables Prometheus - metrics collection from Typha (default: false)' + description: |- + TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha + (default: false) type: boolean typhaPrometheusMetricsPort: - description: 'TyphaPrometheusMetricsPort is the TCP port - the typha Prometheus metrics server should bind to (default: - 9093)' + description: |- + TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server + should bind to (default: 9093) format: int32 type: integer typhaReplicas: @@ -4957,17 +4840,17 @@ spec: tag. type: string vxlanMode: - description: 'VXLANMode determines when to use VXLAN encapsulation - for the default Calico IPv4 pool. It is conveyed to - the "calico-node" daemon container via the CALICO_IPV4POOL_VXLAN - environment variable. EncapsulationMode must be set - to "vxlan". Options: "CrossSubnet", "Always", or "Never". - Default: "CrossSubnet" if EncapsulationMode is "vxlan", - "Never" otherwise.' + description: |- + VXLANMode determines when to use VXLAN encapsulation for the default Calico IPv4 pool. + It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_VXLAN + environment variable. EncapsulationMode must be set to "vxlan". + Options: "CrossSubnet", "Always", or "Never". + Default: "CrossSubnet" if EncapsulationMode is "vxlan", "Never" otherwise. type: string wireguardEnabled: - description: 'WireguardEnabled enables WireGuard encryption - for all on-the-wire pod-to-pod traffic (default: false)' + description: |- + WireguardEnabled enables WireGuard encryption for all on-the-wire pod-to-pod traffic + (default: false) type: boolean type: object canal: @@ -4975,11 +4858,10 @@ spec: networking properties: chainInsertMode: - description: 'ChainInsertMode controls whether Felix inserts - rules to the top of iptables chains, or appends to the - bottom. Leaving the default option is safest to prevent - accidentally breaking connectivity. Default: ''insert'' - (other options: ''append'')' + description: |- + ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or + appends to the bottom. Leaving the default option is safest to prevent accidentally + breaking connectivity. Default: 'insert' (other options: 'append') type: string cpuRequest: anyOf: @@ -4990,25 +4872,25 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true defaultEndpointToHostAction: - description: 'DefaultEndpointToHostAction allows users - to configure the default behaviour for traffic between - pod to host after calico rules have been processed. - Default: ACCEPT (other options: DROP, RETURN)' + description: |- + DefaultEndpointToHostAction allows users to configure the default behaviour + for traffic between pod to host after calico rules have been processed. + Default: ACCEPT (other options: DROP, RETURN) type: string flanneldIptablesForwardRules: - description: 'FlanneldIptablesForwardRules configures - Flannel to add the default ACCEPT traffic rules to the - iptables FORWARD chain. (default: true)' + description: |- + FlanneldIptablesForwardRules configures Flannel to add the + default ACCEPT traffic rules to the iptables FORWARD chain. (default: true) type: boolean iptablesBackend: - description: 'IptablesBackend controls which variant of - iptables binary Felix uses Default: Auto (other options: - Legacy, NFT)' + description: |- + IptablesBackend controls which variant of iptables binary Felix uses + Default: Auto (other options: Legacy, NFT) type: string logSeveritySys: - description: 'LogSeveritySys the severity to set for logs - which are sent to syslog Default: INFO (other options: - DEBUG, WARNING, ERROR, CRITICAL, NONE)' + description: |- + LogSeveritySys the severity to set for logs which are sent to syslog + Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE) type: string mtu: description: 'MTU to be set in the cni-network-config @@ -5020,14 +4902,14 @@ spec: Go runtime metrics collection type: boolean prometheusMetricsEnabled: - description: 'PrometheusMetricsEnabled can be set to enable - the experimental Prometheus metrics server (default: - false)' + description: |- + PrometheusMetricsEnabled can be set to enable the experimental Prometheus + metrics server (default: false) type: boolean prometheusMetricsPort: - description: 'PrometheusMetricsPort is the TCP port that - the experimental Prometheus metrics server should bind - to (default: 9091)' + description: |- + PrometheusMetricsPort is the TCP port that the experimental Prometheus + metrics server should bind to (default: 9091) format: int32 type: integer prometheusProcessMetricsEnabled: @@ -5035,13 +4917,14 @@ spec: process metrics collection type: boolean typhaPrometheusMetricsEnabled: - description: 'TyphaPrometheusMetricsEnabled enables Prometheus - metrics collection from Typha (default: false)' + description: |- + TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha + (default: false) type: boolean typhaPrometheusMetricsPort: - description: 'TyphaPrometheusMetricsPort is the TCP port - the typha Prometheus metrics server should bind to (default: - 9093)' + description: |- + TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server + should bind to (default: 9093) format: int32 type: integer typhaReplicas: @@ -5057,72 +4940,79 @@ spec: agentPodAnnotations: additionalProperties: type: string - description: 'AgentPodAnnotations makes possible to add - additional annotations to cilium agent. Default: none' + description: |- + AgentPodAnnotations makes possible to add additional annotations to cilium agent. + Default: none type: object agentPrometheusPort: - description: AgentPrometheusPort is the port to listen - to for Prometheus metrics. Defaults to 9090. + description: |- + AgentPrometheusPort is the port to listen to for Prometheus metrics. + Defaults to 9090. type: integer autoDirectNodeRoutes: - description: 'AutoDirectNodeRoutes adds automatic L2 routing - between nodes. Default: false' + description: |- + AutoDirectNodeRoutes adds automatic L2 routing between nodes. + Default: false type: boolean bpfCTGlobalAnyMax: - description: 'BPFCTGlobalAnyMax is the maximum number - of entries in the non-TCP CT table. Default: 262144' + description: |- + BPFCTGlobalAnyMax is the maximum number of entries in the non-TCP CT table. + Default: 262144 type: integer bpfCTGlobalTCPMax: - description: 'BPFCTGlobalTCPMax is the maximum number - of entries in the TCP CT table. Default: 524288' + description: |- + BPFCTGlobalTCPMax is the maximum number of entries in the TCP CT table. + Default: 524288 type: integer bpfLBAlgorithm: - description: 'BPFLBAlgorithm is the load balancing algorithm - ("random", "maglev"). Default: random' + description: |- + BPFLBAlgorithm is the load balancing algorithm ("random", "maglev"). + Default: random type: string bpfLBMaglevTableSize: - description: 'BPFLBMaglevTableSize is the per service - backend table size when going with Maglev (parameter - M). Default: 16381' + description: |- + BPFLBMaglevTableSize is the per service backend table size when going with Maglev (parameter M). + Default: 16381 type: string bpfLBMapMax: - description: 'BPFLBMapMax is the maximum number of entries - in bpf lb service, backend and affinity maps. Default: - 65536' + description: |- + BPFLBMapMax is the maximum number of entries in bpf lb service, backend and affinity maps. + Default: 65536 type: integer bpfLBSockHostNSOnly: - description: 'BPFLBSockHostNSOnly enables skipping socket - LB for services when inside a pod namespace, in favor - of service LB at the pod interface. Socket LB is still - used when in the host namespace. Required by service - mesh (e.g., Istio, Linkerd). Default: false' + description: |- + BPFLBSockHostNSOnly enables skipping socket LB for services when inside a pod namespace, + in favor of service LB at the pod interface. Socket LB is still used when in the host namespace. + Required by service mesh (e.g., Istio, Linkerd). + Default: false type: boolean bpfNATGlobalMax: - description: 'BPFNATGlobalMax is the the maximum number - of entries in the BPF NAT table. Default: 524288' + description: |- + BPFNATGlobalMax is the the maximum number of entries in the BPF NAT table. + Default: 524288 type: integer bpfNeighGlobalMax: - description: 'BPFNeighGlobalMax is the the maximum number - of entries in the BPF Neighbor table. Default: 524288' + description: |- + BPFNeighGlobalMax is the the maximum number of entries in the BPF Neighbor table. + Default: 524288 type: integer bpfPolicyMapMax: - description: 'BPFPolicyMapMax is the maximum number of - entries in endpoint policy map. Default: 16384' + description: |- + BPFPolicyMapMax is the maximum number of entries in endpoint policy map. + Default: 16384 type: integer chainingMode: - description: 'ChainingMode allows using Cilium in combination - with other CNI plugins. With Cilium CNI chaining, the - base network connectivity and IP address management - is managed by the non-Cilium CNI plugin, but Cilium - attaches eBPF programs to the network devices created - by the non-Cilium plugin to provide L3/L4 network visibility, - policy enforcement and other advanced features. Default: - none' + description: |- + ChainingMode allows using Cilium in combination with other CNI plugins. + With Cilium CNI chaining, the base network connectivity and IP address management is managed + by the non-Cilium CNI plugin, but Cilium attaches eBPF programs to the network devices created + by the non-Cilium plugin to provide L3/L4 network visibility, policy enforcement and other advanced features. + Default: none type: string clusterID: - description: ClusterID is the ID of the cluster. It is - only relevant when building a mesh of clusters. Must - be a number between 1 and 255. + description: |- + ClusterID is the ID of the cluster. It is only relevant when building a mesh of clusters. + Must be a number between 1 and 255. type: integer clusterName: description: ClusterName is the name of the cluster. It @@ -5144,70 +5034,79 @@ spec: NodeStatus updates will be sent to the Kubernetes api-server. type: boolean disableEndpointCRD: - description: 'DisableEndpointCRD disables usage of CiliumEndpoint - CRD. Default: false' + description: |- + DisableEndpointCRD disables usage of CiliumEndpoint CRD. + Default: false type: boolean enableBPFMasquerade: - description: 'EnableBPFMasquerade enables masquerading - packets from endpoints leaving the host with BPF instead - of iptables. Default: false' + description: |- + EnableBPFMasquerade enables masquerading packets from endpoints leaving the host with BPF instead of iptables. + Default: false type: boolean enableEncryption: - description: 'EnableEncryption enables Cilium Encryption. - Default: false' + description: |- + EnableEncryption enables Cilium Encryption. + Default: false type: boolean enableEndpointHealthChecking: - description: 'EnableEndpointHealthChecking enables connectivity - health checking between virtual endpoints. Default: - true' + description: |- + EnableEndpointHealthChecking enables connectivity health checking between virtual endpoints. + Default: true type: boolean enableHostReachableServices: - description: 'EnableHostReachableServices configures Cilium - to enable services to be reached from the host namespace - in addition to pod namespaces. https://docs.cilium.io/en/v1.9/gettingstarted/host-services/ - Default: false' + description: |- + EnableHostReachableServices configures Cilium to enable services to be + reached from the host namespace in addition to pod namespaces. + https://docs.cilium.io/en/v1.9/gettingstarted/host-services/ + Default: false type: boolean enableL7Proxy: - description: 'EnableL7Proxy enables L7 proxy for L7 policy - enforcement. Default: true' + description: |- + EnableL7Proxy enables L7 proxy for L7 policy enforcement. + Default: true type: boolean enableNodePort: - description: 'EnableNodePort replaces kube-proxy with - Cilium''s BPF implementation. Requires spec.kubeProxy.enabled - be set to false. Default: false' + description: |- + EnableNodePort replaces kube-proxy with Cilium's BPF implementation. + Requires spec.kubeProxy.enabled be set to false. + Default: false type: boolean enablePolicy: - description: 'EnablePolicy specifies the policy enforcement - mode. "default": Follows Kubernetes policy enforcement. - "always": Cilium restricts all traffic if no policy - is in place. "never": Cilium allows all traffic regardless - of policies in place. If unspecified, "default" policy - mode will be used.' + description: |- + EnablePolicy specifies the policy enforcement mode. + "default": Follows Kubernetes policy enforcement. + "always": Cilium restricts all traffic if no policy is in place. + "never": Cilium allows all traffic regardless of policies in place. + If unspecified, "default" policy mode will be used. type: string enablePrometheusMetrics: description: EnablePrometheusMetrics enables the Cilium "/metrics" endpoint for both the agent and the operator. type: boolean enableRemoteNodeIdentity: - description: 'EnableRemoteNodeIdentity enables the remote-node-identity. - Default: true' + description: |- + EnableRemoteNodeIdentity enables the remote-node-identity. + Default: true type: boolean enableServiceTopology: description: EnableServiceTopology determine if cilium should use topology aware hints. type: boolean enableUnreachableRoutes: - description: 'EnableUnreachableRoutes enables unreachable - routes on pod deletion. Default: false' + description: |- + EnableUnreachableRoutes enables unreachable routes on pod deletion. + Default: false type: boolean encryptionType: - description: 'EncryptionType specifies Cilium Encryption - method ("ipsec", "wireguard"). Default: ipsec' + description: |- + EncryptionType specifies Cilium Encryption method ("ipsec", "wireguard"). + Default: ipsec type: string etcdManaged: - description: 'EtcdManagd installs an additional etcd cluster - that is used for Cilium state change. The cluster is - operated by cilium-etcd-operator. Default: false' + description: |- + EtcdManagd installs an additional etcd cluster that is used for Cilium state change. + The cluster is operated by cilium-etcd-operator. + Default: false type: boolean hubble: description: Hubble configures the Hubble service on the @@ -5218,40 +5117,42 @@ spec: on the agent or not type: boolean metrics: - description: Metrics is a list of metrics to collect. - If empty or null, metrics are disabled. See https://docs.cilium.io/en/stable/configuration/metrics/#hubble-exported-metrics + description: |- + Metrics is a list of metrics to collect. If empty or null, metrics are disabled. + See https://docs.cilium.io/en/stable/configuration/metrics/#hubble-exported-metrics items: type: string type: array type: object identityAllocationMode: - description: 'IdentityAllocationMode specifies in which - backend identities are stored ("crd", "kvstore"). Default: - crd' + description: |- + IdentityAllocationMode specifies in which backend identities are stored ("crd", "kvstore"). + Default: crd type: string identityChangeGracePeriod: - description: 'IdentityChangeGracePeriod specifies the - duration to wait before using a changed identity. Default: - 5s' + description: |- + IdentityChangeGracePeriod specifies the duration to wait before using a changed identity. + Default: 5s type: string installIptablesRules: - description: 'InstallIptablesRules enables installing - the base IPTables rules used for masquerading and kube-proxy. - Default: true' + description: |- + InstallIptablesRules enables installing the base IPTables rules used for masquerading and kube-proxy. + Default: true type: boolean ipam: - description: 'IPAM specifies the IP address allocation - mode to use. Possible values are "crd" and "eni". "eni" - will use AWS native networking for pods. Eni requires - masquerade to be set to false. "crd" will use CRDs for - controlling IP address management. "hostscope" will - use hostscope IPAM mode. "kubernetes" will use addersing - based on node pod CIDR. Default: "kubernetes".' + description: |- + IPAM specifies the IP address allocation mode to use. + Possible values are "crd" and "eni". + "eni" will use AWS native networking for pods. Eni requires masquerade to be set to false. + "crd" will use CRDs for controlling IP address management. + "hostscope" will use hostscope IPAM mode. + "kubernetes" will use addersing based on node pod CIDR. + Default: "kubernetes". type: string masquerade: - description: 'Masquerade enables masquerading IPv4 traffic - to external destinations behind the node IP. Default: - false if IPAM is "eni" or in IPv6 mode, otherwise true' + description: |- + Masquerade enables masquerading IPv4 traffic to external destinations behind the node IP. + Default: false if IPAM is "eni" or in IPv6 mode, otherwise true type: boolean memoryRequest: anyOf: @@ -5268,49 +5169,53 @@ spec: type: string type: array monitorAggregation: - description: 'MonitorAggregation sets the level of packet - monitoring. Possible values are "low", "medium", or - "maximum". Default: medium' + description: |- + MonitorAggregation sets the level of packet monitoring. Possible values are "low", "medium", or "maximum". + Default: medium type: string nodeEncryption: - description: 'NodeEncryption enables encryption for pure - node to node traffic. Default: false' + description: |- + NodeEncryption enables encryption for pure node to node traffic. + Default: false type: boolean operatorPodAnnotations: additionalProperties: type: string - description: 'OperatorPodAnnotations makes possible to - add additional annotations to cilium operator. Default: - none' + description: |- + OperatorPodAnnotations makes possible to add additional annotations to cilium operator. + Default: none type: object preallocateBPFMaps: - description: 'PreallocateBPFMaps reduces the per-packet - latency at the expense of up-front memory allocation. - Default: true' + description: |- + PreallocateBPFMaps reduces the per-packet latency at the expense of up-front memory allocation. + Default: true type: boolean registry: description: Registry overrides the default Cilium container registry (quay.io) type: string sidecarIstioProxyImage: - description: 'SidecarIstioProxyImage is the regular expression - matching compatible Istio sidecar istio-proxy container - image names. Default: cilium/istio_proxy' + description: |- + SidecarIstioProxyImage is the regular expression matching compatible Istio sidecar istio-proxy + container image names. + Default: cilium/istio_proxy type: string toFQDNsDNSRejectResponseCode: - description: 'ToFQDNsDNSRejectResponseCode sets the DNS - response code for rejecting DNS requests. Possible values - are "nameError" or "refused". Default: refused' + description: |- + ToFQDNsDNSRejectResponseCode sets the DNS response code for rejecting DNS requests. + Possible values are "nameError" or "refused". + Default: refused type: string toFQDNsEnablePoller: - description: 'ToFQDNsEnablePoller replaces the DNS proxy-based - implementation of FQDN policies with the less powerful - legacy implementation. Default: false' + description: |- + ToFQDNsEnablePoller replaces the DNS proxy-based implementation of FQDN policies + with the less powerful legacy implementation. + Default: false type: boolean tunnel: - description: 'Tunnel specifies the Cilium tunnelling mode. - Possible values are "vxlan", "geneve", or "disabled". - Default: vxlan' + description: |- + Tunnel specifies the Cilium tunnelling mode. Possible values are "vxlan", "geneve", or "disabled". + Default: vxlan type: string version: description: Version is the version of the Cilium agent @@ -5318,9 +5223,9 @@ spec: type: string type: object classic: - description: ClassicNetworkingSpec is the specification of - classic networking mode, integrated into kubernetes. Support - been removed since Kubernetes 1.4. + description: |- + ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes. + Support been removed since Kubernetes 1.4. type: object cni: description: CNINetworkingSpec is the specification for networking @@ -5368,14 +5273,14 @@ spec: native networking mode, using IP aliases. type: object isolateControlPlane: - description: 'IsolateControlPlane determines whether we should - lock down masters so that they are not on the pod network. - true is the kube-up behaviour, but it is very surprising: - it means that daemonsets only work on the master if they - have hostNetwork=true. false is now the default, and it - will: * give the master a normal PodCIDR * run kube-proxy - on the master * enable debugging handlers on the master, - so kubectl logs works' + description: |- + IsolateControlPlane determines whether we should lock down masters so that they are not on the pod network. + true is the kube-up behaviour, but it is very surprising: it means that daemonsets only work on the master + if they have hostNetwork=true. + false is now the default, and it will: + * give the master a normal PodCIDR + * run kube-proxy on the master + * enable debugging handlers on the master, so kubectl logs works type: boolean kopeio: description: KopeioNetworkingSpec declares that we want Kopeio @@ -5391,9 +5296,9 @@ spec: classic type: object lyftvpc: - description: LyftVPCNetworkingSpec declares that we want to - use the cni-ipvlan-vpc-k8s CNI networking. Lyft VPC is deprecated - as of kOps 1.22 and removed as of kOps 1.23. + description: |- + LyftVPCNetworkingSpec declares that we want to use the cni-ipvlan-vpc-k8s CNI networking. + Lyft VPC is deprecated as of kOps 1.22 and removed as of kOps 1.23. properties: subnetTags: additionalProperties: @@ -5401,28 +5306,29 @@ spec: type: object type: object networkCIDR: - description: NetworkCIDR is the primary IPv4 CIDR used for - the cloud provider's network. It is not required on GCE. + description: |- + NetworkCIDR is the primary IPv4 CIDR used for the cloud provider's network. + It is not required on GCE. On DO, it maps to the VPC CIDR. type: string networkID: - description: NetworkID is the cloud provider's identifier - of the existing network (for example, AWS VPC) the cluster - should use. If not specified, kOps will create a new network. + description: |- + NetworkID is the cloud provider's identifier of the existing network (for example, AWS VPC) the cluster should use. + If not specified, kOps will create a new network. type: string nonMasqueradeCIDR: - description: NonMasqueradeCIDR is the CIDR for the internal - k8s network (on which pods & services live) It cannot overlap - ServiceClusterIPRange + description: |- + NonMasqueradeCIDR is the CIDR for the internal k8s network (on which pods & services live) + It cannot overlap ServiceClusterIPRange type: string podCIDR: description: PodCIDR is the CIDR from which we allocate IPs for pods type: string romana: - description: RomanaNetworkingSpec declares that we want Romana - networking Romana is deprecated as of kOps 1.18 and removed - as of kOps 1.19. + description: |- + RomanaNetworkingSpec declares that we want Romana networking + Romana is deprecated as of kOps 1.18 and removed as of kOps 1.19. properties: daemonServiceIP: description: DaemonServiceIP is the Kubernetes Service @@ -5441,8 +5347,9 @@ spec: description: Subnets are the subnets that the cluster can use. items: - description: 'ClusterSubnetSpec defines a subnet TODO: move - to networking.go' + description: |- + ClusterSubnetSpec defines a subnet + TODO: move to networking.go properties: additionalRoutes: description: AdditionalRoutes to attach to the subnet's @@ -5498,18 +5405,18 @@ spec: to enable use by load balancers (AWS only). Default: true.' type: boolean topology: - description: Topology defines the type of network topology - to use on the cluster - default public This is heavily weighted - towards AWS for the time being, but should also be agnostic - enough to port out to GCE later if needed + description: |- + Topology defines the type of network topology to use on the cluster - default public + This is heavily weighted towards AWS for the time being, but should also be agnostic enough + to port out to GCE later if needed properties: bastion: - description: Bastion provide an external facing point - of entry into a network containing private network instances. - This host can provide a single point of fortification - or audit and can be started and stopped to enable or - disable inbound SSH communication from the Internet. - Some call the bastion the "jump server". + description: |- + Bastion provide an external facing point of entry into a network + containing private network instances. This host can provide a single + point of fortification or audit and can be started and stopped to enable + or disable inbound SSH communication from the Internet. Some call the bastion + the "jump server". properties: loadBalancer: description: LoadBalancer contains settings for the @@ -5673,21 +5580,24 @@ spec: anyOf: - type: integer - type: string - description: 'CPULimit of NodeProblemDetector container. Default: - 10m' + description: |- + CPULimit of NodeProblemDetector container. + Default: 10m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true cpuRequest: anyOf: - type: integer - type: string - description: 'CPURequest of NodeProblemDetector container. - Default: 10m' + description: |- + CPURequest of NodeProblemDetector container. + Default: 10m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enabled: - description: 'Enabled enables the NodeProblemDetector. Default: - false' + description: |- + Enabled enables the NodeProblemDetector. + Default: false type: boolean image: description: Image is the NodeProblemDetector docker container @@ -5697,16 +5607,18 @@ spec: anyOf: - type: integer - type: string - description: 'MemoryLimit of NodeProblemDetector container. - Default: 80Mi' + description: |- + MemoryLimit of NodeProblemDetector container. + Default: 80Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true memoryRequest: anyOf: - type: integer - type: string - description: 'MemoryRequest of NodeProblemDetector container. - Default: 80Mi' + description: |- + MemoryRequest of NodeProblemDetector container. + Default: 80Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -5714,9 +5626,9 @@ spec: description: NTPConfig is the configuration for NTP. properties: managed: - description: Managed controls if the NTP configuration is - managed by kOps. The NTP configuration task is skipped if - this is set to false. + description: |- + Managed controls if the NTP configuration is managed by kOps. + The NTP configuration task is skipped if this is set to false. type: boolean type: object rollingUpdate: @@ -5724,40 +5636,42 @@ spec: settings for instance groups. properties: drainAndTerminate: - description: DrainAndTerminate enables draining and terminating - nodes during rolling updates. Defaults to true. + description: |- + DrainAndTerminate enables draining and terminating nodes during rolling updates. + Defaults to true. type: boolean maxSurge: anyOf: - type: integer - type: string - description: 'MaxSurge is the maximum number of extra nodes - that can be created during the update. The value can be - an absolute number (for example 5) or a percentage of desired - machines (for example 10%). The absolute number is calculated - from a percentage by rounding up. Has no effect on instance - groups with role "Master". Defaults to 1 on AWS, 0 otherwise. - Example: when this is set to 30%, the InstanceGroup can - be scaled up immediately when the rolling update starts, - such that the total number of old and new nodes do not exceed - 130% of desired nodes.' + description: |- + MaxSurge is the maximum number of extra nodes that can be created + during the update. + The value can be an absolute number (for example 5) or a percentage of + desired machines (for example 10%). + The absolute number is calculated from a percentage by rounding up. + Has no effect on instance groups with role "Master". + Defaults to 1 on AWS, 0 otherwise. + Example: when this is set to 30%, the InstanceGroup can be scaled + up immediately when the rolling update starts, such that the total + number of old and new nodes do not exceed 130% of desired + nodes. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'MaxUnavailable is the maximum number of nodes - that can be unavailable during the update. The value can - be an absolute number (for example 5) or a percentage of - desired nodes (for example 10%). The absolute number is - calculated from a percentage by rounding down. Defaults - to 1 if MaxSurge is 0, otherwise defaults to 0. Example: - when this is set to 30%, the InstanceGroup can be scaled - down to 70% of desired nodes immediately when the rolling - update starts. Once new nodes are ready, more old nodes - can be drained, ensuring that the total number of nodes - available at all times during the update is at least 70% - of desired nodes.' + description: |- + MaxUnavailable is the maximum number of nodes that can be unavailable during the update. + The value can be an absolute number (for example 5) or a percentage of desired + nodes (for example 10%). + The absolute number is calculated from a percentage by rounding down. + Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. + Example: when this is set to 30%, the InstanceGroup can be scaled + down to 70% of desired nodes immediately when the rolling update + starts. Once new nodes are ready, more old nodes can be drained, + ensuring that the total number of nodes available at all times + during the update is at least 70% of desired nodes. x-kubernetes-int-or-string: true type: object serviceAccountIssuerDiscovery: @@ -5801,9 +5715,10 @@ spec: description: SSHKeyName specifies a preexisting SSH key to use type: string sysctlParameters: - description: SysctlParameters will configure kernel parameters - using sysctl(8). When specified, each parameter must follow - the form variable=value, the way it would appear in sysctl.conf. + description: |- + SysctlParameters will configure kernel parameters using sysctl(8). When + specified, each parameter must follow the form variable=value, the way + it would appear in sysctl.conf. items: type: string type: array @@ -5831,16 +5746,16 @@ spec: type: object type: object updatePolicy: - description: 'UpdatePolicy determines the policy for applying - upgrades automatically. Valid values: ''automatic'' (default): - apply updates automatically (apply OS security upgrades, avoiding - rebooting when possible) ''external'': do not apply updates - automatically; they are applied manually or by an external system' + description: |- + UpdatePolicy determines the policy for applying upgrades automatically. + Valid values: + 'automatic' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) + 'external': do not apply updates automatically; they are applied manually or by an external system type: string useHostCertificates: - description: UseHostCertificates will mount /etc/ssl/certs to - inside needed containers. This is needed if some APIs do have - self-signed certs + description: |- + UseHostCertificates will mount /etc/ssl/certs to inside needed containers. + This is needed if some APIs do have self-signed certs type: boolean required: - configStore @@ -5853,33 +5768,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -5911,37 +5833,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5950,8 +5872,9 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: |- + ErrorMessage indicates that there is a terminal problem reconciling the + state, and will be set to a descriptive error message. type: string paused: default: false @@ -5960,8 +5883,9 @@ spec: type: boolean ready: default: false - description: Ready denotes that the API Server is ready to receive - requests. + description: |- + Ready denotes that the API Server is ready to + receive requests. type: boolean secrets: description: Secrets are the list of custom secrets created with the diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_kopsmachinepools.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_kopsmachinepools.yaml index 893a8d6..61d6da0 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_kopsmachinepools.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_kopsmachinepools.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: kopsmachinepools.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -27,14 +26,19 @@ spec: description: KopsMachinePool is the Schema for the kopsmachinepools API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -53,16 +57,19 @@ spec: description: Provisioner is the Schema for the Provisioners API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: properties: @@ -84,11 +91,11 @@ spec: type: string type: object spec: - description: ProvisionerSpec is the top level provisioner specification. - Provisioners launch nodes in response to pods that are unschedulable. - A single provisioner is capable of managing a diverse set - of nodes. Node properties are determined from a combination - of provisioner and pod scheduling constraints. + description: |- + ProvisionerSpec is the top level provisioner specification. Provisioners + launch nodes in response to pods that are unschedulable. A single provisioner + is capable of managing a diverse set of nodes. Node properties are determined + from a combination of provisioner and pod scheduling constraints. properties: annotations: additionalProperties: @@ -108,9 +115,9 @@ spec: the kubelet when provisioning nodes properties: clusterDNS: - description: clusterDNS is a list of IP addresses for - the cluster DNS server. Note that not all providers - may use all addresses. + description: |- + clusterDNS is a list of IP addresses for the cluster DNS server. + Note that not all providers may use all addresses. items: type: string type: array @@ -129,10 +136,9 @@ spec: to quantities that define hard eviction thresholds type: object evictionMaxPodGracePeriod: - description: EvictionMaxPodGracePeriod is the maximum - allowed grace period (in seconds) to use when terminating - pods in response to soft eviction thresholds being - met. + description: |- + EvictionMaxPodGracePeriod is the maximum allowed grace period (in seconds) to use when terminating pods in + response to soft eviction thresholds being met. format: int32 type: integer evictionSoft: @@ -149,24 +155,22 @@ spec: each eviction signal type: object imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent - of disk usage after which image garbage collection - is always run. The percent is calculated by dividing - this field value by 100, so this field must be between - 0 and 100, inclusive. When specified, the value must - be greater than ImageGCLowThresholdPercent. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which image + garbage collection is always run. The percent is calculated by dividing this + field value by 100, so this field must be between 0 and 100, inclusive. + When specified, the value must be greater than ImageGCLowThresholdPercent. format: int32 maximum: 100 minimum: 0 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent - of disk usage before which image garbage collection - is never run. Lowest disk usage to garbage collect - to. The percent is calculated by dividing this field - value by 100, so the field value must be between 0 - and 100, inclusive. When specified, the value must - be less than imageGCHighThresholdPercent + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which image + garbage collection is never run. Lowest disk usage to garbage collect to. + The percent is calculated by dividing this field value by 100, + so the field value must be between 0 and 100, inclusive. + When specified, the value must be less than imageGCHighThresholdPercent format: int32 maximum: 100 minimum: 0 @@ -182,17 +186,17 @@ spec: for Kubernetes system components. type: object maxPods: - description: MaxPods is an override for the maximum - number of pods that can run on a worker node instance. + description: |- + MaxPods is an override for the maximum number of pods that can run on + a worker node instance. format: int32 minimum: 0 type: integer podsPerCore: - description: PodsPerCore is an override for the number - of pods that can run on a worker node instance based - on the number of cpu cores. This value cannot exceed - MaxPods, so, if MaxPods is a lower value, that value - will be used. + description: |- + PodsPerCore is an override for the number of pods that can run on a worker node + instance based on the number of cpu cores. This value cannot exceed MaxPods, so, if + MaxPods is a lower value, that value will be used. format: int32 minimum: 0 type: integer @@ -233,9 +237,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true providerRef: - description: ProviderRef is a reference to a dedicated CRD - for the chosen provider, that holds additional configuration - options + description: |- + ProviderRef is a reference to a dedicated CRD for the chosen provider, that holds + additional configuration options properties: apiVersion: description: API version of the referent @@ -253,27 +257,26 @@ spec: description: Requirements are layered with Labels and applied to every node. items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists, - DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator - is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. If the operator is Gt or Lt, - the values array must have a single element, which - will be interpreted as an integer. This array is - replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -283,31 +286,30 @@ spec: type: object type: array startupTaints: - description: StartupTaints are taints that are applied to - nodes upon startup which are expected to be removed automatically - within a short period of time, typically by a DaemonSet - that tolerates the taint. These are commonly used by daemonsets - to allow initialization and enforce startup ordering. StartupTaints - are ignored for provisioning purposes in that pods are - not required to tolerate a StartupTaint in order to have - nodes provisioned for them. + description: |- + StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically + within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by + daemonsets to allow initialization and enforce startup ordering. StartupTaints are ignored for provisioning + purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them. items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -320,28 +322,30 @@ spec: type: object type: array taints: - description: Taints will be applied to every node launched - by the Provisioner. If specified, the provisioner will - not provision nodes for pods that do not have matching - tolerations. Additional taints will be created that match + description: |- + Taints will be applied to every node launched by the Provisioner. If + specified, the provisioner will not provision nodes for pods that do not + have matching tolerations. Additional taints will be created that match pod tolerations on a per-node basis. items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -354,31 +358,33 @@ spec: type: object type: array ttlSecondsAfterEmpty: - description: "TTLSecondsAfterEmpty is the number of seconds - the controller will wait before attempting to delete a - node, measured from when the node is detected to be empty. - A Node is considered to be empty when it does not have - pods scheduled to it, excluding daemonsets. \n Termination - due to no utilization is disabled if this field is not - set." + description: |- + TTLSecondsAfterEmpty is the number of seconds the controller will wait + before attempting to delete a node, measured from when the node is + detected to be empty. A Node is considered to be empty when it does not + have pods scheduled to it, excluding daemonsets. + + + Termination due to no utilization is disabled if this field is not set. format: int64 type: integer ttlSecondsUntilExpired: - description: "TTLSecondsUntilExpired is the number of seconds - the controller will wait before terminating a node, measured - from when the node is created. This is useful to implement - features like eventually consistent node upgrade, memory - leak protection, and disruption testing. \n Termination - due to expiration is disabled if this field is not set." + description: |- + TTLSecondsUntilExpired is the number of seconds the controller will wait + before terminating a node, measured from when the node is created. This + is useful to implement features like eventually consistent node upgrade, + memory leak protection, and disruption testing. + + + Termination due to expiration is disabled if this field is not set. format: int64 type: integer weight: - description: Weight is the priority given to the provisioner - during scheduling. A higher numerical weight indicates - that this provisioner will be ordered ahead of other provisioners - with lower weights. A provisioner with no weight will - be treated as if it is a provisioner with a weight of - 0. + description: |- + Weight is the priority given to the provisioner during scheduling. A higher + numerical weight indicates that this provisioner will be ordered + ahead of other provisioners with lower weights. A provisioner with no weight + will be treated as if it is a provisioner with a weight of 0. format: int32 maximum: 100 minimum: 1 @@ -389,19 +395,19 @@ spec: Provisioner properties: conditions: - description: Conditions is the set of conditions required - for this provisioner to scale its target, and indicates - whether or not those conditions are met. + description: |- + Conditions is the set of conditions required for this provisioner to scale + its target, and indicates whether or not those conditions are met. items: - description: 'Condition defines a readiness condition - for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties' + description: |- + Condition defines a readiness condition for a Knative resource. + See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties properties: lastTransitionTime: - description: LastTransitionTime is the last time the - condition transitioned from one status to another. - We use VolatileTime in place of metav1.Time to exclude - this from creating equality.Semantic differences - (all other things held constant). + description: |- + LastTransitionTime is the last time the condition transitioned from one status to another. + We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic + differences (all other things held constant). type: string message: description: A human readable message indicating details @@ -411,9 +417,9 @@ spec: description: The reason for the condition's last transition. type: string severity: - description: Severity with which to treat failures - of this type of condition. When this is not specified, - it defaults to Error. + description: |- + Severity with which to treat failures of this type of condition. + When this is not specified, it defaults to Error. type: string status: description: Status of the condition, one of True, @@ -428,8 +434,9 @@ spec: type: object type: array lastScaleTime: - description: LastScaleTime is the last time the Provisioner - scaled the number of nodes + description: |- + LastScaleTime is the last time the Provisioner scaled the number + of nodes format: date-time type: string resources: @@ -527,13 +534,14 @@ spec: type: boolean type: object enabled: - description: Enabled determines if kOps will install the - Nvidia GPU runtime and drivers. They will only be installed - on intances that has an Nvidia GPU. + description: |- + Enabled determines if kOps will install the Nvidia GPU runtime and drivers. + They will only be installed on intances that has an Nvidia GPU. type: boolean package: - description: Package is the name of the nvidia driver - package that will be installed. Default is "nvidia-headless-510-server". + description: |- + Package is the name of the nvidia driver package that will be installed. + Default is "nvidia-headless-510-server". type: string type: object packages: @@ -666,10 +674,11 @@ spec: type: object type: array gcpProvisioningModel: - description: 'GCPProvisioningModel: Specifies the provisioning - model of the GCP instance. Valid values: ''STANDARD'': (default) - standard provisioning with user controlled run time, no discounts - ''SPOT'': heavily discounted, no guaranteed run time.' + description: |- + GCPProvisioningModel: Specifies the provisioning model of the GCP instance. + Valid values: + 'STANDARD': (default) standard provisioning with user controlled run time, no discounts + 'SPOT': heavily discounted, no guaranteed run time. type: string guestAccelerators: description: GuestAccelerators configures additional accelerators @@ -740,11 +749,10 @@ spec: type: string type: array useRawManifest: - description: UseRawManifest indicates that the contents - of Manifest should be used as the contents of the systemd - unit, unmodified. Before and Requires are ignored when - used together with this value (and validation shouldn't - allow them to be set) + description: |- + UseRawManifest indicates that the contents of Manifest should be used as the contents + of the systemd unit, unmodified. Before and Requires are ignored when used together + with this value (and validation shouldn't allow them to be set) type: boolean type: object type: array @@ -753,33 +761,33 @@ spec: group IAM profile (AWS only). properties: profile: - description: Profile is the AWS IAM Profile to attach to instances - in this instance group. Specify the ARN for the IAM instance - profile. (AWS only) + description: |- + Profile is the AWS IAM Profile to attach to instances in this instance group. + Specify the ARN for the IAM instance profile. (AWS only) type: string type: object image: description: Image is the instance (ami etc) we should use type: string instanceInterruptionBehavior: - description: InstanceInterruptionBehavior defines if a spot instance - should be terminated, hibernated, or stopped after interruption + description: |- + InstanceInterruptionBehavior defines if a spot instance should be terminated, hibernated, + or stopped after interruption type: string instanceMetadata: description: InstanceMetadata defines the EC2 instance metadata service options (AWS Only) properties: httpPutResponseHopLimit: - description: HTTPPutResponseHopLimit is the desired HTTP PUT - response hop limit for instance metadata requests. The larger - the number, the further instance metadata requests can travel. - The default value is 1. + description: |- + HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests. + The larger the number, the further instance metadata requests can travel. The default value is 1. format: int64 type: integer httpTokens: - description: HTTPTokens is the state of token usage for the - instance metadata requests. If the parameter is not specified - in the request, the default state is "required". + description: |- + HTTPTokens is the state of token usage for the instance metadata requests. + If the parameter is not specified in the request, the default state is "required". type: string type: object instanceProtection: @@ -940,9 +948,9 @@ spec: Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to - the kubelet config to whitelist allowable sysctls Was promoted - to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -957,16 +965,16 @@ spec: feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container - bridge for hairpin packets. Setting this flag allows endpoints - in a Service to loadbalance back to themselves if they should - try to access their own Service. Values: "promiscuous-bridge": - make the container bridge promiscuous. "hairpin-veth": set - the hairpin flag on container veth interfaces. "none": do - nothing. Setting --configure-cbr0 to false implies that - to achieve hairpin NAT one must set --hairpin-mode=veth-flag, - because bridge assumes the existence of a container bridge - named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify @@ -977,21 +985,22 @@ spec: between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of - disk usage after which image garbage collection is always - run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of - disk usage before which image garbage collection is never - run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for - image pulls If no pulling progress is made before this deadline, - the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification @@ -1017,8 +1026,10 @@ spec: to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. - Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -1030,13 +1041,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used - by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the - network plugin, and overrides the default MTU for cases - where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -1050,9 +1063,9 @@ spec: the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often - kubelet posts node status to master (default 10s) must work - with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic @@ -1064,9 +1077,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, - only used in standalone mode. In cluster mode, this is obtained - from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc @@ -1082,11 +1095,9 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. - If set, kubelet errors if any of kernel tunables is different - than kubelet defaults. (DEPRECATED: This parameter should - be set via the config file specified by the Kubelet''s --config - flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet @@ -1094,9 +1105,9 @@ spec: format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the - CIDR specified by the API server. No-op if register-node - or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with @@ -1151,20 +1162,21 @@ spec: seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the - Kubelet to pull images one // at a time. We recommend *not* - changing the default value on nodes that // run docker daemon - with version < 1.9 or an Aufs storage backend. // Issue - #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration - that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the - duration used to terminate critical pods during a node shutdown. - Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum @@ -1172,10 +1184,10 @@ spec: is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in - which to place all non-kernel processes that are not already - in a container. Empty for no container. Rolling back the - flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -1230,9 +1242,9 @@ spec: description: Manager determines what is managing the node lifecycle type: string maxInstanceLifetime: - description: MaxInstanceLifetime to the maximum amount of time, - in seconds, that an instance can be in service. Value expected - must be in form of duration ("ms", "s", "m", "h") + description: |- + MaxInstanceLifetime to the maximum amount of time, in seconds, that an instance can be in service. + Value expected must be in form of duration ("ms", "s", "m", "h") type: string maxPrice: description: MaxPrice indicates this is a spot-pricing group, @@ -1292,11 +1304,10 @@ spec: type: string type: array onDemandAboveBase: - description: OnDemandAboveBase controls the percentages of - On-Demand Instances and Spot Instances for your additional - capacity beyond OnDemandBase. The range is 0–100. The default - value is 100. If you leave this parameter set to 100, the - percentages are 100% for On-Demand Instances and 0% for + description: |- + OnDemandAboveBase controls the percentages of On-Demand Instances and Spot Instances for your + additional capacity beyond OnDemandBase. The range is 0–100. The default value is 100. If you + leave this parameter set to 100, the percentages are 100% for On-Demand Instances and 0% for Spot Instances. format: int64 type: integer @@ -1305,23 +1316,21 @@ spec: instance types to fulfill On-Demand capacity type: string onDemandBase: - description: OnDemandBase is the minimum amount of the Auto - Scaling group's capacity that must be fulfilled by On-Demand - Instances. This base portion is provisioned first as your - group scales. + description: |- + OnDemandBase is the minimum amount of the Auto Scaling group's capacity that must be + fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales. format: int64 type: integer spotAllocationStrategy: - description: SpotAllocationStrategy diversifies your Spot - capacity across multiple instance types to find the best - pricing. Higher Spot availability may result from a larger - number of instance types to choose from. + description: |- + SpotAllocationStrategy diversifies your Spot capacity across multiple instance types to + find the best pricing. Higher Spot availability may result from a larger number of + instance types to choose from. type: string spotInstancePools: - description: SpotInstancePools is the number of Spot pools - to use to allocate your Spot capacity (defaults to 2) pools - are determined from the different instance types in the - Overrides array of LaunchTemplate + description: |- + SpotInstancePools is the number of Spot pools to use to allocate your Spot capacity (defaults to 2) + pools are determined from the different instance types in the Overrides array of LaunchTemplate format: int64 type: integer type: object @@ -1344,40 +1353,42 @@ spec: description: RollingUpdate defines the rolling-update behavior properties: drainAndTerminate: - description: DrainAndTerminate enables draining and terminating - nodes during rolling updates. Defaults to true. + description: |- + DrainAndTerminate enables draining and terminating nodes during rolling updates. + Defaults to true. type: boolean maxSurge: anyOf: - type: integer - type: string - description: 'MaxSurge is the maximum number of extra nodes - that can be created during the update. The value can be - an absolute number (for example 5) or a percentage of desired - machines (for example 10%). The absolute number is calculated - from a percentage by rounding up. Has no effect on instance - groups with role "Master". Defaults to 1 on AWS, 0 otherwise. - Example: when this is set to 30%, the InstanceGroup can - be scaled up immediately when the rolling update starts, - such that the total number of old and new nodes do not exceed - 130% of desired nodes.' + description: |- + MaxSurge is the maximum number of extra nodes that can be created + during the update. + The value can be an absolute number (for example 5) or a percentage of + desired machines (for example 10%). + The absolute number is calculated from a percentage by rounding up. + Has no effect on instance groups with role "Master". + Defaults to 1 on AWS, 0 otherwise. + Example: when this is set to 30%, the InstanceGroup can be scaled + up immediately when the rolling update starts, such that the total + number of old and new nodes do not exceed 130% of desired + nodes. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'MaxUnavailable is the maximum number of nodes - that can be unavailable during the update. The value can - be an absolute number (for example 5) or a percentage of - desired nodes (for example 10%). The absolute number is - calculated from a percentage by rounding down. Defaults - to 1 if MaxSurge is 0, otherwise defaults to 0. Example: - when this is set to 30%, the InstanceGroup can be scaled - down to 70% of desired nodes immediately when the rolling - update starts. Once new nodes are ready, more old nodes - can be drained, ensuring that the total number of nodes - available at all times during the update is at least 70% - of desired nodes.' + description: |- + MaxUnavailable is the maximum number of nodes that can be unavailable during the update. + The value can be an absolute number (for example 5) or a percentage of desired + nodes (for example 10%). + The absolute number is calculated from a percentage by rounding down. + Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. + Example: when this is set to 30%, the InstanceGroup can be scaled + down to 70% of desired nodes immediately when the rolling update + starts. Once new nodes are ready, more old nodes can be drained, + ensuring that the total number of nodes available at all times + during the update is at least 70% of desired nodes. x-kubernetes-int-or-string: true type: object rootVolume: @@ -1438,9 +1449,10 @@ spec: type: string type: array sysctlParameters: - description: SysctlParameters will configure kernel parameters - using sysctl(8). When specified, each parameter must follow - the form variable=value, the way it would appear in sysctl.conf. + description: |- + SysctlParameters will configure kernel parameters using sysctl(8). When + specified, each parameter must follow the form variable=value, the way + it would appear in sysctl.conf. items: type: string type: array @@ -1455,13 +1467,12 @@ spec: be either default or dedicated. Currently only applies to AWS. type: string updatePolicy: - description: 'UpdatePolicy determines the policy for applying - upgrades automatically. If specified, this value overrides a - value specified in the Cluster''s "spec.updatePolicy" field. - Valid values: ''automatic'' (default): apply updates automatically - (apply OS security upgrades, avoiding rebooting when possible) - ''external'': do not apply updates automatically; they are applied - manually or by an external system' + description: |- + UpdatePolicy determines the policy for applying upgrades automatically. + If specified, this value overrides a value specified in the Cluster's "spec.updatePolicy" field. + Valid values: + 'automatic' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) + 'external': do not apply updates automatically; they are applied manually or by an external system type: string volumeMounts: description: VolumeMounts a collection of volume mounts @@ -1501,10 +1512,9 @@ spec: attached to the instance group properties: deleteOnTermination: - description: DeleteOnTermination configures volume retention - policy upon instance termination. The volume is deleted - by default. Cluster deletion does not remove retained - volumes. + description: |- + DeleteOnTermination configures volume retention policy upon instance termination. + The volume is deleted by default. Cluster deletion does not remove retained volumes. type: boolean device: description: Device is an optional device name of the block @@ -1543,17 +1553,16 @@ spec: for later use (AWS only). properties: enableLifecycleHook: - description: EnableLifecyleHook determines if an ASG lifecycle - hook will be added ensuring that nodeup runs to completion. - Note that the metadata API must be protected from arbitrary - Pods when this is enabled. + description: |- + EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. + Note that the metadata API must be protected from arbitrary Pods when this is enabled. type: boolean maxSize: - description: MaxSize is the maximum size of the warm pool. - The desired size of the instance group is subtracted from - this number to determine the desired size of the warm pool - (unless the resulting number is smaller than MinSize). The - default is the instance group's MaxSize. + description: |- + MaxSize is the maximum size of the warm pool. The desired size of the instance group + is subtracted from this number to determine the desired size of the warm pool + (unless the resulting number is smaller than MinSize). + The default is the instance group's MaxSize. format: int64 type: integer minSize: @@ -1562,9 +1571,9 @@ spec: type: integer type: object zones: - description: Zones is the names of the Zones where machines in - this instance group should be placed This is needed for regional - subnets (e.g. GCE), to restrict placement to particular zones + description: |- + Zones is the names of the Zones where machines in this instance group should be placed + This is needed for regional subnets (e.g. GCE), to restrict placement to particular zones items: type: string type: array @@ -1573,10 +1582,9 @@ spec: description: ProviderID is the ARN of the associated ASG type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -1599,37 +1607,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -1638,13 +1646,15 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: |- + ErrorMessage indicates that there is a terminal problem reconciling the + state, and will be set to a descriptive error message. type: string ready: default: false - description: Ready denotes that the API Server is ready to receive - requests. + description: |- + Ready denotes that the API Server is ready to + receive requests. type: boolean replicas: description: Replicas is the most recently observed number of replicas diff --git a/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopscontrolplanes.controlplane.cluster.x-k8s.io.yaml b/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopscontrolplanes.controlplane.cluster.x-k8s.io.yaml index 550dff6..4959915 100644 --- a/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopscontrolplanes.controlplane.cluster.x-k8s.io.yaml +++ b/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopscontrolplanes.controlplane.cluster.x-k8s.io.yaml @@ -2,8 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 labels: cluster.x-k8s.io/v1beta1: v1alpha1 name: kopscontrolplanes.controlplane.cluster.x-k8s.io @@ -34,10 +33,19 @@ spec: description: KopsControlPlane is the Schema for the kopscontrolplanes API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -246,29 +254,45 @@ spec: oidc: properties: clientID: - description: ClientID is the client ID for the OpenID Connect client. Must be set if issuerURL is set. + description: |- + ClientID is the client ID for the OpenID Connect client. Must be set + if issuerURL is set. type: string groupsClaims: - description: GroupsClaims are the names of the custom OpenID Connect claims for specifying user groups (optional). + description: |- + GroupsClaims are the names of the custom OpenID Connect claims for + specifying user groups (optional). items: type: string type: array groupsPrefix: - description: GroupsPrefix is the prefix prepended to group claims to prevent clashes with existing names (such as 'system:' groups). + description: |- + GroupsPrefix is the prefix prepended to group claims to prevent + clashes with existing names (such as 'system:' groups). type: string issuerURL: - description: IssuerURL is the URL of the OpenID issuer. Only the HTTPS scheme will be accepted. If set, will be used to verify the OIDC JSON Web Token (JWT). + description: |- + IssuerURL is the URL of the OpenID issuer. Only the HTTPS scheme will + be accepted. + If set, will be used to verify the OIDC JSON Web Token (JWT). type: string requiredClaims: additionalProperties: type: string - description: RequiredClaims are key/value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with corresponding values. + description: |- + RequiredClaims are key/value pairs that describe required claims in the ID Token. + If set, the claims are verified to be present in the ID Token with corresponding values. type: object usernameClaim: - description: UsernameClaim is the OpenID claim to use as the username. Note that claims other than the default ('sub') are not guaranteed to be unique and immutable. + description: |- + UsernameClaim is the OpenID claim to use as the username. + Note that claims other than the default ('sub') are not guaranteed to be + unique and immutable. type: string usernamePrefix: - description: UsernamePrefix is the prefix prepended to username claims to prevent clashes with existing names (such as 'system:' users). + description: |- + UsernamePrefix is the prefix prepended to username claims to prevent + clashes with existing names (such as 'system:' users). type: string type: object type: object @@ -284,10 +308,14 @@ spec: description: CertManager determines the metrics server configuration. properties: defaultIssuer: - description: 'defaultIssuer sets a default clusterIssuer Default: none' + description: |- + defaultIssuer sets a default clusterIssuer + Default: none type: string enabled: - description: 'Enabled enables the cert manager. Default: false' + description: |- + Enabled enables the cert manager. + Default: false type: boolean hostedZoneIDs: description: HostedZoneIDs is a list of route53 hostedzone IDs that cert-manager will be allowed to do dns-01 validation for @@ -295,13 +323,19 @@ spec: type: string type: array image: - description: 'Image is the docker container used. Default: the latest supported image for the specified kubernetes version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string managed: - description: Managed controls if cert-manager is manged and deployed by kOps. The deployment of cert-manager is skipped if this is set to false. + description: |- + Managed controls if cert-manager is manged and deployed by kOps. + The deployment of cert-manager is skipped if this is set to false. type: boolean nameservers: - description: 'nameservers is a list of nameserver IP addresses to use instead of the pod defaults. Default: none' + description: |- + nameservers is a list of nameserver IP addresses to use instead of the pod defaults. + Default: none items: type: string type: array @@ -313,14 +347,18 @@ spec: description: CloudConfiguration defines the cloud provider configuration properties: manageStorageClasses: - description: ManageStorageClasses specifies whether kOps should create and maintain a set of StorageClasses, one of which it nominates as the default class for the cluster. + description: |- + ManageStorageClasses specifies whether kOps should create and maintain a set of + StorageClasses, one of which it nominates as the default class for the cluster. type: boolean type: object cloudControllerManager: description: CloudControllerManagerConfig is the configuration of the cloud controller properties: allocateNodeCIDRs: - description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if ConfigureCloudRoutes is true, to be set on the cloud provider. + description: |- + AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if + ConfigureCloudRoutes is true, to be set on the cloud provider. type: boolean allowUntaggedCloud: description: Allow the cluster to run without the cluster-id on cloud instances @@ -349,7 +387,9 @@ spec: anyOf: - type: integer - type: string - description: 'CPURequest of NodeTerminationHandler container. Default: 200m' + description: |- + CPURequest of NodeTerminationHandler container. + Default: 200m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enableLeaderMigration: @@ -362,16 +402,27 @@ spec: description: LeaderElection defines the configuration of leader election client. properties: leaderElect: - description: leaderElect enables a leader election client to gain leadership before executing the main loop. Enable this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in time non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource object that is used for locking during leader election. @@ -380,7 +431,9 @@ spec: description: LeaderElectResourceNamespace is the namespace of resource object that is used for locking during leader election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logLevel: @@ -412,46 +465,71 @@ spec: description: BinariesLocation is the location of the AWS cloud provider binaries. type: string disableSecurityGroupIngress: - description: DisableSecurityGroupIngress disables the Cloud Controller Manager's creation of an AWS Security Group for each load balancer provisioned for a Service. + description: |- + DisableSecurityGroupIngress disables the Cloud Controller Manager's creation + of an AWS Security Group for each load balancer provisioned for a Service. type: boolean ebsCSIDriver: description: EBSCSIDriverSpec is the config for the EBS CSI driver. properties: enabled: - description: 'Enabled enables the AWS EBS CSI driver Default: false' + description: |- + Enabled enables the AWS EBS CSI driver + Default: false type: boolean managed: - description: Managed controls if aws-ebs-csi-driver is manged and deployed by kOps. The deployment of aws-ebs-csi-driver is skipped if this is set to false. + description: |- + Managed controls if aws-ebs-csi-driver is manged and deployed by kOps. + The deployment of aws-ebs-csi-driver is skipped if this is set to false. type: boolean podAnnotations: additionalProperties: type: string - description: 'PodAnnotations are the annotations added to AWS EBS CSI node and controller Pods. Default: none' + description: |- + PodAnnotations are the annotations added to AWS EBS CSI node and controller Pods. + Default: none type: object version: - description: 'Version is the container image tag used. Default: The latest stable release which is compatible with your Kubernetes version' + description: |- + Version is the container image tag used. + Default: The latest stable release which is compatible with your Kubernetes version type: string volumeAttachLimit: - description: 'VolumeAttachLimit is the maximum number of volumes attachable per node. If specified, the limit applies to all nodes. If not specified, the value is approximated from the instance type. Default: -' + description: |- + VolumeAttachLimit is the maximum number of volumes attachable per node. + If specified, the limit applies to all nodes. + If not specified, the value is approximated from the instance type. + Default: - type: integer type: object elbSecurityGroup: - description: ElbSecurityGroup specifies an existing AWS Security group for the Cloud Controller Manager to assign to each ELB provisioned for a Service, instead of creating one per ELB. + description: |- + ElbSecurityGroup specifies an existing AWS Security group for the Cloud Controller + Manager to assign to each ELB provisioned for a Service, instead of creating + one per ELB. type: string loadBalancerController: description: LoadbalancerController determines the Load Balancer Controller configuration. properties: enableShield: - description: 'EnableShield specifies whether the controller can enable Shield Advanced. Default: false' + description: |- + EnableShield specifies whether the controller can enable Shield Advanced. + Default: false type: boolean enableWAF: - description: 'EnableWAF specifies whether the controller can use WAFs (Classic Regional). Default: false' + description: |- + EnableWAF specifies whether the controller can use WAFs (Classic Regional). + Default: false type: boolean enableWAFv2: - description: 'EnableWAFv2 specifies whether the controller can use WAFs (V2). Default: false' + description: |- + EnableWAFv2 specifies whether the controller can use WAFs (V2). + Default: false type: boolean enabled: - description: 'Enabled enables the loadbalancer controller. Default: false' + description: |- + Enabled enables the loadbalancer controller. + Default: false type: boolean version: description: Version is the container image tag used. @@ -469,42 +547,68 @@ spec: anyOf: - type: integer - type: string - description: 'CPURequest of NodeTerminationHandler container. Default: 50m' + description: |- + CPURequest of NodeTerminationHandler container. + Default: 50m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enableRebalanceDraining: - description: 'EnableRebalanceDraining makes node termination handler drain nodes when the rebalance recommendation notice is received. Default: false' + description: |- + EnableRebalanceDraining makes node termination handler drain nodes when the rebalance recommendation notice is received. + Default: false type: boolean enableRebalanceMonitoring: - description: 'EnableRebalanceMonitoring makes node termination handler cordon nodes when the rebalance recommendation notice is received. In queue-processor mode, cannot be enabled without rebalance draining. Default: false' + description: |- + EnableRebalanceMonitoring makes node termination handler cordon nodes when the rebalance recommendation notice is received. + In queue-processor mode, cannot be enabled without rebalance draining. + Default: false type: boolean enableSQSTerminationDraining: - description: 'EnableSQSTerminationDraining enables queue-processor mode which drains nodes when an SQS termination event is received. Default: true' + description: |- + EnableSQSTerminationDraining enables queue-processor mode which drains nodes when an SQS termination event is received. + Default: true type: boolean enableScheduledEventDraining: - description: 'EnableScheduledEventDraining makes node termination handler drain nodes before the maintenance window starts for an EC2 instance scheduled event. Cannot be disabled in queue-processor mode. Default: true' + description: |- + EnableScheduledEventDraining makes node termination handler drain nodes before the maintenance window starts for an EC2 instance scheduled event. + Cannot be disabled in queue-processor mode. + Default: true type: boolean enableSpotInterruptionDraining: - description: 'EnableSpotInterruptionDraining makes node termination handler drain nodes when spot interruption termination notice is received. Cannot be disabled in queue-processor mode. Default: true' + description: |- + EnableSpotInterruptionDraining makes node termination handler drain nodes when spot interruption termination notice is received. + Cannot be disabled in queue-processor mode. + Default: true type: boolean enabled: - description: 'Enabled enables the node termination handler. Default: true' + description: |- + Enabled enables the node termination handler. + Default: true type: boolean excludeFromLoadBalancers: - description: 'ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned. Default: true' + description: |- + ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned. + Default: true type: boolean managedASGTag: - description: ManagedASGTag is the tag used to determine which nodes NTH can take action on This field has kept its name even though it now maps to the --managed-tag flag due to keeping the API stable. Node termination handler does no longer check the ASG for this tag, but the actual EC2 instances. + description: |- + ManagedASGTag is the tag used to determine which nodes NTH can take action on + This field has kept its name even though it now maps to the --managed-tag flag due to keeping the API stable. + Node termination handler does no longer check the ASG for this tag, but the actual EC2 instances. type: string memoryRequest: anyOf: - type: integer - type: string - description: 'MemoryRequest of NodeTerminationHandler container. Default: 64Mi' + description: |- + MemoryRequest of NodeTerminationHandler container. + Default: 64Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true prometheusEnable: - description: 'EnablePrometheusMetrics enables the "/metrics" endpoint. Default: false' + description: |- + EnablePrometheusMetrics enables the "/metrics" endpoint. + Default: false type: boolean version: description: Version is the container image tag used. @@ -527,10 +631,16 @@ spec: description: WarmPool defines the default warm pool settings for instance groups. properties: enableLifecycleHook: - description: EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. Note that the metadata API must be protected from arbitrary Pods when this is enabled. + description: |- + EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. + Note that the metadata API must be protected from arbitrary Pods when this is enabled. type: boolean maxSize: - description: MaxSize is the maximum size of the warm pool. The desired size of the instance group is subtracted from this number to determine the desired size of the warm pool (unless the resulting number is smaller than MinSize). The default is the instance group's MaxSize. + description: |- + MaxSize is the maximum size of the warm pool. The desired size of the instance group + is subtracted from this number to determine the desired size of the warm pool + (unless the resulting number is smaller than MinSize). + The default is the instance group's MaxSize. format: int64 type: integer minSize: @@ -546,7 +656,14 @@ spec: description: AdminUser specifies the admin user of VMs. type: string resourceGroupName: - description: ResourceGroupName specifies the name of the resource group where the cluster is built. If this is empty, kops will create a new resource group whose name is same as the cluster name. If this is not empty, kops will not create a new resource group, and it will just reuse the existing resource group of the name. This follows the model that kops takes for AWS VPC. + description: |- + ResourceGroupName specifies the name of the resource group + where the cluster is built. + If this is empty, kops will create a new resource group + whose name is same as the cluster name. If this is not + empty, kops will not create a new resource group, and + it will just reuse the existing resource group of the name. + This follows the model that kops takes for AWS VPC. type: string routeTableName: description: RouteTableName is the name of the route table attached to the subnet that the cluster is deployed in. @@ -705,42 +822,65 @@ spec: description: ClusterAutoscaler defines the cluster autoscaler configuration. properties: awsUseStaticInstanceList: - description: 'AWSUseStaticInstanceList makes cluster autoscaler to use statically defined set of AWS EC2 Instance List. Default: false' + description: |- + AWSUseStaticInstanceList makes cluster autoscaler to use statically defined set of AWS EC2 Instance List. + Default: false type: boolean balanceSimilarNodeGroups: - description: 'BalanceSimilarNodeGroups makes the cluster autoscaler treat similar node groups as one. Default: false' + description: |- + BalanceSimilarNodeGroups makes the cluster autoscaler treat similar node groups as one. + Default: false type: boolean cordonNodeBeforeTerminating: - description: 'CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process Default: false' + description: |- + CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process + Default: false type: boolean cpuRequest: anyOf: - type: integer - type: string - description: 'CPURequest of cluster autoscaler container. Default: 100m' + description: |- + CPURequest of cluster autoscaler container. + Default: 100m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true createPriorityExpanderConfig: - description: 'CreatePriorityExpenderConfig makes kOps create the priority-expander ConfigMap Default: true' + description: |- + CreatePriorityExpenderConfig makes kOps create the priority-expander ConfigMap + Default: true type: boolean customPriorityExpanderConfig: additionalProperties: items: type: string type: array - description: CustomPriorityExpanderConfig overides the priority-expander ConfigMap with the provided configuration. Any InstanceGroup configuration will be ignored if this is set. This could be useful in order to use regex on priorities configuration + description: |- + CustomPriorityExpanderConfig overides the priority-expander ConfigMap with the provided configuration. Any InstanceGroup configuration will be ignored if this is set. + This could be useful in order to use regex on priorities configuration type: object enabled: - description: 'Enabled enables the cluster autoscaler. Default: false' + description: |- + Enabled enables the cluster autoscaler. + Default: false type: boolean expander: - description: 'Expander determines the strategy for which instance group gets expanded. Supported values: least-waste, most-pods, random, price, priority. The price expander is only supported on GCE. By default, kOps will generate the priority expander ConfigMap based on the `autoscale` and `autoscalePriority` fields in the InstanceGroup specs. Default: least-waste' + description: |- + Expander determines the strategy for which instance group gets expanded. + Supported values: least-waste, most-pods, random, price, priority. + The price expander is only supported on GCE. + By default, kOps will generate the priority expander ConfigMap based on the `autoscale` and `autoscalePriority` fields in the InstanceGroup specs. + Default: least-waste type: string ignoreDaemonSetsUtilization: - description: 'IgnoreDaemonSetsUtilization causes the cluster autoscaler to ignore DaemonSet-managed pods when calculating resource utilization for scaling down. Default: false' + description: |- + IgnoreDaemonSetsUtilization causes the cluster autoscaler to ignore DaemonSet-managed pods when calculating resource utilization for scaling down. + Default: false type: boolean image: - description: 'Image is the docker container used. Default: the latest supported image for the specified kubernetes version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string maxNodeProvisionTime: description: MaxNodeProvisionTime determines how long CAS will wait for a node to join the cluster. @@ -749,34 +889,52 @@ spec: anyOf: - type: integer - type: string - description: 'MemoryRequest of cluster autoscaler container. Default: 300Mi' + description: |- + MemoryRequest of cluster autoscaler container. + Default: 300Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true newPodScaleUpDelay: - description: 'NewPodScaleUpDelay causes the cluster autoscaler to ignore unschedulable pods until they are a certain "age", regardless of the scan-interval Default: 0s' + description: |- + NewPodScaleUpDelay causes the cluster autoscaler to ignore unschedulable pods until they are a certain "age", regardless of the scan-interval + Default: 0s type: string podAnnotations: additionalProperties: type: string - description: 'PodAnnotations are the annotations added to cluster autoscaler pods when they are created. Default: none' + description: |- + PodAnnotations are the annotations added to cluster autoscaler pods when they are created. + Default: none type: object scaleDownDelayAfterAdd: - description: 'ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes Default: 10m0s' + description: |- + ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes + Default: 10m0s type: string scaleDownUnneededTime: - description: 'scaleDownUnneededTime determines the time a node should be unneeded before it is eligible for scale down Default: 10m0s' + description: |- + scaleDownUnneededTime determines the time a node should be unneeded before it is eligible for scale down + Default: 10m0s type: string scaleDownUnreadyTime: - description: 'ScaleDownUnreadyTime determines the time an unready node should be unneeded before it is eligible for scale down Default: 20m0s' + description: |- + ScaleDownUnreadyTime determines the time an unready node should be unneeded before it is eligible for scale down + Default: 20m0s type: string scaleDownUtilizationThreshold: - description: 'ScaleDownUtilizationThreshold determines the utilization threshold for node scale-down. Default: 0.5' + description: |- + ScaleDownUtilizationThreshold determines the utilization threshold for node scale-down. + Default: 0.5 type: string skipNodesWithLocalStorage: - description: 'SkipNodesWithLocalStorage makes the cluster autoscaler skip scale-down of nodes with local storage. Default: true' + description: |- + SkipNodesWithLocalStorage makes the cluster autoscaler skip scale-down of nodes with local storage. + Default: true type: boolean skipNodesWithSystemPods: - description: 'SkipNodesWithSystemPods makes the cluster autoscaler skip scale-down of nodes with non-DaemonSet pods in the kube-system namespace. Default: true' + description: |- + SkipNodesWithSystemPods makes the cluster autoscaler skip scale-down of nodes with non-DaemonSet pods in the kube-system namespace. + Default: true type: boolean type: object clusterDNSDomain: @@ -786,7 +944,11 @@ spec: description: ConfigStore configures the stores that nodes use to get their configuration. properties: base: - description: Base is the VFS path where we store configuration for the cluster This might be different than the location where the cluster spec itself is stored, both because this must be accessible to the cluster, and because it might be on a different cloud or storage system (etcd vs S3). + description: |- + Base is the VFS path where we store configuration for the cluster + This might be different than the location where the cluster spec itself is stored, + both because this must be accessible to the cluster, + and because it might be on a different cloud or storage system (etcd vs S3). type: string keypairs: description: Keypairs is the VFS path to where certificates and corresponding private keys are stored. @@ -821,10 +983,14 @@ spec: type: boolean type: object enabled: - description: Enabled determines if kOps will install the Nvidia GPU runtime and drivers. They will only be installed on intances that has an Nvidia GPU. + description: |- + Enabled determines if kOps will install the Nvidia GPU runtime and drivers. + They will only be installed on intances that has an Nvidia GPU. type: boolean package: - description: Package is the name of the nvidia driver package that will be installed. Default is "nvidia-headless-510-server". + description: |- + Package is the name of the nvidia driver package that will be installed. + Default is "nvidia-headless-510-server". type: string type: object packages: @@ -890,7 +1056,9 @@ spec: type: string type: object controlPlaneKubelet: - description: ControlPlaneKubelet is the kubelet configuration for nodes belonging to the control plane It can be overridden by the kubelet configuration specified in the instance group. + description: |- + ControlPlaneKubelet is the kubelet configuration for nodes belonging to the control plane + It can be overridden by the kubelet configuration specified in the instance group. properties: allowPrivileged: description: AllowPrivileged enables containers to request privileged mode (defaults to false) @@ -1004,7 +1172,9 @@ spec: description: ExperimentalAllocatableIgnoreEviction enables ignoring Hard Eviction Thresholds while calculating Node Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -1017,7 +1187,16 @@ spec: description: FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container bridge for hairpin packets. Setting this flag allows endpoints in a Service to loadbalance back to themselves if they should try to access their own Service. Values: "promiscuous-bridge": make the container bridge promiscuous. "hairpin-veth": set the hairpin flag on container veth interfaces. "none": do nothing. Setting --configure-cbr0 to false implies that to achieve hairpin NAT one must set --hairpin-mode=veth-flag, because bridge assumes the existence of a container bridge named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify the kubelet instead of the actual hostname. @@ -1026,15 +1205,22 @@ spec: description: HousekeepingInterval allows to specify interval between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of disk usage after which image garbage collection is always run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for image pulls If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling. @@ -1054,7 +1240,10 @@ spec: description: KubeletCgroups is the absolute name of cgroups to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -1065,10 +1254,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the network plugin, and overrides the default MTU for cases where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -1080,7 +1274,9 @@ spec: description: NodeLabels to add when registering the node in the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic to IPs outside this range will use IP masquerade.' @@ -1090,7 +1286,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc containers in each pod will use. @@ -1103,14 +1301,18 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. (DEPRECATED: This parameter should be set via the config file specified by the Kubelet''s --config flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet api for read-only access (default 10255) format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the API server. No-op if register-node or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with the apiserver. @@ -1151,19 +1353,30 @@ spec: description: SeccompProfileRoot is the directory path for seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the Kubelet to pull images one // at a time. We recommend *not* changing the default value on nodes that // run docker daemon with version < 1.9 or an Aufs storage backend. // Issue #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum time a streaming connection can be idle before the connection is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in which to place all non-kernel processes that are not already in a container. Empty for no container. Rolling back the flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -1226,7 +1439,13 @@ spec: type: string type: object dnsZone: - description: DNSZone is the DNS zone we should use when configuring DNS This is because some clouds let us define a managed zone foo.bar, and then have kubernetes.dev.foo.bar, without needing to define dev.foo.bar as a hosted zone. DNSZone will probably be a suffix of the MasterPublicName. Note that DNSZone can either by the host name of the zone (containing dots), or can be an identifier for the zone. + description: |- + DNSZone is the DNS zone we should use when configuring DNS + This is because some clouds let us define a managed zone foo.bar, and then have + kubernetes.dev.foo.bar, without needing to define dev.foo.bar as a hosted zone. + DNSZone will probably be a suffix of the MasterPublicName. + Note that DNSZone can either by the host name of the zone (containing dots), + or can be an identifier for the zone. type: string docker: description: DockerConfig is the configuration for docker @@ -1453,7 +1672,11 @@ spec: description: DiscoveryPollInterval which is used for discovering other cluster members. The default is 60 seconds. type: string env: - description: Env allows users to pass in env variables to the etcd-manager container. Variables starting with ETCD_ will be further passed down to the etcd process. This allows etcd setting to be overwriten. No config validation is done. A list of etcd config ENV vars can be found at https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md + description: |- + Env allows users to pass in env variables to the etcd-manager container. + Variables starting with ETCD_ will be further passed down to the etcd process. + This allows etcd setting to be overwriten. No config validation is done. + A list of etcd config ENV vars can be found at https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md items: description: EnvVar represents an environment variable present in a Container. properties: @@ -1461,7 +1684,15 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previous defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -1476,7 +1707,9 @@ spec: type: string type: array logLevel: - description: LogLevel allows the klog library verbose log level to be set for etcd-manager. The default is 6. https://github.com/google/glog#verbose-logging + description: |- + LogLevel allows the klog library verbose log level to be set for etcd-manager. The default is 6. + https://github.com/google/glog#verbose-logging format: int32 type: integer type: object @@ -1491,7 +1724,9 @@ spec: description: Name is the name of the etcd cluster (main, events etc) type: string provider: - description: 'Provider is the provider used to run etcd: Manager, Legacy. Defaults to Manager.' + description: |- + Provider is the provider used to run etcd: Manager, Legacy. + Defaults to Manager. type: string version: description: Version is the version of etcd to run. @@ -1502,10 +1737,15 @@ spec: description: ExternalDNSConfig are options of the dns-controller properties: provider: - description: Provider determines which implementation of ExternalDNS to use. 'dns-controller' will use kOps DNS Controller. 'external-dns' will use kubernetes-sigs/external-dns. + description: |- + Provider determines which implementation of ExternalDNS to use. + 'dns-controller' will use kOps DNS Controller. + 'external-dns' will use kubernetes-sigs/external-dns. type: string watchIngress: - description: 'WatchIngress indicates you want the dns-controller to watch and create dns entries for ingress resources. Default: true if provider is ''external-dns'', false otherwise.' + description: |- + WatchIngress indicates you want the dns-controller to watch and create dns entries for ingress resources. + Default: true if provider is 'external-dns', false otherwise. type: boolean watchNamespace: description: WatchNamespace is namespace to watch, defaults to all (use to control whom can creates dns entries) @@ -1613,7 +1853,10 @@ spec: type: string type: array useRawManifest: - description: UseRawManifest indicates that the contents of Manifest should be used as the contents of the systemd unit, unmodified. Before and Requires are ignored when used together with this value (and validation shouldn't allow them to be set) + description: |- + UseRawManifest indicates that the contents of Manifest should be used as the contents + of the systemd unit, unmodified. Before and Requires are ignored when used together + with this value (and validation shouldn't allow them to be set) type: boolean type: object type: array @@ -1655,7 +1898,9 @@ spec: type: object type: array useServiceAccountExternalPermissions: - description: UseServiceAccountExternalPermissions determines if managed ServiceAccounts will use external permissions directly. If this is set to false, ServiceAccounts will assume external permissions from the instances they run on. + description: |- + UseServiceAccountExternalPermissions determines if managed ServiceAccounts will use external permissions directly. + If this is set to false, ServiceAccounts will assume external permissions from the instances they run on. type: boolean required: - legacy @@ -1714,7 +1959,11 @@ spec: description: AnonymousAuth indicates if anonymous authentication is permitted type: boolean apiAudiences: - description: Identifiers of the API. The service account token authenticator will validate that tokens used against the API are bound to at least one of these audiences. If the --service-account-issuer flag is configured and this flag is not, this field defaults to a single element list containing the issuer URL. + description: |- + Identifiers of the API. The service account token authenticator will validate that + tokens used against the API are bound to at least one of these audiences. If the + --service-account-issuer flag is configured and this flag is not, this field + defaults to a single element list containing the issuer URL. items: type: string type: array @@ -1819,7 +2068,9 @@ spec: description: CloudProvider is the name of the cloudProvider we are using, aws, gce etcd type: string corsAllowedOrigins: - description: CorsAllowedOrigins is a list of origins for CORS. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled. + description: |- + CorsAllowedOrigins is a list of origins for CORS. An allowed origin can be a regular + expression to support subdomain matching. If this list is empty CORS will not be enabled. items: type: string type: array @@ -1932,7 +2183,10 @@ spec: type: string type: array logFormat: - description: 'LogFormat is the logging format of the api. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the api. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the api @@ -1961,11 +2215,15 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true minRequestTimeout: - description: MinRequestTimeout configures the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler + description: |- + MinRequestTimeout configures the minimum number of seconds a handler must keep a request open before timing it out. + Currently only honored by the watch request handler format: int32 type: integer oidcCAFile: - description: OIDCCAFile if set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file + description: |- + OIDCCAFile if set, the OpenID server's certificate will be verified by one + of the authorities in the oidc-ca-file type: string proxyClientCertFile: description: The apiserver's client certificate used for outbound requests. @@ -2009,18 +2267,25 @@ spec: format: int32 type: integer serviceAccountIssuer: - description: Identifier of the service account token issuer. The issuer will assert this identifier in "iss" claim of issued tokens. This value is a string or URI. + description: |- + Identifier of the service account token issuer. The issuer will assert this identifier + in "iss" claim of issued tokens. This value is a string or URI. type: string serviceAccountJWKSURI: description: ServiceAccountJWKSURI overrides the path for the jwks document; this is useful when we are republishing the service account discovery information elsewhere. type: string serviceAccountKeyFile: - description: File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. The specified file can contain multiple keys, and the flag can be specified multiple times with different files. If unspecified, --tls-private-key-file is used. + description: |- + File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. + The specified file can contain multiple keys, and the flag can be specified multiple times with different files. + If unspecified, --tls-private-key-file is used. items: type: string type: array serviceAccountSigningKeyFile: - description: Path to the file that contains the current private key of the service account token issuer. The issuer will sign issued ID tokens with this private key. (Requires the 'TokenRequest' feature gate.) + description: |- + Path to the file that contains the current private key of the service account token issuer. + The issuer will sign issued ID tokens with this private key. (Requires the 'TokenRequest' feature gate.) type: string serviceClusterIPRange: description: ServiceClusterIPRange is the service address range @@ -2063,7 +2328,9 @@ spec: description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if ConfigureCloudRoutes is true, to be set on the cloud provider. type: boolean attachDetachReconcileSyncPeriod: - description: AttachDetachReconcileSyncPeriod is the amount of time the reconciler sync states loop wait between successive executions. Is set to 1 min by kops by default + description: |- + AttachDetachReconcileSyncPeriod is the amount of time the reconciler sync states loop + wait between successive executions. Is set to 1 min by kops by default type: string authenticationKubeconfig: description: AuthenticationKubeconfig is the path to an Authentication Kubeconfig @@ -2129,7 +2396,9 @@ spec: type: string type: array disableAttachDetachReconcileSync: - description: DisableAttachDetachReconcileSync disables the reconcile sync loop in the attach-detach controller. This can cause volumes to become mismatched with pods + description: |- + DisableAttachDetachReconcileSync disables the reconcile sync loop in the attach-detach controller. + This can cause volumes to become mismatched with pods type: boolean enableLeaderMigration: description: EnableLeaderMigration enables controller leader migration. @@ -2138,16 +2407,27 @@ spec: description: EnableProfiling enables profiling via web interface host:port/debug/pprof/ type: boolean endpointSliceUpdatesBatchPeriod: - description: The length of endpoint slice updates batching period. Processing of pod changes will be delayed by this duration to join them with potential upcoming updates and reduce the overall number of endpoints updates. Larger number = higher endpoint programming latency, but lower number of endpoints revision generated. + description: |- + The length of endpoint slice updates batching period. Processing of pod changes will be delayed by this duration + to join them with potential upcoming updates and reduce the overall number of endpoints updates. + Larger number = higher endpoint programming latency, but lower number of endpoints revision generated. type: string endpointUpdatesBatchPeriod: - description: The length of endpoint updates batching period. Processing of pod changes will be delayed by this duration to join them with potential upcoming updates and reduce the overall number of endpoints updates. Larger number = higher endpoint programming latency, but lower number of endpoints revision generated + description: |- + The length of endpoint updates batching period. Processing of pod changes will be delayed by this duration + to join them with potential upcoming updates and reduce the overall number of endpoints updates. + Larger number = higher endpoint programming latency, but lower number of endpoints revision generated type: string experimentalClusterSigningDuration: - description: ExperimentalClusterSigningDuration is the max length of duration that the signed certificates will be given. (default 365*24h) Deprecated - use cluster-signing-duration instead + description: |- + ExperimentalClusterSigningDuration is the max length of duration that the signed certificates will be given. (default 365*24h) + Deprecated - use cluster-signing-duration instead type: string externalCloudVolumePlugin: - description: ExternalCloudVolumePlugin is a fallback mechanism that allows a legacy, in-tree cloudprovider to be used for volume plugins even when an external cloud controller manager is being used. This can be used instead of installing CSI. The value should be the same as is used for the --cloud-provider flag, i.e. "aws". + description: |- + ExternalCloudVolumePlugin is a fallback mechanism that allows a legacy, in-tree cloudprovider to be used for volume plugins + even when an external cloud controller manager is being used. This can be used instead of installing CSI. The value should + be the same as is used for the --cloud-provider flag, i.e. "aws". type: string featureGates: additionalProperties: @@ -2155,32 +2435,53 @@ spec: description: FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features. type: object horizontalPodAutoscalerCpuInitializationPeriod: - description: HorizontalPodAutoscalerCPUInitializationPeriod is the period after pod start when CPU samples might be skipped. (default 5m) + description: |- + HorizontalPodAutoscalerCPUInitializationPeriod is the period after pod start + when CPU samples might be skipped. (default 5m) type: string horizontalPodAutoscalerDownscaleDelay: - description: HorizontalPodAutoscalerDownscaleDelay is a duration that specifies how long the autoscaler has to wait before another downscale operation can be performed after the current one has completed. + description: |- + HorizontalPodAutoscalerDownscaleDelay is a duration that specifies + how long the autoscaler has to wait before another downscale + operation can be performed after the current one has completed. type: string horizontalPodAutoscalerDownscaleStabilization: - description: HorizontalPodAutoscalerDownscaleStabilization is the period for which autoscaler will look backwards and not scale down below any recommendation it made during that period. + description: |- + HorizontalPodAutoscalerDownscaleStabilization is the period for which + autoscaler will look backwards and not scale down below any + recommendation it made during that period. type: string horizontalPodAutoscalerInitialReadinessDelay: - description: HorizontalPodAutoscalerInitialReadinessDelay is the period after pod start during which readiness changes will be treated as initial readiness. (default 30s) + description: |- + HorizontalPodAutoscalerInitialReadinessDelay is the period after pod start + during which readiness changes will be treated as initial readiness. (default 30s) type: string horizontalPodAutoscalerSyncPeriod: - description: HorizontalPodAutoscalerSyncPeriod is the amount of time between syncs During each period, the controller manager queries the resource utilization against the metrics specified in each HorizontalPodAutoscaler definition. + description: |- + HorizontalPodAutoscalerSyncPeriod is the amount of time between syncs + During each period, the controller manager queries the resource utilization + against the metrics specified in each HorizontalPodAutoscaler definition. type: string horizontalPodAutoscalerTolerance: anyOf: - type: integer - type: string - description: HorizontalPodAutoscalerTolerance is the minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling. + description: |- + HorizontalPodAutoscalerTolerance is the minimum change (from 1.0) in the + desired-to-actual metrics ratio for the horizontal pod autoscaler to + consider scaling. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true horizontalPodAutoscalerUpscaleDelay: - description: HorizontalPodAutoscalerUpscaleDelay is a duration that specifies how long the autoscaler has to wait before another upscale operation can be performed after the current one has completed. + description: |- + HorizontalPodAutoscalerUpscaleDelay is a duration that specifies how + long the autoscaler has to wait before another upscale operation can + be performed after the current one has completed. type: string horizontalPodAutoscalerUseRestClients: - description: HorizontalPodAutoscalerUseRestClients determines if the new-style clients should be used if support for custom metrics is enabled. + description: |- + HorizontalPodAutoscalerUseRestClients determines if the new-style clients + should be used if support for custom metrics is enabled. type: boolean image: description: Image is the docker image to use @@ -2200,16 +2501,27 @@ spec: description: LeaderElection defines the configuration of leader election client. properties: leaderElect: - description: leaderElect enables a leader election client to gain leadership before executing the main loop. Enable this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in time non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource object that is used for locking during leader election. @@ -2218,11 +2530,16 @@ spec: description: LeaderElectResourceNamespace is the namespace of resource object that is used for locking during leader election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logFormat: - description: 'LogFormat is the logging format of the controler manager. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the controler manager. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the defined logLevel @@ -2232,14 +2549,18 @@ spec: description: Master is the url for the kube api master type: string minResyncPeriod: - description: MinResyncPeriod indicates the resync period in reflectors. The resync period will be random between MinResyncPeriod and 2*MinResyncPeriod. (default 12h0m0s) + description: |- + MinResyncPeriod indicates the resync period in reflectors. + The resync period will be random between MinResyncPeriod and 2*MinResyncPeriod. (default 12h0m0s) type: string nodeCIDRMaskSize: description: NodeCIDRMaskSize set the size for the mask of the nodes. format: int32 type: integer nodeMonitorGracePeriod: - description: NodeMonitorGracePeriod is the amount of time which we allow running Node to be unresponsive before marking it unhealthy. (default 40s) Must be N-1 times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. + description: |- + NodeMonitorGracePeriod is the amount of time which we allow running Node to be unresponsive before marking it unhealthy. (default 40s) + Must be N-1 times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. type: string nodeMonitorPeriod: description: NodeMonitorPeriod is the period for syncing NodeStatus in NodeController. (default 5s) @@ -2254,7 +2575,10 @@ spec: description: ServiceAccountPrivateKeyFile is the location of the private key for service account token signing. type: string terminatedPodGCThreshold: - description: TerminatedPodGCThreshold is the number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled. + description: |- + TerminatedPodGCThreshold is the number of terminated pods that can exist + before the terminated pod garbage collector starts deleting terminated pods. + If <= 0, the terminated pod garbage collector is disabled. format: int32 type: integer tlsCertFile: @@ -2285,9 +2609,20 @@ spec: description: Describes node affinity scheduling rules for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. items: - description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + description: |- + An empty preferred scheduling term matches all objects with implicit weight 0 + (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: description: A node selector term, associated with the corresponding weight. @@ -2295,16 +2630,25 @@ spec: matchExpressions: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -2316,16 +2660,25 @@ spec: matchFields: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -2346,26 +2699,43 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: - description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + description: |- + A null or empty node selector term matches no objects. The requirements of + them are ANDed. + The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -2377,16 +2747,25 @@ spec: matchFields: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -2407,7 +2786,16 @@ spec: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) properties: @@ -2420,16 +2808,24 @@ spec: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2441,26 +2837,42 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2472,23 +2884,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -2497,9 +2923,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set of resources, in this case pods. @@ -2507,16 +2946,24 @@ spec: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2528,26 +2975,42 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2559,17 +3022,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -2580,7 +3055,16 @@ spec: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) properties: @@ -2593,16 +3077,24 @@ spec: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2614,26 +3106,42 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2645,23 +3153,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -2670,9 +3192,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set of resources, in this case pods. @@ -2680,16 +3215,24 @@ spec: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2701,26 +3244,42 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2732,17 +3291,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -2827,7 +3398,9 @@ spec: podAnnotations: additionalProperties: type: string - description: 'PodAnnotations makes possible to add additional annotations to node-local-dns. Default: none' + description: |- + PodAnnotations makes possible to add additional annotations to node-local-dns. + Default: none type: object type: object provider: @@ -2846,23 +3419,39 @@ spec: tolerations: description: "Tolerations\tare tolerations to apply to the kube-dns deployment" items: - description: The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array @@ -2991,16 +3580,27 @@ spec: description: LeaderElection defines the configuration of leader election client. properties: leaderElect: - description: leaderElect enables a leader election client to gain leadership before executing the main loop. Enable this when running replicated components for high availability. + description: |- + leaderElect enables a leader election client to gain leadership + before executing the main loop. Enable this when running replicated + components for high availability. type: boolean leaderElectLeaseDuration: - description: leaderElectLeaseDuration is the length in time non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate + description: |- + leaderElectLeaseDuration is the length in time non-leader candidates + will wait after observing a leadership renewal until attempting to acquire + leadership of a led but unrenewed leader slot. This is effectively the + maximum duration that a leader can be stopped before it is replaced by another candidate type: string leaderElectRenewDeadlineDuration: - description: LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. + description: |- + LeaderElectRenewDeadlineDuration is the interval between attempts by the acting master to + renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. type: string leaderElectResourceLock: - description: LeaderElectResourceLock is the type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`. + description: |- + LeaderElectResourceLock is the type of resource object that is used for locking during + leader election. Supported options are endpoints (default) and `configmaps`. type: string leaderElectResourceName: description: LeaderElectResourceName is the name of resource object that is used for locking during leader election. @@ -3009,11 +3609,16 @@ spec: description: LeaderElectResourceNamespace is the namespace of resource object that is used for locking during leader election. type: string leaderElectRetryPeriod: - description: LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. + description: |- + LeaderElectRetryPeriod is The duration the clients should wait between attempting acquisition + and renewal of a leadership. This is only applicable if leader election is enabled. type: string type: object logFormat: - description: 'LogFormat is the logging format of the scheduler. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the scheduler. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level @@ -3023,7 +3628,11 @@ spec: description: Master is a url to the kube master type: string maxPersistentVolumes: - description: 'MaxPersistentVolumes changes the maximum number of persistent volumes the scheduler will scheduler onto the same node. Only takes effect if value is positive. This corresponds to the KUBE_MAX_PD_VOLS environment variable. The default depends on the version and the cloud provider as outlined: https://kubernetes.io/docs/concepts/storage/storage-limits/' + description: |- + MaxPersistentVolumes changes the maximum number of persistent volumes the scheduler will scheduler onto the same + node. Only takes effect if value is positive. This corresponds to the KUBE_MAX_PD_VOLS environment variable. + The default depends on the version and the cloud provider + as outlined: https://kubernetes.io/docs/concepts/storage/storage-limits/ format: int32 type: integer qps: @@ -3044,7 +3653,9 @@ spec: type: boolean type: object kubelet: - description: Kubelet is the kubelet configuration for nodes not belonging to the control plane. It can be overridden by the kubelet configuration specified in the instance group. + description: |- + Kubelet is the kubelet configuration for nodes not belonging to the control plane. + It can be overridden by the kubelet configuration specified in the instance group. properties: allowPrivileged: description: AllowPrivileged enables containers to request privileged mode (defaults to false) @@ -3158,7 +3769,9 @@ spec: description: ExperimentalAllocatableIgnoreEviction enables ignoring Hard Eviction Thresholds while calculating Node Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -3171,7 +3784,16 @@ spec: description: FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container bridge for hairpin packets. Setting this flag allows endpoints in a Service to loadbalance back to themselves if they should try to access their own Service. Values: "promiscuous-bridge": make the container bridge promiscuous. "hairpin-veth": set the hairpin flag on container veth interfaces. "none": do nothing. Setting --configure-cbr0 to false implies that to achieve hairpin NAT one must set --hairpin-mode=veth-flag, because bridge assumes the existence of a container bridge named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify the kubelet instead of the actual hostname. @@ -3180,15 +3802,22 @@ spec: description: HousekeepingInterval allows to specify interval between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of disk usage after which image garbage collection is always run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for image pulls If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling. @@ -3208,7 +3837,10 @@ spec: description: KubeletCgroups is the absolute name of cgroups to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -3219,10 +3851,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the network plugin, and overrides the default MTU for cases where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -3234,7 +3871,9 @@ spec: description: NodeLabels to add when registering the node in the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic to IPs outside this range will use IP masquerade.' @@ -3244,7 +3883,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc containers in each pod will use. @@ -3257,14 +3898,18 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. (DEPRECATED: This parameter should be set via the config file specified by the Kubelet''s --config flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet api for read-only access (default 10255) format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the API server. No-op if register-node or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with the apiserver. @@ -3305,19 +3950,30 @@ spec: description: SeccompProfileRoot is the directory path for seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the Kubelet to pull images one // at a time. We recommend *not* changing the default value on nodes that // run docker daemon with version < 1.9 or an Aufs storage backend. // Issue #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum time a streaming connection can be idle before the connection is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in which to place all non-kernel processes that are not already in a container. Empty for no container. Rolling back the flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -3363,20 +4019,29 @@ spec: description: MetricsServer determines the metrics server configuration. properties: enabled: - description: 'Enabled enables the metrics server. Default: false' + description: |- + Enabled enables the metrics server. + Default: false type: boolean image: - description: 'Image is the docker container used. Default: the latest supported image for the specified kubernetes version.' + description: |- + Image is the docker container used. + Default: the latest supported image for the specified kubernetes version. type: string insecure: - description: 'Insecure determines if API server will validate metrics server TLS cert. Default: true' + description: |- + Insecure determines if API server will validate metrics server TLS cert. + Default: true type: boolean type: object networking: description: Networking configures networking. properties: additionalNetworkCIDRs: - description: AdditionalNetworkCIDRs is a list of additional CIDR used for the AWS VPC or otherwise allocated to k8s. This is a real CIDR, not the internal k8s network On AWS, it maps to any additional CIDRs added to a VPC. + description: |- + AdditionalNetworkCIDRs is a list of additional CIDR used for the AWS VPC + or otherwise allocated to k8s. This is a real CIDR, not the internal k8s network + On AWS, it maps to any additional CIDRs added to a VPC. items: type: string type: array @@ -3392,7 +4057,15 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previous defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -3409,25 +4082,42 @@ spec: description: CalicoNetworkingSpec declares that we want Calico networking properties: allowIPForwarding: - description: 'AllowIPForwarding enable ip_forwarding setting within the container namespace. (default: false)' + description: |- + AllowIPForwarding enable ip_forwarding setting within the container namespace. + (default: false) type: boolean awsSrcDstCheck: - description: 'AWSSrcDstCheck enables/disables ENI source/destination checks (AWS IPv4 only) Options: Disable (default for IPv4), Enable, or DoNothing' + description: |- + AWSSrcDstCheck enables/disables ENI source/destination checks (AWS IPv4 only) + Options: Disable (default for IPv4), Enable, or DoNothing type: string bpfEnabled: description: BPFEnabled enables the eBPF dataplane mode. type: boolean bpfExternalServiceMode: - description: 'BPFExternalServiceMode controls how traffic from outside the cluster to NodePorts and ClusterIPs is handled. In Tunnel mode, packet is tunneled from the ingress host to the host with the backing pod and back again. In DSR mode, traffic is tunneled to the host with the backing pod and then returned directly; this requires a network that allows direct return. Default: Tunnel (other options: DSR)' + description: |- + BPFExternalServiceMode controls how traffic from outside the cluster to NodePorts and ClusterIPs is handled. + In Tunnel mode, packet is tunneled from the ingress host to the host with the backing pod and back again. + In DSR mode, traffic is tunneled to the host with the backing pod and then returned directly; + this requires a network that allows direct return. + Default: Tunnel (other options: DSR) type: string bpfKubeProxyIptablesCleanupEnabled: - description: BPFKubeProxyIptablesCleanupEnabled controls whether Felix will clean up the iptables rules created by the Kubernetes kube-proxy; should only be enabled if kube-proxy is not running. + description: |- + BPFKubeProxyIptablesCleanupEnabled controls whether Felix will clean up the iptables rules + created by the Kubernetes kube-proxy; should only be enabled if kube-proxy is not running. type: boolean bpfLogLevel: - description: 'BPFLogLevel controls the log level used by the BPF programs. The logs are emitted to the BPF trace pipe, accessible with the command tc exec BPF debug. Default: Off (other options: Info, Debug)' + description: |- + BPFLogLevel controls the log level used by the BPF programs. The logs are emitted + to the BPF trace pipe, accessible with the command tc exec BPF debug. + Default: Off (other options: Info, Debug) type: string chainInsertMode: - description: 'ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or appends to the bottom. Leaving the default option is safest to prevent accidentally breaking connectivity. Default: ''insert'' (other options: ''append'')' + description: |- + ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or + appends to the bottom. Leaving the default option is safest to prevent accidentally + breaking connectivity. Default: 'insert' (other options: 'append') type: string cpuRequest: anyOf: @@ -3440,19 +4130,41 @@ spec: description: CrossSubnet is deprecated as of kOps 1.22 and has no effect type: boolean encapsulationMode: - description: 'EncapsulationMode specifies the network packet encapsulation protocol for Calico to use, employing such encapsulation at the necessary scope per the related CrossSubnet field. In "ipip" mode, Calico will use IP-in-IP encapsulation as needed. In "vxlan" mode, Calico will encapsulate packets as needed using the VXLAN scheme. Options: ipip (default) or vxlan' + description: |- + EncapsulationMode specifies the network packet encapsulation protocol for Calico to use, + employing such encapsulation at the necessary scope per the related CrossSubnet field. In + "ipip" mode, Calico will use IP-in-IP encapsulation as needed. In "vxlan" mode, Calico will + encapsulate packets as needed using the VXLAN scheme. + Options: ipip (default) or vxlan type: string ipipMode: - description: 'IPIPMode determines when to use IP-in-IP encapsulation for the default Calico IPv4 pool. It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_IPIP environment variable. EncapsulationMode must be set to "ipip". Options: "CrossSubnet", "Always", or "Never". Default: "CrossSubnet" if EncapsulationMode is "ipip", "Never" otherwise.' + description: |- + IPIPMode determines when to use IP-in-IP encapsulation for the default Calico IPv4 pool. + It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_IPIP + environment variable. EncapsulationMode must be set to "ipip". + Options: "CrossSubnet", "Always", or "Never". + Default: "CrossSubnet" if EncapsulationMode is "ipip", "Never" otherwise. type: string iptablesBackend: - description: 'IptablesBackend controls which variant of iptables binary Felix uses Default: Auto (other options: Legacy, NFT)' + description: |- + IptablesBackend controls which variant of iptables binary Felix uses + Default: Auto (other options: Legacy, NFT) type: string ipv4AutoDetectionMethod: - description: 'IPv4AutoDetectionMethod configures how Calico chooses the IP address used to route between nodes. This should be set when the host has multiple interfaces and it is important to select the interface used. Options: "first-found" (default), "can-reach=DESTINATION", "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX"' + description: |- + IPv4AutoDetectionMethod configures how Calico chooses the IP address used to route + between nodes. This should be set when the host has multiple interfaces + and it is important to select the interface used. + Options: "first-found" (default), "can-reach=DESTINATION", + "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX" type: string ipv6AutoDetectionMethod: - description: 'IPv6AutoDetectionMethod configures how Calico chooses the IP address used to route between nodes. This should be set when the host has multiple interfaces and it is important to select the interface used. Options: "first-found" (default), "can-reach=DESTINATION", "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX"' + description: |- + IPv6AutoDetectionMethod configures how Calico chooses the IP address used to route + between nodes. This should be set when the host has multiple interfaces + and it is important to select the interface used. + Options: "first-found" (default), "can-reach=DESTINATION", + "interface=INTERFACE-REGEX", or "skip-interface=INTERFACE-REGEX" type: string logSeverityScreen: description: 'LogSeverityScreen lets us set the desired log level. (Default: info)' @@ -3465,10 +4177,14 @@ spec: description: PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection type: boolean prometheusMetricsEnabled: - description: 'PrometheusMetricsEnabled can be set to enable the experimental Prometheus metrics server (default: false)' + description: |- + PrometheusMetricsEnabled can be set to enable the experimental Prometheus + metrics server (default: false) type: boolean prometheusMetricsPort: - description: 'PrometheusMetricsPort is the TCP port that the experimental Prometheus metrics server should bind to (default: 9091)' + description: |- + PrometheusMetricsPort is the TCP port that the experimental Prometheus + metrics server should bind to (default: 9091) format: int32 type: integer prometheusProcessMetricsEnabled: @@ -3478,10 +4194,14 @@ spec: description: Registry overrides the Calico container image registry. type: string typhaPrometheusMetricsEnabled: - description: 'TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha (default: false)' + description: |- + TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha + (default: false) type: boolean typhaPrometheusMetricsPort: - description: 'TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server should bind to (default: 9093)' + description: |- + TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server + should bind to (default: 9093) format: int32 type: integer typhaReplicas: @@ -3492,17 +4212,27 @@ spec: description: Version overrides the Calico container image tag. type: string vxlanMode: - description: 'VXLANMode determines when to use VXLAN encapsulation for the default Calico IPv4 pool. It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_VXLAN environment variable. EncapsulationMode must be set to "vxlan". Options: "CrossSubnet", "Always", or "Never". Default: "CrossSubnet" if EncapsulationMode is "vxlan", "Never" otherwise.' + description: |- + VXLANMode determines when to use VXLAN encapsulation for the default Calico IPv4 pool. + It is conveyed to the "calico-node" daemon container via the CALICO_IPV4POOL_VXLAN + environment variable. EncapsulationMode must be set to "vxlan". + Options: "CrossSubnet", "Always", or "Never". + Default: "CrossSubnet" if EncapsulationMode is "vxlan", "Never" otherwise. type: string wireguardEnabled: - description: 'WireguardEnabled enables WireGuard encryption for all on-the-wire pod-to-pod traffic (default: false)' + description: |- + WireguardEnabled enables WireGuard encryption for all on-the-wire pod-to-pod traffic + (default: false) type: boolean type: object canal: description: CanalNetworkingSpec declares that we want Canal networking properties: chainInsertMode: - description: 'ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or appends to the bottom. Leaving the default option is safest to prevent accidentally breaking connectivity. Default: ''insert'' (other options: ''append'')' + description: |- + ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or + appends to the bottom. Leaving the default option is safest to prevent accidentally + breaking connectivity. Default: 'insert' (other options: 'append') type: string cpuRequest: anyOf: @@ -3512,16 +4242,25 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true defaultEndpointToHostAction: - description: 'DefaultEndpointToHostAction allows users to configure the default behaviour for traffic between pod to host after calico rules have been processed. Default: ACCEPT (other options: DROP, RETURN)' + description: |- + DefaultEndpointToHostAction allows users to configure the default behaviour + for traffic between pod to host after calico rules have been processed. + Default: ACCEPT (other options: DROP, RETURN) type: string flanneldIptablesForwardRules: - description: 'FlanneldIptablesForwardRules configures Flannel to add the default ACCEPT traffic rules to the iptables FORWARD chain. (default: true)' + description: |- + FlanneldIptablesForwardRules configures Flannel to add the + default ACCEPT traffic rules to the iptables FORWARD chain. (default: true) type: boolean iptablesBackend: - description: 'IptablesBackend controls which variant of iptables binary Felix uses Default: Auto (other options: Legacy, NFT)' + description: |- + IptablesBackend controls which variant of iptables binary Felix uses + Default: Auto (other options: Legacy, NFT) type: string logSeveritySys: - description: 'LogSeveritySys the severity to set for logs which are sent to syslog Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE)' + description: |- + LogSeveritySys the severity to set for logs which are sent to syslog + Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE) type: string mtu: description: 'MTU to be set in the cni-network-config (default: 1500)' @@ -3531,20 +4270,28 @@ spec: description: PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection type: boolean prometheusMetricsEnabled: - description: 'PrometheusMetricsEnabled can be set to enable the experimental Prometheus metrics server (default: false)' + description: |- + PrometheusMetricsEnabled can be set to enable the experimental Prometheus + metrics server (default: false) type: boolean prometheusMetricsPort: - description: 'PrometheusMetricsPort is the TCP port that the experimental Prometheus metrics server should bind to (default: 9091)' + description: |- + PrometheusMetricsPort is the TCP port that the experimental Prometheus + metrics server should bind to (default: 9091) format: int32 type: integer prometheusProcessMetricsEnabled: description: PrometheusProcessMetricsEnabled enables Prometheus process metrics collection type: boolean typhaPrometheusMetricsEnabled: - description: 'TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha (default: false)' + description: |- + TyphaPrometheusMetricsEnabled enables Prometheus metrics collection from Typha + (default: false) type: boolean typhaPrometheusMetricsPort: - description: 'TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server should bind to (default: 9093)' + description: |- + TyphaPrometheusMetricsPort is the TCP port the typha Prometheus metrics server + should bind to (default: 9093) format: int32 type: integer typhaReplicas: @@ -3558,46 +4305,79 @@ spec: agentPodAnnotations: additionalProperties: type: string - description: 'AgentPodAnnotations makes possible to add additional annotations to cilium agent. Default: none' + description: |- + AgentPodAnnotations makes possible to add additional annotations to cilium agent. + Default: none type: object agentPrometheusPort: - description: AgentPrometheusPort is the port to listen to for Prometheus metrics. Defaults to 9090. + description: |- + AgentPrometheusPort is the port to listen to for Prometheus metrics. + Defaults to 9090. type: integer autoDirectNodeRoutes: - description: 'AutoDirectNodeRoutes adds automatic L2 routing between nodes. Default: false' + description: |- + AutoDirectNodeRoutes adds automatic L2 routing between nodes. + Default: false type: boolean bpfCTGlobalAnyMax: - description: 'BPFCTGlobalAnyMax is the maximum number of entries in the non-TCP CT table. Default: 262144' + description: |- + BPFCTGlobalAnyMax is the maximum number of entries in the non-TCP CT table. + Default: 262144 type: integer bpfCTGlobalTCPMax: - description: 'BPFCTGlobalTCPMax is the maximum number of entries in the TCP CT table. Default: 524288' + description: |- + BPFCTGlobalTCPMax is the maximum number of entries in the TCP CT table. + Default: 524288 type: integer bpfLBAlgorithm: - description: 'BPFLBAlgorithm is the load balancing algorithm ("random", "maglev"). Default: random' + description: |- + BPFLBAlgorithm is the load balancing algorithm ("random", "maglev"). + Default: random type: string bpfLBMaglevTableSize: - description: 'BPFLBMaglevTableSize is the per service backend table size when going with Maglev (parameter M). Default: 16381' + description: |- + BPFLBMaglevTableSize is the per service backend table size when going with Maglev (parameter M). + Default: 16381 type: string bpfLBMapMax: - description: 'BPFLBMapMax is the maximum number of entries in bpf lb service, backend and affinity maps. Default: 65536' + description: |- + BPFLBMapMax is the maximum number of entries in bpf lb service, backend and affinity maps. + Default: 65536 type: integer bpfLBSockHostNSOnly: - description: 'BPFLBSockHostNSOnly enables skipping socket LB for services when inside a pod namespace, in favor of service LB at the pod interface. Socket LB is still used when in the host namespace. Required by service mesh (e.g., Istio, Linkerd). Default: false' + description: |- + BPFLBSockHostNSOnly enables skipping socket LB for services when inside a pod namespace, + in favor of service LB at the pod interface. Socket LB is still used when in the host namespace. + Required by service mesh (e.g., Istio, Linkerd). + Default: false type: boolean bpfNATGlobalMax: - description: 'BPFNATGlobalMax is the the maximum number of entries in the BPF NAT table. Default: 524288' + description: |- + BPFNATGlobalMax is the the maximum number of entries in the BPF NAT table. + Default: 524288 type: integer bpfNeighGlobalMax: - description: 'BPFNeighGlobalMax is the the maximum number of entries in the BPF Neighbor table. Default: 524288' + description: |- + BPFNeighGlobalMax is the the maximum number of entries in the BPF Neighbor table. + Default: 524288 type: integer bpfPolicyMapMax: - description: 'BPFPolicyMapMax is the maximum number of entries in endpoint policy map. Default: 16384' + description: |- + BPFPolicyMapMax is the maximum number of entries in endpoint policy map. + Default: 16384 type: integer chainingMode: - description: 'ChainingMode allows using Cilium in combination with other CNI plugins. With Cilium CNI chaining, the base network connectivity and IP address management is managed by the non-Cilium CNI plugin, but Cilium attaches eBPF programs to the network devices created by the non-Cilium plugin to provide L3/L4 network visibility, policy enforcement and other advanced features. Default: none' + description: |- + ChainingMode allows using Cilium in combination with other CNI plugins. + With Cilium CNI chaining, the base network connectivity and IP address management is managed + by the non-Cilium CNI plugin, but Cilium attaches eBPF programs to the network devices created + by the non-Cilium plugin to provide L3/L4 network visibility, policy enforcement and other advanced features. + Default: none type: string clusterID: - description: ClusterID is the ID of the cluster. It is only relevant when building a mesh of clusters. Must be a number between 1 and 255. + description: |- + ClusterID is the ID of the cluster. It is only relevant when building a mesh of clusters. + Must be a number between 1 and 255. type: integer clusterName: description: ClusterName is the name of the cluster. It is only relevant when building a mesh of clusters. @@ -3616,46 +4396,77 @@ spec: description: DisableCNPStatusUpdates determines if CNP NodeStatus updates will be sent to the Kubernetes api-server. type: boolean disableEndpointCRD: - description: 'DisableEndpointCRD disables usage of CiliumEndpoint CRD. Default: false' + description: |- + DisableEndpointCRD disables usage of CiliumEndpoint CRD. + Default: false type: boolean enableBPFMasquerade: - description: 'EnableBPFMasquerade enables masquerading packets from endpoints leaving the host with BPF instead of iptables. Default: false' + description: |- + EnableBPFMasquerade enables masquerading packets from endpoints leaving the host with BPF instead of iptables. + Default: false type: boolean enableEncryption: - description: 'EnableEncryption enables Cilium Encryption. Default: false' + description: |- + EnableEncryption enables Cilium Encryption. + Default: false type: boolean enableEndpointHealthChecking: - description: 'EnableEndpointHealthChecking enables connectivity health checking between virtual endpoints. Default: true' + description: |- + EnableEndpointHealthChecking enables connectivity health checking between virtual endpoints. + Default: true type: boolean enableHostReachableServices: - description: 'EnableHostReachableServices configures Cilium to enable services to be reached from the host namespace in addition to pod namespaces. https://docs.cilium.io/en/v1.9/gettingstarted/host-services/ Default: false' + description: |- + EnableHostReachableServices configures Cilium to enable services to be + reached from the host namespace in addition to pod namespaces. + https://docs.cilium.io/en/v1.9/gettingstarted/host-services/ + Default: false type: boolean enableL7Proxy: - description: 'EnableL7Proxy enables L7 proxy for L7 policy enforcement. Default: true' + description: |- + EnableL7Proxy enables L7 proxy for L7 policy enforcement. + Default: true type: boolean enableNodePort: - description: 'EnableNodePort replaces kube-proxy with Cilium''s BPF implementation. Requires spec.kubeProxy.enabled be set to false. Default: false' + description: |- + EnableNodePort replaces kube-proxy with Cilium's BPF implementation. + Requires spec.kubeProxy.enabled be set to false. + Default: false type: boolean enablePolicy: - description: 'EnablePolicy specifies the policy enforcement mode. "default": Follows Kubernetes policy enforcement. "always": Cilium restricts all traffic if no policy is in place. "never": Cilium allows all traffic regardless of policies in place. If unspecified, "default" policy mode will be used.' + description: |- + EnablePolicy specifies the policy enforcement mode. + "default": Follows Kubernetes policy enforcement. + "always": Cilium restricts all traffic if no policy is in place. + "never": Cilium allows all traffic regardless of policies in place. + If unspecified, "default" policy mode will be used. type: string enablePrometheusMetrics: description: EnablePrometheusMetrics enables the Cilium "/metrics" endpoint for both the agent and the operator. type: boolean enableRemoteNodeIdentity: - description: 'EnableRemoteNodeIdentity enables the remote-node-identity. Default: true' + description: |- + EnableRemoteNodeIdentity enables the remote-node-identity. + Default: true type: boolean enableServiceTopology: description: EnableServiceTopology determine if cilium should use topology aware hints. type: boolean enableUnreachableRoutes: - description: 'EnableUnreachableRoutes enables unreachable routes on pod deletion. Default: false' + description: |- + EnableUnreachableRoutes enables unreachable routes on pod deletion. + Default: false type: boolean encryptionType: - description: 'EncryptionType specifies Cilium Encryption method ("ipsec", "wireguard"). Default: ipsec' + description: |- + EncryptionType specifies Cilium Encryption method ("ipsec", "wireguard"). + Default: ipsec type: string etcdManaged: - description: 'EtcdManagd installs an additional etcd cluster that is used for Cilium state change. The cluster is operated by cilium-etcd-operator. Default: false' + description: |- + EtcdManagd installs an additional etcd cluster that is used for Cilium state change. + The cluster is operated by cilium-etcd-operator. + Default: false type: boolean hubble: description: Hubble configures the Hubble service on the Cilium agent. @@ -3664,25 +4475,42 @@ spec: description: Enabled decides if Hubble is enabled on the agent or not type: boolean metrics: - description: Metrics is a list of metrics to collect. If empty or null, metrics are disabled. See https://docs.cilium.io/en/stable/configuration/metrics/#hubble-exported-metrics + description: |- + Metrics is a list of metrics to collect. If empty or null, metrics are disabled. + See https://docs.cilium.io/en/stable/configuration/metrics/#hubble-exported-metrics items: type: string type: array type: object identityAllocationMode: - description: 'IdentityAllocationMode specifies in which backend identities are stored ("crd", "kvstore"). Default: crd' + description: |- + IdentityAllocationMode specifies in which backend identities are stored ("crd", "kvstore"). + Default: crd type: string identityChangeGracePeriod: - description: 'IdentityChangeGracePeriod specifies the duration to wait before using a changed identity. Default: 5s' + description: |- + IdentityChangeGracePeriod specifies the duration to wait before using a changed identity. + Default: 5s type: string installIptablesRules: - description: 'InstallIptablesRules enables installing the base IPTables rules used for masquerading and kube-proxy. Default: true' + description: |- + InstallIptablesRules enables installing the base IPTables rules used for masquerading and kube-proxy. + Default: true type: boolean ipam: - description: 'IPAM specifies the IP address allocation mode to use. Possible values are "crd" and "eni". "eni" will use AWS native networking for pods. Eni requires masquerade to be set to false. "crd" will use CRDs for controlling IP address management. "hostscope" will use hostscope IPAM mode. "kubernetes" will use addersing based on node pod CIDR. Default: "kubernetes".' + description: |- + IPAM specifies the IP address allocation mode to use. + Possible values are "crd" and "eni". + "eni" will use AWS native networking for pods. Eni requires masquerade to be set to false. + "crd" will use CRDs for controlling IP address management. + "hostscope" will use hostscope IPAM mode. + "kubernetes" will use addersing based on node pod CIDR. + Default: "kubernetes". type: string masquerade: - description: 'Masquerade enables masquerading IPv4 traffic to external destinations behind the node IP. Default: false if IPAM is "eni" or in IPv6 mode, otherwise true' + description: |- + Masquerade enables masquerading IPv4 traffic to external destinations behind the node IP. + Default: false if IPAM is "eni" or in IPv6 mode, otherwise true type: boolean memoryRequest: anyOf: @@ -3697,40 +4525,61 @@ spec: type: string type: array monitorAggregation: - description: 'MonitorAggregation sets the level of packet monitoring. Possible values are "low", "medium", or "maximum". Default: medium' + description: |- + MonitorAggregation sets the level of packet monitoring. Possible values are "low", "medium", or "maximum". + Default: medium type: string nodeEncryption: - description: 'NodeEncryption enables encryption for pure node to node traffic. Default: false' + description: |- + NodeEncryption enables encryption for pure node to node traffic. + Default: false type: boolean operatorPodAnnotations: additionalProperties: type: string - description: 'OperatorPodAnnotations makes possible to add additional annotations to cilium operator. Default: none' + description: |- + OperatorPodAnnotations makes possible to add additional annotations to cilium operator. + Default: none type: object preallocateBPFMaps: - description: 'PreallocateBPFMaps reduces the per-packet latency at the expense of up-front memory allocation. Default: true' + description: |- + PreallocateBPFMaps reduces the per-packet latency at the expense of up-front memory allocation. + Default: true type: boolean registry: description: Registry overrides the default Cilium container registry (quay.io) type: string sidecarIstioProxyImage: - description: 'SidecarIstioProxyImage is the regular expression matching compatible Istio sidecar istio-proxy container image names. Default: cilium/istio_proxy' + description: |- + SidecarIstioProxyImage is the regular expression matching compatible Istio sidecar istio-proxy + container image names. + Default: cilium/istio_proxy type: string toFQDNsDNSRejectResponseCode: - description: 'ToFQDNsDNSRejectResponseCode sets the DNS response code for rejecting DNS requests. Possible values are "nameError" or "refused". Default: refused' + description: |- + ToFQDNsDNSRejectResponseCode sets the DNS response code for rejecting DNS requests. + Possible values are "nameError" or "refused". + Default: refused type: string toFQDNsEnablePoller: - description: 'ToFQDNsEnablePoller replaces the DNS proxy-based implementation of FQDN policies with the less powerful legacy implementation. Default: false' + description: |- + ToFQDNsEnablePoller replaces the DNS proxy-based implementation of FQDN policies + with the less powerful legacy implementation. + Default: false type: boolean tunnel: - description: 'Tunnel specifies the Cilium tunnelling mode. Possible values are "vxlan", "geneve", or "disabled". Default: vxlan' + description: |- + Tunnel specifies the Cilium tunnelling mode. Possible values are "vxlan", "geneve", or "disabled". + Default: vxlan type: string version: description: Version is the version of the Cilium agent and the Cilium Operator. type: string type: object classic: - description: ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes. Support been removed since Kubernetes 1.4. + description: |- + ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes. + Support been removed since Kubernetes 1.4. type: object cni: description: CNINetworkingSpec is the specification for networking that is implemented by a user-provided Daemonset, which uses the CNI kubelet networking plugin. @@ -3769,7 +4618,14 @@ spec: description: GCPNetworkingSpec is the specification of GCP's native networking mode, using IP aliases. type: object isolateControlPlane: - description: 'IsolateControlPlane determines whether we should lock down masters so that they are not on the pod network. true is the kube-up behaviour, but it is very surprising: it means that daemonsets only work on the master if they have hostNetwork=true. false is now the default, and it will: * give the master a normal PodCIDR * run kube-proxy on the master * enable debugging handlers on the master, so kubectl logs works' + description: |- + IsolateControlPlane determines whether we should lock down masters so that they are not on the pod network. + true is the kube-up behaviour, but it is very surprising: it means that daemonsets only work on the master + if they have hostNetwork=true. + false is now the default, and it will: + * give the master a normal PodCIDR + * run kube-proxy on the master + * enable debugging handlers on the master, so kubectl logs works type: boolean kopeio: description: KopeioNetworkingSpec declares that we want Kopeio networking @@ -3781,7 +4637,9 @@ spec: description: KubenetNetworkingSpec is the specification for kubenet networking, largely integrated but intended to replace classic type: object lyftvpc: - description: LyftVPCNetworkingSpec declares that we want to use the cni-ipvlan-vpc-k8s CNI networking. Lyft VPC is deprecated as of kOps 1.22 and removed as of kOps 1.23. + description: |- + LyftVPCNetworkingSpec declares that we want to use the cni-ipvlan-vpc-k8s CNI networking. + Lyft VPC is deprecated as of kOps 1.22 and removed as of kOps 1.23. properties: subnetTags: additionalProperties: @@ -3789,19 +4647,28 @@ spec: type: object type: object networkCIDR: - description: NetworkCIDR is the primary IPv4 CIDR used for the cloud provider's network. It is not required on GCE. On DO, it maps to the VPC CIDR. + description: |- + NetworkCIDR is the primary IPv4 CIDR used for the cloud provider's network. + It is not required on GCE. + On DO, it maps to the VPC CIDR. type: string networkID: - description: NetworkID is the cloud provider's identifier of the existing network (for example, AWS VPC) the cluster should use. If not specified, kOps will create a new network. + description: |- + NetworkID is the cloud provider's identifier of the existing network (for example, AWS VPC) the cluster should use. + If not specified, kOps will create a new network. type: string nonMasqueradeCIDR: - description: NonMasqueradeCIDR is the CIDR for the internal k8s network (on which pods & services live) It cannot overlap ServiceClusterIPRange + description: |- + NonMasqueradeCIDR is the CIDR for the internal k8s network (on which pods & services live) + It cannot overlap ServiceClusterIPRange type: string podCIDR: description: PodCIDR is the CIDR from which we allocate IPs for pods type: string romana: - description: RomanaNetworkingSpec declares that we want Romana networking Romana is deprecated as of kOps 1.18 and removed as of kOps 1.19. + description: |- + RomanaNetworkingSpec declares that we want Romana networking + Romana is deprecated as of kOps 1.18 and removed as of kOps 1.19. properties: daemonServiceIP: description: DaemonServiceIP is the Kubernetes Service IP for the romana-daemon pod @@ -3816,7 +4683,9 @@ spec: subnets: description: Subnets are the subnets that the cluster can use. items: - description: 'ClusterSubnetSpec defines a subnet TODO: move to networking.go' + description: |- + ClusterSubnetSpec defines a subnet + TODO: move to networking.go properties: additionalRoutes: description: AdditionalRoutes to attach to the subnet's route table @@ -3863,10 +4732,18 @@ spec: description: 'TagSubnets controls if tags are added to subnets to enable use by load balancers (AWS only). Default: true.' type: boolean topology: - description: Topology defines the type of network topology to use on the cluster - default public This is heavily weighted towards AWS for the time being, but should also be agnostic enough to port out to GCE later if needed + description: |- + Topology defines the type of network topology to use on the cluster - default public + This is heavily weighted towards AWS for the time being, but should also be agnostic enough + to port out to GCE later if needed properties: bastion: - description: Bastion provide an external facing point of entry into a network containing private network instances. This host can provide a single point of fortification or audit and can be started and stopped to enable or disable inbound SSH communication from the Internet. Some call the bastion the "jump server". + description: |- + Bastion provide an external facing point of entry into a network + containing private network instances. This host can provide a single + point of fortification or audit and can be started and stopped to enable + or disable inbound SSH communication from the Internet. Some call the bastion + the "jump server". properties: loadBalancer: description: LoadBalancer contains settings for the load balancer fronting bastion instances. @@ -4008,18 +4885,24 @@ spec: anyOf: - type: integer - type: string - description: 'CPULimit of NodeProblemDetector container. Default: 10m' + description: |- + CPULimit of NodeProblemDetector container. + Default: 10m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true cpuRequest: anyOf: - type: integer - type: string - description: 'CPURequest of NodeProblemDetector container. Default: 10m' + description: |- + CPURequest of NodeProblemDetector container. + Default: 10m pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true enabled: - description: 'Enabled enables the NodeProblemDetector. Default: false' + description: |- + Enabled enables the NodeProblemDetector. + Default: false type: boolean image: description: Image is the NodeProblemDetector docker container used. @@ -4028,14 +4911,18 @@ spec: anyOf: - type: integer - type: string - description: 'MemoryLimit of NodeProblemDetector container. Default: 80Mi' + description: |- + MemoryLimit of NodeProblemDetector container. + Default: 80Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true memoryRequest: anyOf: - type: integer - type: string - description: 'MemoryRequest of NodeProblemDetector container. Default: 80Mi' + description: |- + MemoryRequest of NodeProblemDetector container. + Default: 80Mi pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -4043,26 +4930,51 @@ spec: description: NTPConfig is the configuration for NTP. properties: managed: - description: Managed controls if the NTP configuration is managed by kOps. The NTP configuration task is skipped if this is set to false. + description: |- + Managed controls if the NTP configuration is managed by kOps. + The NTP configuration task is skipped if this is set to false. type: boolean type: object rollingUpdate: description: RollingUpdate defines the default rolling-update settings for instance groups. properties: drainAndTerminate: - description: DrainAndTerminate enables draining and terminating nodes during rolling updates. Defaults to true. + description: |- + DrainAndTerminate enables draining and terminating nodes during rolling updates. + Defaults to true. type: boolean maxSurge: anyOf: - type: integer - type: string - description: 'MaxSurge is the maximum number of extra nodes that can be created during the update. The value can be an absolute number (for example 5) or a percentage of desired machines (for example 10%). The absolute number is calculated from a percentage by rounding up. Has no effect on instance groups with role "Master". Defaults to 1 on AWS, 0 otherwise. Example: when this is set to 30%, the InstanceGroup can be scaled up immediately when the rolling update starts, such that the total number of old and new nodes do not exceed 130% of desired nodes.' + description: |- + MaxSurge is the maximum number of extra nodes that can be created + during the update. + The value can be an absolute number (for example 5) or a percentage of + desired machines (for example 10%). + The absolute number is calculated from a percentage by rounding up. + Has no effect on instance groups with role "Master". + Defaults to 1 on AWS, 0 otherwise. + Example: when this is set to 30%, the InstanceGroup can be scaled + up immediately when the rolling update starts, such that the total + number of old and new nodes do not exceed 130% of desired + nodes. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'MaxUnavailable is the maximum number of nodes that can be unavailable during the update. The value can be an absolute number (for example 5) or a percentage of desired nodes (for example 10%). The absolute number is calculated from a percentage by rounding down. Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. Example: when this is set to 30%, the InstanceGroup can be scaled down to 70% of desired nodes immediately when the rolling update starts. Once new nodes are ready, more old nodes can be drained, ensuring that the total number of nodes available at all times during the update is at least 70% of desired nodes.' + description: |- + MaxUnavailable is the maximum number of nodes that can be unavailable during the update. + The value can be an absolute number (for example 5) or a percentage of desired + nodes (for example 10%). + The absolute number is calculated from a percentage by rounding down. + Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. + Example: when this is set to 30%, the InstanceGroup can be scaled + down to 70% of desired nodes immediately when the rolling update + starts. Once new nodes are ready, more old nodes can be drained, + ensuring that the total number of nodes available at all times + during the update is at least 70% of desired nodes. x-kubernetes-int-or-string: true type: object serviceAccountIssuerDiscovery: @@ -4099,7 +5011,10 @@ spec: description: SSHKeyName specifies a preexisting SSH key to use type: string sysctlParameters: - description: SysctlParameters will configure kernel parameters using sysctl(8). When specified, each parameter must follow the form variable=value, the way it would appear in sysctl.conf. + description: |- + SysctlParameters will configure kernel parameters using sysctl(8). When + specified, each parameter must follow the form variable=value, the way + it would appear in sysctl.conf. items: type: string type: array @@ -4122,10 +5037,16 @@ spec: type: object type: object updatePolicy: - description: 'UpdatePolicy determines the policy for applying upgrades automatically. Valid values: ''automatic'' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) ''external'': do not apply updates automatically; they are applied manually or by an external system' + description: |- + UpdatePolicy determines the policy for applying upgrades automatically. + Valid values: + 'automatic' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) + 'external': do not apply updates automatically; they are applied manually or by an external system type: string useHostCertificates: - description: UseHostCertificates will mount /etc/ssl/certs to inside needed containers. This is needed if some APIs do have self-signed certs + description: |- + UseHostCertificates will mount /etc/ssl/certs to inside needed containers. + This is needed if some APIs do have self-signed certs type: boolean required: - configStore @@ -4137,22 +5058,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -4183,23 +5122,37 @@ spec: description: Condition defines an observation of a Cluster API resource operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -4208,7 +5161,9 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. + description: |- + ErrorMessage indicates that there is a terminal problem reconciling the + state, and will be set to a descriptive error message. type: string paused: default: false @@ -4216,7 +5171,9 @@ spec: type: boolean ready: default: false - description: Ready denotes that the API Server is ready to receive requests. + description: |- + Ready denotes that the API Server is ready to + receive requests. type: boolean secrets: description: Secrets are the list of custom secrets created with the controller diff --git a/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopsmachinepools.infrastructure.cluster.x-k8s.io.yaml b/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopsmachinepools.infrastructure.cluster.x-k8s.io.yaml index d3483c3..d62c738 100644 --- a/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopsmachinepools.infrastructure.cluster.x-k8s.io.yaml +++ b/config/crd/output/apiextensions.k8s.io_v1_customresourcedefinition_kopsmachinepools.infrastructure.cluster.x-k8s.io.yaml @@ -2,8 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 labels: cluster.x-k8s.io/v1beta1: v1alpha1 name: kopsmachinepools.infrastructure.cluster.x-k8s.io @@ -28,10 +27,19 @@ spec: description: KopsMachinePool is the Schema for the kopsmachinepools API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -48,10 +56,19 @@ spec: description: Provisioner is the Schema for the Provisioners API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: properties: @@ -73,7 +90,11 @@ spec: type: string type: object spec: - description: ProvisionerSpec is the top level provisioner specification. Provisioners launch nodes in response to pods that are unschedulable. A single provisioner is capable of managing a diverse set of nodes. Node properties are determined from a combination of provisioner and pod scheduling constraints. + description: |- + ProvisionerSpec is the top level provisioner specification. Provisioners + launch nodes in response to pods that are unschedulable. A single provisioner + is capable of managing a diverse set of nodes. Node properties are determined + from a combination of provisioner and pod scheduling constraints. properties: annotations: additionalProperties: @@ -91,7 +112,9 @@ spec: description: KubeletConfiguration are options passed to the kubelet when provisioning nodes properties: clusterDNS: - description: clusterDNS is a list of IP addresses for the cluster DNS server. Note that not all providers may use all addresses. + description: |- + clusterDNS is a list of IP addresses for the cluster DNS server. + Note that not all providers may use all addresses. items: type: string type: array @@ -107,7 +130,9 @@ spec: description: EvictionHard is the map of signal names to quantities that define hard eviction thresholds type: object evictionMaxPodGracePeriod: - description: EvictionMaxPodGracePeriod is the maximum allowed grace period (in seconds) to use when terminating pods in response to soft eviction thresholds being met. + description: |- + EvictionMaxPodGracePeriod is the maximum allowed grace period (in seconds) to use when terminating pods in + response to soft eviction thresholds being met. format: int32 type: integer evictionSoft: @@ -121,13 +146,22 @@ spec: description: EvictionSoftGracePeriod is the map of signal names to quantities that define grace periods for each eviction signal type: object imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of disk usage after which image garbage collection is always run. The percent is calculated by dividing this field value by 100, so this field must be between 0 and 100, inclusive. When specified, the value must be greater than ImageGCLowThresholdPercent. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which image + garbage collection is always run. The percent is calculated by dividing this + field value by 100, so this field must be between 0 and 100, inclusive. + When specified, the value must be greater than ImageGCLowThresholdPercent. format: int32 maximum: 100 minimum: 0 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. The percent is calculated by dividing this field value by 100, so the field value must be between 0 and 100, inclusive. When specified, the value must be less than imageGCHighThresholdPercent + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which image + garbage collection is never run. Lowest disk usage to garbage collect to. + The percent is calculated by dividing this field value by 100, + so the field value must be between 0 and 100, inclusive. + When specified, the value must be less than imageGCHighThresholdPercent format: int32 maximum: 100 minimum: 0 @@ -142,12 +176,17 @@ spec: description: KubeReserved contains resources reserved for Kubernetes system components. type: object maxPods: - description: MaxPods is an override for the maximum number of pods that can run on a worker node instance. + description: |- + MaxPods is an override for the maximum number of pods that can run on + a worker node instance. format: int32 minimum: 0 type: integer podsPerCore: - description: PodsPerCore is an override for the number of pods that can run on a worker node instance based on the number of cpu cores. This value cannot exceed MaxPods, so, if MaxPods is a lower value, that value will be used. + description: |- + PodsPerCore is an override for the number of pods that can run on a worker node + instance based on the number of cpu cores. This value cannot exceed MaxPods, so, if + MaxPods is a lower value, that value will be used. format: int32 minimum: 0 type: integer @@ -184,7 +223,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true providerRef: - description: ProviderRef is a reference to a dedicated CRD for the chosen provider, that holds additional configuration options + description: |- + ProviderRef is a reference to a dedicated CRD for the chosen provider, that holds + additional configuration options properties: apiVersion: description: API version of the referent @@ -201,16 +242,25 @@ spec: requirements: description: Requirements are layered with Labels and applied to every node. items: - description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: |- + A node selector requirement is a selector that contains values, a key, and an operator + that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: - description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -220,18 +270,29 @@ spec: type: object type: array startupTaints: - description: StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by daemonsets to allow initialization and enforce startup ordering. StartupTaints are ignored for provisioning purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them. + description: |- + StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically + within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by + daemonsets to allow initialization and enforce startup ordering. StartupTaints are ignored for provisioning + purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them. items: - description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -243,18 +304,29 @@ spec: type: object type: array taints: - description: Taints will be applied to every node launched by the Provisioner. If specified, the provisioner will not provision nodes for pods that do not have matching tolerations. Additional taints will be created that match pod tolerations on a per-node basis. + description: |- + Taints will be applied to every node launched by the Provisioner. If + specified, the provisioner will not provision nodes for pods that do not + have matching tolerations. Additional taints will be created that match + pod tolerations on a per-node basis. items: - description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -266,15 +338,33 @@ spec: type: object type: array ttlSecondsAfterEmpty: - description: "TTLSecondsAfterEmpty is the number of seconds the controller will wait before attempting to delete a node, measured from when the node is detected to be empty. A Node is considered to be empty when it does not have pods scheduled to it, excluding daemonsets. \n Termination due to no utilization is disabled if this field is not set." + description: |- + TTLSecondsAfterEmpty is the number of seconds the controller will wait + before attempting to delete a node, measured from when the node is + detected to be empty. A Node is considered to be empty when it does not + have pods scheduled to it, excluding daemonsets. + + + Termination due to no utilization is disabled if this field is not set. format: int64 type: integer ttlSecondsUntilExpired: - description: "TTLSecondsUntilExpired is the number of seconds the controller will wait before terminating a node, measured from when the node is created. This is useful to implement features like eventually consistent node upgrade, memory leak protection, and disruption testing. \n Termination due to expiration is disabled if this field is not set." + description: |- + TTLSecondsUntilExpired is the number of seconds the controller will wait + before terminating a node, measured from when the node is created. This + is useful to implement features like eventually consistent node upgrade, + memory leak protection, and disruption testing. + + + Termination due to expiration is disabled if this field is not set. format: int64 type: integer weight: - description: Weight is the priority given to the provisioner during scheduling. A higher numerical weight indicates that this provisioner will be ordered ahead of other provisioners with lower weights. A provisioner with no weight will be treated as if it is a provisioner with a weight of 0. + description: |- + Weight is the priority given to the provisioner during scheduling. A higher + numerical weight indicates that this provisioner will be ordered + ahead of other provisioners with lower weights. A provisioner with no weight + will be treated as if it is a provisioner with a weight of 0. format: int32 maximum: 100 minimum: 1 @@ -284,12 +374,19 @@ spec: description: ProvisionerStatus defines the observed state of Provisioner properties: conditions: - description: Conditions is the set of conditions required for this provisioner to scale its target, and indicates whether or not those conditions are met. + description: |- + Conditions is the set of conditions required for this provisioner to scale + its target, and indicates whether or not those conditions are met. items: - description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties' + description: |- + Condition defines a readiness condition for a Knative resource. + See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties properties: lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant). + description: |- + LastTransitionTime is the last time the condition transitioned from one status to another. + We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic + differences (all other things held constant). type: string message: description: A human readable message indicating details about the transition. @@ -298,7 +395,9 @@ spec: description: The reason for the condition's last transition. type: string severity: - description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error. + description: |- + Severity with which to treat failures of this type of condition. + When this is not specified, it defaults to Error. type: string status: description: Status of the condition, one of True, False, Unknown. @@ -312,7 +411,9 @@ spec: type: object type: array lastScaleTime: - description: LastScaleTime is the last time the Provisioner scaled the number of nodes + description: |- + LastScaleTime is the last time the Provisioner scaled the number + of nodes format: date-time type: string resources: @@ -394,10 +495,14 @@ spec: type: boolean type: object enabled: - description: Enabled determines if kOps will install the Nvidia GPU runtime and drivers. They will only be installed on intances that has an Nvidia GPU. + description: |- + Enabled determines if kOps will install the Nvidia GPU runtime and drivers. + They will only be installed on intances that has an Nvidia GPU. type: boolean package: - description: Package is the name of the nvidia driver package that will be installed. Default is "nvidia-headless-510-server". + description: |- + Package is the name of the nvidia driver package that will be installed. + Default is "nvidia-headless-510-server". type: string type: object packages: @@ -510,7 +615,11 @@ spec: type: object type: array gcpProvisioningModel: - description: 'GCPProvisioningModel: Specifies the provisioning model of the GCP instance. Valid values: ''STANDARD'': (default) standard provisioning with user controlled run time, no discounts ''SPOT'': heavily discounted, no guaranteed run time.' + description: |- + GCPProvisioningModel: Specifies the provisioning model of the GCP instance. + Valid values: + 'STANDARD': (default) standard provisioning with user controlled run time, no discounts + 'SPOT': heavily discounted, no guaranteed run time. type: string guestAccelerators: description: GuestAccelerators configures additional accelerators @@ -572,7 +681,10 @@ spec: type: string type: array useRawManifest: - description: UseRawManifest indicates that the contents of Manifest should be used as the contents of the systemd unit, unmodified. Before and Requires are ignored when used together with this value (and validation shouldn't allow them to be set) + description: |- + UseRawManifest indicates that the contents of Manifest should be used as the contents + of the systemd unit, unmodified. Before and Requires are ignored when used together + with this value (and validation shouldn't allow them to be set) type: boolean type: object type: array @@ -580,24 +692,32 @@ spec: description: IAMProfileSpec defines the identity of the cloud group IAM profile (AWS only). properties: profile: - description: Profile is the AWS IAM Profile to attach to instances in this instance group. Specify the ARN for the IAM instance profile. (AWS only) + description: |- + Profile is the AWS IAM Profile to attach to instances in this instance group. + Specify the ARN for the IAM instance profile. (AWS only) type: string type: object image: description: Image is the instance (ami etc) we should use type: string instanceInterruptionBehavior: - description: InstanceInterruptionBehavior defines if a spot instance should be terminated, hibernated, or stopped after interruption + description: |- + InstanceInterruptionBehavior defines if a spot instance should be terminated, hibernated, + or stopped after interruption type: string instanceMetadata: description: InstanceMetadata defines the EC2 instance metadata service options (AWS Only) properties: httpPutResponseHopLimit: - description: HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. The default value is 1. + description: |- + HTTPPutResponseHopLimit is the desired HTTP PUT response hop limit for instance metadata requests. + The larger the number, the further instance metadata requests can travel. The default value is 1. format: int64 type: integer httpTokens: - description: HTTPTokens is the state of token usage for the instance metadata requests. If the parameter is not specified in the request, the default state is "required". + description: |- + HTTPTokens is the state of token usage for the instance metadata requests. + If the parameter is not specified in the request, the default state is "required". type: string type: object instanceProtection: @@ -718,7 +838,9 @@ spec: description: ExperimentalAllocatableIgnoreEviction enables ignoring Hard Eviction Thresholds while calculating Node Allocatable type: boolean experimentalAllowedUnsafeSysctls: - description: ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 + description: |- + ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls + Was promoted to beta and renamed. https://github.com/kubernetes/kubernetes/pull/63717 items: type: string type: array @@ -731,7 +853,16 @@ spec: description: FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features. type: object hairpinMode: - description: 'How should the kubelet configure the container bridge for hairpin packets. Setting this flag allows endpoints in a Service to loadbalance back to themselves if they should try to access their own Service. Values: "promiscuous-bridge": make the container bridge promiscuous. "hairpin-veth": set the hairpin flag on container veth interfaces. "none": do nothing. Setting --configure-cbr0 to false implies that to achieve hairpin NAT one must set --hairpin-mode=veth-flag, because bridge assumes the existence of a container bridge named cbr0.' + description: |- + How should the kubelet configure the container bridge for hairpin packets. + Setting this flag allows endpoints in a Service to loadbalance back to + themselves if they should try to access their own Service. Values: + "promiscuous-bridge": make the container bridge promiscuous. + "hairpin-veth": set the hairpin flag on container veth interfaces. + "none": do nothing. + Setting --configure-cbr0 to false implies that to achieve hairpin NAT + one must set --hairpin-mode=veth-flag, because bridge assumes the + existence of a container bridge named cbr0. type: string hostnameOverride: description: HostnameOverride is the hostname used to identify the kubelet instead of the actual hostname. @@ -740,15 +871,22 @@ spec: description: HousekeepingInterval allows to specify interval between container housekeepings. type: string imageGCHighThresholdPercent: - description: ImageGCHighThresholdPercent is the percent of disk usage after which image garbage collection is always run. + description: |- + ImageGCHighThresholdPercent is the percent of disk usage after which + image garbage collection is always run. format: int32 type: integer imageGCLowThresholdPercent: - description: ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. + description: |- + ImageGCLowThresholdPercent is the percent of disk usage before which + image garbage collection is never run. Lowest disk usage to garbage + collect to. format: int32 type: integer imagePullProgressDeadline: - description: ImagePullProgressDeadline is the timeout for image pulls If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) + description: |- + ImagePullProgressDeadline is the timeout for image pulls + If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s) type: string kernelMemcgNotification: description: Integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling. @@ -768,7 +906,10 @@ spec: description: KubeletCgroups is the absolute name of cgroups to isolate the kubelet in. type: string logFormat: - description: 'LogFormat is the logging format of the kubelet. Supported values: text, json. Default: text' + description: |- + LogFormat is the logging format of the kubelet. + Supported values: text, json. + Default: text type: string logLevel: description: LogLevel is the logging level of the kubelet @@ -779,10 +920,15 @@ spec: format: int32 type: integer memorySwapBehavior: - description: 'MemorySwapBehavior defines how swap is used by container workloads. Supported values: LimitedSwap, "UnlimitedSwap.' + description: |- + MemorySwapBehavior defines how swap is used by container workloads. + Supported values: LimitedSwap, "UnlimitedSwap. type: string networkPluginMTU: - description: NetworkPluginMTU is the MTU to be passed to the network plugin, and overrides the default MTU for cases where it cannot be automatically computed (such as IPSEC). + description: |- + NetworkPluginMTU is the MTU to be passed to the network plugin, + and overrides the default MTU for cases where it cannot be automatically + computed (such as IPSEC). format: int32 type: integer networkPluginName: @@ -794,7 +940,9 @@ spec: description: NodeLabels to add when registering the node in the cluster. type: object nodeStatusUpdateFrequency: - description: NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. + description: |- + NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) + must work with nodeMonitorGracePeriod in KubeControllerManagerConfig. type: string nonMasqueradeCIDR: description: 'NonMasqueradeCIDR configures masquerading: traffic to IPs outside this range will use IP masquerade.' @@ -804,7 +952,9 @@ spec: format: int32 type: integer podCIDR: - description: PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master. + description: |- + PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. + In cluster mode, this is obtained from the master. type: string podInfraContainerImage: description: PodInfraContainerImage is the image whose network/ipc containers in each pod will use. @@ -817,14 +967,18 @@ spec: format: int64 type: integer protectKernelDefaults: - description: 'Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. (DEPRECATED: This parameter should be set via the config file specified by the Kubelet''s --config flag.' + description: |- + Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. + (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. type: boolean readOnlyPort: description: ReadOnlyPort is the port used by the kubelet api for read-only access (default 10255) format: int32 type: integer reconcileCIDR: - description: ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the API server. No-op if register-node or configure-cbr0 is false. + description: |- + ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the + API server. No-op if register-node or configure-cbr0 is false. type: boolean registerNode: description: RegisterNode enables automatic registration with the apiserver. @@ -865,19 +1019,30 @@ spec: description: SeccompProfileRoot is the directory path for seccomp profiles. type: string serializeImagePulls: - description: '// SerializeImagePulls when enabled, tells the Kubelet to pull images one // at a time. We recommend *not* changing the default value on nodes that // run docker daemon with version < 1.9 or an Aufs storage backend. // Issue #10959 has more details.' + description: |- + // SerializeImagePulls when enabled, tells the Kubelet to pull images one + // at a time. We recommend *not* changing the default value on nodes that + // run docker daemon with version < 1.9 or an Aufs storage backend. + // Issue #10959 has more details. type: boolean shutdownGracePeriod: - description: 'ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. Default: 30s' + description: |- + ShutdownGracePeriod specifies the total duration that the node should delay the shutdown by. + Default: 30s type: string shutdownGracePeriodCriticalPods: - description: 'ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. Default: 10s' + description: |- + ShutdownGracePeriodCriticalPods specifies the duration used to terminate critical pods during a node shutdown. + Default: 10s type: string streamingConnectionIdleTimeout: description: StreamingConnectionIdleTimeout is the maximum time a streaming connection can be idle before the connection is automatically closed type: string systemCgroups: - description: SystemCgroups is absolute name of cgroups in which to place all non-kernel processes that are not already in a container. Empty for no container. Rolling back the flag requires a reboot. + description: |- + SystemCgroups is absolute name of cgroups in which to place + all non-kernel processes that are not already in a container. Empty + for no container. Rolling back the flag requires a reboot. type: string systemReserved: additionalProperties: @@ -923,7 +1088,9 @@ spec: description: Manager determines what is managing the node lifecycle type: string maxInstanceLifetime: - description: MaxInstanceLifetime to the maximum amount of time, in seconds, that an instance can be in service. Value expected must be in form of duration ("ms", "s", "m", "h") + description: |- + MaxInstanceLifetime to the maximum amount of time, in seconds, that an instance can be in service. + Value expected must be in form of duration ("ms", "s", "m", "h") type: string maxPrice: description: MaxPrice indicates this is a spot-pricing group, with the specified value as our max-price bid @@ -979,21 +1146,32 @@ spec: type: string type: array onDemandAboveBase: - description: OnDemandAboveBase controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBase. The range is 0–100. The default value is 100. If you leave this parameter set to 100, the percentages are 100% for On-Demand Instances and 0% for Spot Instances. + description: |- + OnDemandAboveBase controls the percentages of On-Demand Instances and Spot Instances for your + additional capacity beyond OnDemandBase. The range is 0–100. The default value is 100. If you + leave this parameter set to 100, the percentages are 100% for On-Demand Instances and 0% for + Spot Instances. format: int64 type: integer onDemandAllocationStrategy: description: OnDemandAllocationStrategy indicates how to allocate instance types to fulfill On-Demand capacity type: string onDemandBase: - description: OnDemandBase is the minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales. + description: |- + OnDemandBase is the minimum amount of the Auto Scaling group's capacity that must be + fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales. format: int64 type: integer spotAllocationStrategy: - description: SpotAllocationStrategy diversifies your Spot capacity across multiple instance types to find the best pricing. Higher Spot availability may result from a larger number of instance types to choose from. + description: |- + SpotAllocationStrategy diversifies your Spot capacity across multiple instance types to + find the best pricing. Higher Spot availability may result from a larger number of + instance types to choose from. type: string spotInstancePools: - description: SpotInstancePools is the number of Spot pools to use to allocate your Spot capacity (defaults to 2) pools are determined from the different instance types in the Overrides array of LaunchTemplate + description: |- + SpotInstancePools is the number of Spot pools to use to allocate your Spot capacity (defaults to 2) + pools are determined from the different instance types in the Overrides array of LaunchTemplate format: int64 type: integer type: object @@ -1014,19 +1192,42 @@ spec: description: RollingUpdate defines the rolling-update behavior properties: drainAndTerminate: - description: DrainAndTerminate enables draining and terminating nodes during rolling updates. Defaults to true. + description: |- + DrainAndTerminate enables draining and terminating nodes during rolling updates. + Defaults to true. type: boolean maxSurge: anyOf: - type: integer - type: string - description: 'MaxSurge is the maximum number of extra nodes that can be created during the update. The value can be an absolute number (for example 5) or a percentage of desired machines (for example 10%). The absolute number is calculated from a percentage by rounding up. Has no effect on instance groups with role "Master". Defaults to 1 on AWS, 0 otherwise. Example: when this is set to 30%, the InstanceGroup can be scaled up immediately when the rolling update starts, such that the total number of old and new nodes do not exceed 130% of desired nodes.' + description: |- + MaxSurge is the maximum number of extra nodes that can be created + during the update. + The value can be an absolute number (for example 5) or a percentage of + desired machines (for example 10%). + The absolute number is calculated from a percentage by rounding up. + Has no effect on instance groups with role "Master". + Defaults to 1 on AWS, 0 otherwise. + Example: when this is set to 30%, the InstanceGroup can be scaled + up immediately when the rolling update starts, such that the total + number of old and new nodes do not exceed 130% of desired + nodes. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'MaxUnavailable is the maximum number of nodes that can be unavailable during the update. The value can be an absolute number (for example 5) or a percentage of desired nodes (for example 10%). The absolute number is calculated from a percentage by rounding down. Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. Example: when this is set to 30%, the InstanceGroup can be scaled down to 70% of desired nodes immediately when the rolling update starts. Once new nodes are ready, more old nodes can be drained, ensuring that the total number of nodes available at all times during the update is at least 70% of desired nodes.' + description: |- + MaxUnavailable is the maximum number of nodes that can be unavailable during the update. + The value can be an absolute number (for example 5) or a percentage of desired + nodes (for example 10%). + The absolute number is calculated from a percentage by rounding down. + Defaults to 1 if MaxSurge is 0, otherwise defaults to 0. + Example: when this is set to 30%, the InstanceGroup can be scaled + down to 70% of desired nodes immediately when the rolling update + starts. Once new nodes are ready, more old nodes can be drained, + ensuring that the total number of nodes available at all times + during the update is at least 70% of desired nodes. x-kubernetes-int-or-string: true type: object rootVolume: @@ -1075,7 +1276,10 @@ spec: type: string type: array sysctlParameters: - description: SysctlParameters will configure kernel parameters using sysctl(8). When specified, each parameter must follow the form variable=value, the way it would appear in sysctl.conf. + description: |- + SysctlParameters will configure kernel parameters using sysctl(8). When + specified, each parameter must follow the form variable=value, the way + it would appear in sysctl.conf. items: type: string type: array @@ -1088,7 +1292,12 @@ spec: description: Describes the tenancy of this instance group. Can be either default or dedicated. Currently only applies to AWS. type: string updatePolicy: - description: 'UpdatePolicy determines the policy for applying upgrades automatically. If specified, this value overrides a value specified in the Cluster''s "spec.updatePolicy" field. Valid values: ''automatic'' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) ''external'': do not apply updates automatically; they are applied manually or by an external system' + description: |- + UpdatePolicy determines the policy for applying upgrades automatically. + If specified, this value overrides a value specified in the Cluster's "spec.updatePolicy" field. + Valid values: + 'automatic' (default): apply updates automatically (apply OS security upgrades, avoiding rebooting when possible) + 'external': do not apply updates automatically; they are applied manually or by an external system type: string volumeMounts: description: VolumeMounts a collection of volume mounts @@ -1122,7 +1331,9 @@ spec: description: VolumeSpec defined the spec for an additional volume attached to the instance group properties: deleteOnTermination: - description: DeleteOnTermination configures volume retention policy upon instance termination. The volume is deleted by default. Cluster deletion does not remove retained volumes. + description: |- + DeleteOnTermination configures volume retention policy upon instance termination. + The volume is deleted by default. Cluster deletion does not remove retained volumes. type: boolean device: description: Device is an optional device name of the block device @@ -1154,10 +1365,16 @@ spec: description: WarmPool specifies a pool of pre-warmed instances for later use (AWS only). properties: enableLifecycleHook: - description: EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. Note that the metadata API must be protected from arbitrary Pods when this is enabled. + description: |- + EnableLifecyleHook determines if an ASG lifecycle hook will be added ensuring that nodeup runs to completion. + Note that the metadata API must be protected from arbitrary Pods when this is enabled. type: boolean maxSize: - description: MaxSize is the maximum size of the warm pool. The desired size of the instance group is subtracted from this number to determine the desired size of the warm pool (unless the resulting number is smaller than MinSize). The default is the instance group's MaxSize. + description: |- + MaxSize is the maximum size of the warm pool. The desired size of the instance group + is subtracted from this number to determine the desired size of the warm pool + (unless the resulting number is smaller than MinSize). + The default is the instance group's MaxSize. format: int64 type: integer minSize: @@ -1166,7 +1383,9 @@ spec: type: integer type: object zones: - description: Zones is the names of the Zones where machines in this instance group should be placed This is needed for regional subnets (e.g. GCE), to restrict placement to particular zones + description: |- + Zones is the names of the Zones where machines in this instance group should be placed + This is needed for regional subnets (e.g. GCE), to restrict placement to particular zones items: type: string type: array @@ -1175,7 +1394,9 @@ spec: description: ProviderID is the ARN of the associated ASG type: string providerIDList: - description: ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -1197,23 +1418,37 @@ spec: description: Condition defines an observation of a Cluster API resource operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -1222,11 +1457,15 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. + description: |- + ErrorMessage indicates that there is a terminal problem reconciling the + state, and will be set to a descriptive error message. type: string ready: default: false - description: Ready denotes that the API Server is ready to receive requests. + description: |- + Ready denotes that the API Server is ready to + receive requests. type: boolean replicas: description: Replicas is the most recently observed number of replicas diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 5b0e324..55ea9eb 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: