Update usage of controller-tools and regenerate CRDs

This commit is contained in:
Peter Rifel 2019-10-01 17:21:50 -05:00
parent b674e65fca
commit 2a004c59a5
5 changed files with 341 additions and 49 deletions

View File

@ -915,7 +915,7 @@ dev-upload: dev-upload-nodeup dev-upload-kops-controller dev-upload-protokube de
.PHONY: crds .PHONY: crds
crds: crds:
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --apis-path pkg/apis/kops/v1alpha2 --domain k8s.io --output-dir k8s/crds/ go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd paths=k8s.io/kops/pkg/apis/kops/v1alpha2 output:dir=k8s/crds/
#------------------------------------------------------ #------------------------------------------------------
# kops-controller # kops-controller

View File

@ -1,16 +1,18 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
creationTimestamp: null creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: clusters.kops.k8s.io name: clusters.kops.k8s.io
spec: spec:
group: kops.k8s.io group: kops.k8s.io
names: names:
kind: Cluster kind: Cluster
listKind: ClusterList
plural: clusters plural: clusters
scope: Namespaced singular: cluster
scope: ""
validation: validation:
openAPIV3Schema: openAPIV3Schema:
properties: properties:
@ -27,6 +29,7 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: ClusterSpec defines the configuration for a cluster
properties: properties:
DisableSubnetTags: DisableSubnetTags:
description: DisableSubnetTags controls if subnets are tagged in AWS description: DisableSubnetTags controls if subnets are tagged in AWS
@ -40,6 +43,8 @@ spec:
type: string type: string
type: array type: array
additionalPolicies: additionalPolicies:
additionalProperties:
type: string
description: Additional policies to add for roles description: Additional policies to add for roles
type: object type: object
additionalSans: additionalSans:
@ -51,6 +56,8 @@ spec:
addons: addons:
description: Additional addons that should be installed on the cluster description: Additional addons that should be installed on the cluster
items: items:
description: AddonSpec defines an addon that we want to install in
the cluster
properties: properties:
manifest: manifest:
description: Manifest is a path to the manifest that defines the description: Manifest is a path to the manifest that defines the
@ -75,6 +82,10 @@ spec:
items: items:
type: string type: string
type: array type: array
crossZoneLoadBalancing:
description: CrossZoneLoadBalancing allows you to enable the
cross zone load balancing
type: boolean
idleTimeoutSeconds: idleTimeoutSeconds:
description: IdleTimeoutSeconds sets the timeout of the api description: IdleTimeoutSeconds sets the timeout of the api
loadbalancer. loadbalancer.
@ -118,10 +129,26 @@ spec:
properties: properties:
aws: aws:
properties: properties:
cpuLimit:
description: CPULimit CPU limit of AWS IAM Authenticator container.
Default 10m
type: string
cpuRequest:
description: CPURequest CPU request of AWS IAM Authenticator
container. Default 10m
type: string
image: image:
description: Image is the AWS IAM Authenticator docker image description: Image is the AWS IAM Authenticator docker image
to uses to uses
type: string type: string
memoryLimit:
description: MemoryLimit memory limit of AWS IAM Authenticator
container. Default 20Mi
type: string
memoryRequest:
description: MemoryRequest memory request of AWS IAM Authenticator
container. Default 20Mi
type: string
type: object type: object
kopeio: kopeio:
type: object type: object
@ -139,6 +166,7 @@ spec:
description: The Channel we are following description: The Channel we are following
type: string type: string
cloudConfig: cloudConfig:
description: CloudConfiguration defines the cloud provider configuration
properties: properties:
disableSecurityGroupIngress: disableSecurityGroupIngress:
description: AWS cloud-config options description: AWS cloud-config options
@ -156,8 +184,19 @@ spec:
description: Openstack cloud-config options description: Openstack cloud-config options
properties: properties:
blockStorage: blockStorage:
properties:
bs-version:
type: string
ignore-volume-az:
type: boolean
override-volume-az:
type: string
type: object type: object
insecureSkipVerify:
type: boolean
loadbalancer: loadbalancer:
description: OpenstackLoadbalancerConfig defines the config
for a neutron loadbalancer
properties: properties:
floatingNetwork: floatingNetwork:
type: string type: string
@ -177,16 +216,18 @@ spec:
type: boolean type: boolean
type: object type: object
monitor: monitor:
description: OpenstackMonitor defines the config for a health
monitor
properties: properties:
delay: delay:
type: string type: string
maxRetries: maxRetries:
format: int64
type: integer type: integer
timeout: timeout:
type: string type: string
type: object type: object
router: router:
description: OpenstackRouter defines the config for a router
properties: properties:
dnsServers: dnsServers:
type: string type: string
@ -218,6 +259,8 @@ spec:
type: string type: string
type: object type: object
cloudControllerManager: cloudControllerManager:
description: CloudControllerManagerConfig is the configuration of the
cloud controller
properties: properties:
allocateNodeCIDRs: allocateNodeCIDRs:
description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated
@ -266,6 +309,8 @@ spec:
type: boolean type: boolean
type: object type: object
cloudLabels: cloudLabels:
additionalProperties:
type: string
description: Tags for AWS resources description: Tags for AWS resources
type: object type: object
cloudProvider: cloudProvider:
@ -319,6 +364,11 @@ spec:
items: items:
type: string type: string
type: array type: array
execOpt:
description: ExecOpt is a series of options passed to the runtime
items:
type: string
type: array
execRoot: execRoot:
description: ExecRoot is the root directory for execution state description: ExecRoot is the root directory for execution state
files (default "/var/run/docker") files (default "/var/run/docker")
@ -382,6 +432,10 @@ spec:
items: items:
type: string type: string
type: array type: array
skipInstall:
description: SkipInstall when set to true will prevent kops from
installing and modifying Docker in any way
type: boolean
storage: storage:
description: Storage is the docker storage driver to use description: Storage is the docker storage driver to use
type: string type: string
@ -411,7 +465,6 @@ spec:
host: host:
type: string type: string
port: port:
format: int64
type: integer type: integer
type: object type: object
type: object type: object
@ -421,6 +474,7 @@ spec:
etcdClusters: etcdClusters:
description: EtcdClusters stores the configuration for each cluster description: EtcdClusters stores the configuration for each cluster
items: items:
description: EtcdClusterSpec is the etcd cluster specification
properties: properties:
backups: backups:
description: Backups describes how we do backups of etcd description: Backups describes how we do backups of etcd
@ -451,6 +505,7 @@ spec:
description: Members stores the configurations for each member description: Members stores the configurations for each member
of the cluster (including the data volume) of the cluster (including the data volume)
items: items:
description: EtcdMemberSpec is a specification for a etcd member
properties: properties:
encryptedVolume: encryptedVolume:
description: EncryptedVolume indicates you want to encrypt description: EncryptedVolume indicates you want to encrypt
@ -522,6 +577,7 @@ spec:
type: object type: object
type: array type: array
externalDns: externalDns:
description: ExternalDNSConfig are options of the dns-controller
properties: properties:
disable: disable:
description: Disable indicates we do not wish to run the dns-controller description: Disable indicates we do not wish to run the dns-controller
@ -539,6 +595,7 @@ spec:
fileAssets: fileAssets:
description: A collection of files assets for deployed cluster wide description: A collection of files assets for deployed cluster wide
items: items:
description: FileAssetSpec defines the structure for a file asset
properties: properties:
content: content:
description: Content is the contents of the file description: Content is the contents of the file
@ -556,6 +613,8 @@ spec:
description: Roles is a list of roles the file asset should be description: Roles is a list of roles the file asset should be
applied, defaults to all applied, defaults to all
items: items:
description: InstanceGroupRole string describes the roles of
the nodes in this InstanceGroup (master or nodes)
type: string type: string
type: array type: array
type: object type: object
@ -563,6 +622,7 @@ spec:
hooks: hooks:
description: Hooks for custom actions e.g. on first installation description: Hooks for custom actions e.g. on first installation
items: items:
description: HookSpec is a definition hook
properties: properties:
before: before:
description: Before is a series of systemd units which this hook description: Before is a series of systemd units which this hook
@ -584,6 +644,8 @@ spec:
type: string type: string
type: array type: array
environment: environment:
additionalProperties:
type: string
description: Environment is a map of environment variables description: Environment is a map of environment variables
added to the hook added to the hook
type: object type: object
@ -608,6 +670,8 @@ spec:
description: Roles is an optional list of roles the hook should description: Roles is an optional list of roles the hook should
be rolled out to, defaults to all be rolled out to, defaults to all
items: items:
description: InstanceGroupRole string describes the roles of
the nodes in this InstanceGroup (master or nodes)
type: string type: string
type: array type: array
useRawManifest: useRawManifest:
@ -643,6 +707,8 @@ spec:
are stored are stored
type: string type: string
kubeAPIServer: kubeAPIServer:
description: KubeAPIServerConfig defines the configuration for the kube
api
properties: properties:
address: address:
description: 'Address is the binding address for the kube api: Deprecated description: 'Address is the binding address for the kube api: Deprecated
@ -654,6 +720,9 @@ spec:
items: items:
type: string type: string
type: array type: array
admissionControlConfigFile:
description: AdmissionControlConfigFile is the location of the admission-control-config-file
type: string
allowPrivileged: allowPrivileged:
description: AllowPrivileged indicates if we can run privileged description: AllowPrivileged indicates if we can run privileged
containers containers
@ -662,10 +731,25 @@ spec:
description: AnonymousAuth indicates if anonymous authentication description: AnonymousAuth indicates if anonymous authentication
is permitted is permitted
type: boolean 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.
items:
type: string
type: array
apiServerCount: apiServerCount:
description: APIServerCount is the number of api servers description: APIServerCount is the number of api servers
format: int32 format: int32
type: integer type: integer
appendAdmissionPlugins:
description: AppendAdmissionPlugins appends list of enabled admission
plugins
items:
type: string
type: array
auditLogFormat: auditLogFormat:
description: AuditLogFormat flag specifies the format type for audit description: AuditLogFormat flag specifies the format type for audit
log files. log files.
@ -721,8 +805,7 @@ spec:
auditWebhookBatchThrottleQps: auditWebhookBatchThrottleQps:
description: AuditWebhookBatchThrottleQps is Maximum average number description: AuditWebhookBatchThrottleQps is Maximum average number
of batches per second. Only used in batch mode. (default 10) of batches per second. Only used in batch mode. (default 10)
format: float type: string
type: number
auditWebhookConfigFile: auditWebhookConfigFile:
description: AuditWebhookConfigFile is Path to a kubeconfig formatted description: AuditWebhookConfigFile is Path to a kubeconfig formatted
file that defines the audit webhook configuration. Requires the file that defines the audit webhook configuration. Requires the
@ -755,6 +838,19 @@ spec:
description: AuthorizationRBACSuperUser is the name of the superuser description: AuthorizationRBACSuperUser is the name of the superuser
for default rbac for default rbac
type: string type: string
authorizationWebhookCacheAuthorizedTtl:
description: The duration to cache authorized responses from the
webhook token authorizer. Default is 5m. (default 5m0s)
type: string
authorizationWebhookCacheUnauthorizedTtl:
description: The duration to cache authorized responses from the
webhook token authorizer. Default is 30s. (default 30s)
type: string
authorizationWebhookConfigFile:
description: File with webhook configuration for authorization in
kubeconfig format. The API server will query the remote service
to determine whether to authorize the request.
type: string
basicAuthFile: basicAuthFile:
description: 'TODO: Remove unused BasicAuthFile' description: 'TODO: Remove unused BasicAuthFile'
type: string type: string
@ -827,6 +923,8 @@ spec:
at rest for secrets. at rest for secrets.
type: string type: string
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -960,6 +1058,8 @@ spec:
type: string type: string
type: array type: array
runtimeConfig: runtimeConfig:
additionalProperties:
type: string
description: RuntimeConfig is a series of keys/values are parsed description: RuntimeConfig is a series of keys/values are parsed
into the `--runtime-config` parameters into the `--runtime-config` parameters
type: object type: object
@ -967,6 +1067,11 @@ spec:
description: SecurePort is the port the kube runs on description: SecurePort is the port the kube runs on
format: int32 format: int32
type: integer 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.
type: string
serviceAccountKeyFile: serviceAccountKeyFile:
description: File containing PEM-encoded x509 RSA or ECDSA private description: File containing PEM-encoded x509 RSA or ECDSA private
or public keys, used to verify ServiceAccount tokens. The specified or public keys, used to verify ServiceAccount tokens. The specified
@ -976,6 +1081,12 @@ spec:
items: items:
type: string type: string
type: array 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.)
type: string
serviceClusterIPRange: serviceClusterIPRange:
description: ServiceClusterIPRange is the service address range description: ServiceClusterIPRange is the service address range
type: string type: string
@ -1010,6 +1121,8 @@ spec:
type: string type: string
type: object type: object
kubeControllerManager: kubeControllerManager:
description: KubeControllerManagerConfig is the configuration for the
controller
properties: properties:
allocateNodeCIDRs: allocateNodeCIDRs:
description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated description: AllocateNodeCIDRs enables CIDRs for Pods to be allocated
@ -1049,6 +1162,8 @@ spec:
will be given. (default 8760h0m0s) will be given. (default 8760h0m0s)
type: string type: string
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -1058,6 +1173,11 @@ spec:
downscale operation can be performed after the current one has downscale operation can be performed after the current one has
completed. completed.
type: string 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.
type: string
horizontalPodAutoscalerSyncPeriod: horizontalPodAutoscalerSyncPeriod:
description: HorizontalPodAutoscalerSyncPeriod is the amount of description: HorizontalPodAutoscalerSyncPeriod is the amount of
time between syncs During each period, the controller manager time between syncs During each period, the controller manager
@ -1068,8 +1188,7 @@ spec:
description: HorizontalPodAutoscalerTolerance is the minimum change description: HorizontalPodAutoscalerTolerance is the minimum change
(from 1.0) in the desired-to-actual metrics ratio for the horizontal (from 1.0) in the desired-to-actual metrics ratio for the horizontal
pod autoscaler to consider scaling. pod autoscaler to consider scaling.
format: double type: string
type: number
horizontalPodAutoscalerUpscaleDelay: horizontalPodAutoscalerUpscaleDelay:
description: HorizontalPodAutoscalerUpscaleDelay is a duration that description: HorizontalPodAutoscalerUpscaleDelay is a duration that
specifies how long the autoscaler has to wait before another upscale specifies how long the autoscaler has to wait before another upscale
@ -1083,6 +1202,15 @@ spec:
image: image:
description: Image is the docker image to use description: Image is the docker image to use
type: string type: string
kubeAPIBurst:
description: KubeAPIBurst Burst to use while talking with kubernetes
apiserver. (default 30)
format: int32
type: integer
kubeAPIQPS:
description: KubeAPIQPS QPS to use while talking with kubernetes
apiserver. (default 20)
type: string
leaderElection: leaderElection:
description: LeaderElection defines the configuration of leader description: LeaderElection defines the configuration of leader
election client. election client.
@ -1154,15 +1282,14 @@ spec:
type: boolean type: boolean
type: object type: object
kubeDNS: kubeDNS:
description: KubeDNSConfig defines the kube dns configuration
properties: properties:
cacheMaxConcurrent: cacheMaxConcurrent:
description: CacheMaxConcurrent is the maximum number of concurrent description: CacheMaxConcurrent is the maximum number of concurrent
queries for dnsmasq queries for dnsmasq
format: int64
type: integer type: integer
cacheMaxSize: cacheMaxSize:
description: CacheMaxSize is the maximum entries to keep in dnsmasq description: CacheMaxSize is the maximum entries to keep in dnsmasq
format: int64
type: integer type: integer
cpuRequest: cpuRequest:
description: CPURequest specifies the cpu requests of each dns container description: CPURequest specifies the cpu requests of each dns container
@ -1171,6 +1298,11 @@ spec:
domain: domain:
description: Domain is the dns domain description: Domain is the dns domain
type: string type: string
externalCoreFile:
description: ExternalCoreFile is used to provide a complete CoreDNS
CoreFile by the user - ignores other provided flags which modify
the CoreFile.
type: string
image: image:
description: Image is the name of the docker image to run - @deprecated description: Image is the name of the docker image to run - @deprecated
as this is now in the addon as this is now in the addon
@ -1190,12 +1322,15 @@ spec:
replicas: replicas:
description: Replicas is the number of pod replicas - @deprecated description: Replicas is the number of pod replicas - @deprecated
as this is now in the addon, and controlled by autoscaler as this is now in the addon, and controlled by autoscaler
format: int64
type: integer type: integer
serverIP: serverIP:
description: ServerIP is the server ip description: ServerIP is the server ip
type: string type: string
stubDomains: stubDomains:
additionalProperties:
items:
type: string
type: array
description: StubDomains redirects a domains to another DNS service description: StubDomains redirects a domains to another DNS service
type: object type: object
upstreamNameservers: upstreamNameservers:
@ -1206,6 +1341,7 @@ spec:
type: array type: array
type: object type: object
kubeProxy: kubeProxy:
description: KubeProxyConfig defines the configuration for a proxy
properties: properties:
bindAddress: bindAddress:
description: BindAddress is IP address for the proxy server to serve description: BindAddress is IP address for the proxy server to serve
@ -1236,6 +1372,8 @@ spec:
description: Enabled allows enabling or disabling kube-proxy description: Enabled allows enabling or disabling kube-proxy
type: boolean type: boolean
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is a series of key pairs used to switch description: FeatureGates is a series of key pairs used to switch
on features for the proxy on features for the proxy
type: object type: object
@ -1290,8 +1428,11 @@ spec:
type: string type: string
type: object type: object
kubeScheduler: kubeScheduler:
description: KubeSchedulerConfig is the configuration for the kube-scheduler
properties: properties:
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -1315,12 +1456,22 @@ spec:
master: master:
description: Master is a url to the kube master description: Master is a url to the kube master
type: string type: string
maxPersistentVolumes:
description: 'MaxPersistentVolumes changes the maximum number of
persistent volumes the scheduler will scheduler onto the same
node. Only takes into affect if value is positive. This corresponds
to the KUBE_MAX_PD_VOLS environment variable, which has been supported
as far back as Kubernetes 1.7. The default depends on the version
and the cloud provider as outlined: https://kubernetes.io/docs/concepts/storage/storage-limits/'
format: int32
type: integer
usePolicyConfigMap: usePolicyConfigMap:
description: UsePolicyConfigMap enable setting the scheduler policy description: UsePolicyConfigMap enable setting the scheduler policy
from a configmap from a configmap
type: boolean type: boolean
type: object type: object
kubelet: kubelet:
description: KubeletConfigSpec defines the kubelet configuration
properties: properties:
allowPrivileged: allowPrivileged:
description: AllowPrivileged enables containers to request privileged description: AllowPrivileged enables containers to request privileged
@ -1448,6 +1599,8 @@ spec:
on the node. on the node.
type: boolean type: boolean
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -1483,6 +1636,8 @@ spec:
image pulling will be cancelled. (default 1m0s) image pulling will be cancelled. (default 1m0s)
type: string type: string
kubeReserved: kubeReserved:
additionalProperties:
type: string
description: Resource reservation for kubernetes system daemons description: Resource reservation for kubernetes system daemons
like the kubelet, container runtime, node problem detector, etc. like the kubelet, container runtime, node problem detector, etc.
type: object type: object
@ -1516,6 +1671,8 @@ spec:
to be invoked for various events in kubelet/pod lifecycle to be invoked for various events in kubelet/pod lifecycle
type: string type: string
nodeLabels: nodeLabels:
additionalProperties:
type: string
description: NodeLabels to add when registering the node in the description: NodeLabels to add when registering the node in the
cluster. cluster.
type: object type: object
@ -1616,6 +1773,8 @@ spec:
Empty for no container. Rolling back the flag requires a reboot. Empty for no container. Rolling back the flag requires a reboot.
type: string type: string
systemReserved: systemReserved:
additionalProperties:
type: string
description: Capture resource reservation for OS system daemons description: Capture resource reservation for OS system daemons
like sshd, udev, etc. like sshd, udev, etc.
type: object type: object
@ -1643,7 +1802,8 @@ spec:
type: string type: string
volumePluginDirectory: volumePluginDirectory:
description: The full path of the directory in which to search for description: The full path of the directory in which to search for
additional third party volume plugins additional third party volume plugins (this path must be writeable,
dependent on your choice of OS)
type: string type: string
volumeStatsAggPeriod: volumeStatsAggPeriod:
description: VolumeStatsAggPeriod is the interval for kubelet to description: VolumeStatsAggPeriod is the interval for kubelet to
@ -1666,6 +1826,7 @@ spec:
nodes nodes
type: string type: string
masterKubelet: masterKubelet:
description: KubeletConfigSpec defines the kubelet configuration
properties: properties:
allowPrivileged: allowPrivileged:
description: AllowPrivileged enables containers to request privileged description: AllowPrivileged enables containers to request privileged
@ -1793,6 +1954,8 @@ spec:
on the node. on the node.
type: boolean type: boolean
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -1828,6 +1991,8 @@ spec:
image pulling will be cancelled. (default 1m0s) image pulling will be cancelled. (default 1m0s)
type: string type: string
kubeReserved: kubeReserved:
additionalProperties:
type: string
description: Resource reservation for kubernetes system daemons description: Resource reservation for kubernetes system daemons
like the kubelet, container runtime, node problem detector, etc. like the kubelet, container runtime, node problem detector, etc.
type: object type: object
@ -1861,6 +2026,8 @@ spec:
to be invoked for various events in kubelet/pod lifecycle to be invoked for various events in kubelet/pod lifecycle
type: string type: string
nodeLabels: nodeLabels:
additionalProperties:
type: string
description: NodeLabels to add when registering the node in the description: NodeLabels to add when registering the node in the
cluster. cluster.
type: object type: object
@ -1961,6 +2128,8 @@ spec:
Empty for no container. Rolling back the flag requires a reboot. Empty for no container. Rolling back the flag requires a reboot.
type: string type: string
systemReserved: systemReserved:
additionalProperties:
type: string
description: Capture resource reservation for OS system daemons description: Capture resource reservation for OS system daemons
like sshd, udev, etc. like sshd, udev, etc.
type: object type: object
@ -1988,7 +2157,8 @@ spec:
type: string type: string
volumePluginDirectory: volumePluginDirectory:
description: The full path of the directory in which to search for description: The full path of the directory in which to search for
additional third party volume plugins additional third party volume plugins (this path must be writeable,
dependent on your choice of OS)
type: string type: string
volumeStatsAggPeriod: volumeStatsAggPeriod:
description: VolumeStatsAggPeriod is the interval for kubelet to description: VolumeStatsAggPeriod is the interval for kubelet to
@ -2013,6 +2183,8 @@ spec:
description: Networking configuration description: Networking configuration
properties: properties:
amazonvpc: amazonvpc:
description: AmazonVPCNetworkingSpec declares that we want Amazon
VPC CNI networking
properties: properties:
imageName: imageName:
description: 'The container image name to use, which by default description: 'The container image name to use, which by default
@ -2020,9 +2192,13 @@ spec:
type: string type: string
type: object type: object
calico: calico:
description: CalicoNetworkingSpec declares that we want Calico networking
properties: properties:
crossSubnet: crossSubnet:
type: boolean type: boolean
ipipMode:
description: IPIPMode is mode for CALICO_IPV4POOL_IPIP
type: string
logSeverityScreen: logSeverityScreen:
description: 'LogSeverityScreen lets us set the desired log description: 'LogSeverityScreen lets us set the desired log
level. (Default: info)' level. (Default: info)'
@ -2053,24 +2229,22 @@ spec:
process metrics collection process metrics collection
type: boolean type: boolean
typhaPrometheusMetricsEnabled: typhaPrometheusMetricsEnabled:
description: 'TyphaPrometheusMetricsEnabled enables Prometheus metrics description: 'TyphaPrometheusMetricsEnabled enables Prometheus
collection from Typha' metrics collection from Typha (default: false)'
type: boolean type: boolean
typhaPrometheusMetricsPort: typhaPrometheusMetricsPort:
description: 'PrometheusMetricsPort is the TCP port that the description: 'TyphaPrometheusMetricsPort is the TCP port the
Typha Prometheus metrics server should bind to (default: typha Prometheus metrics server should bind to (default: 9093)'
9093)'
format: int32 format: int32
type: integer type: integer
typhaReplicas: typhaReplicas:
description: 'TyphaReplicas is the number of replicas of Typha to description: TyphaReplicas is the number of replicas of Typha
deploy. If set >0 Calico is configured to connect to the Typha service to deploy
rather than directly to the kube-apiserver. Intended to reduce the
load on the APIServer (default: 0)'
format: int32 format: int32
type: integer type: integer
type: object type: object
canal: canal:
description: CanalNetworkingSpec declares that we want Canal networking
properties: properties:
chainInsertMode: chainInsertMode:
description: 'ChainInsertMode controls whether Felix inserts description: 'ChainInsertMode controls whether Felix inserts
@ -2120,6 +2294,7 @@ spec:
type: boolean type: boolean
type: object type: object
cilium: cilium:
description: CiliumNetworkingSpec declares that we want Cilium networking
properties: properties:
IPTablesRulesNoinstall: IPTablesRulesNoinstall:
type: boolean type: boolean
@ -2136,20 +2311,22 @@ spec:
autoIpv6NodeRoutes: autoIpv6NodeRoutes:
type: boolean type: boolean
bpfCTGlobalAnyMax: bpfCTGlobalAnyMax:
format: int64
type: integer type: integer
bpfCTGlobalTCPMax: bpfCTGlobalTCPMax:
format: int64
type: integer type: integer
bpfRoot: bpfRoot:
type: string type: string
clusterName: clusterName:
type: string type: string
cniBinPath:
type: string
containerRuntime: containerRuntime:
items: items:
type: string type: string
type: array type: array
containerRuntimeEndpoint: containerRuntimeEndpoint:
additionalProperties:
type: string
type: object type: object
containerRuntimeLabels: containerRuntimeLabels:
type: string type: string
@ -2182,7 +2359,6 @@ spec:
envoyLog: envoyLog:
type: string type: string
ipv4ClusterCidrMaskSize: ipv4ClusterCidrMaskSize:
format: int64
type: integer type: integer
ipv4Node: ipv4Node:
type: string type: string
@ -2221,6 +2397,8 @@ spec:
type: string type: string
type: array type: array
logOpt: logOpt:
additionalProperties:
type: string
type: object type: object
logstash: logstash:
type: boolean type: boolean
@ -2233,6 +2411,8 @@ spec:
type: string type: string
nat46Range: nat46Range:
type: string type: string
nodeInitBootstrapFile:
type: string
pprof: pprof:
type: boolean type: boolean
preallocateBPFMaps: preallocateBPFMaps:
@ -2241,6 +2421,13 @@ spec:
type: string type: string
prometheusServeAddr: prometheusServeAddr:
type: string type: string
reconfigureKubelet:
type: boolean
removeCbrBridge:
description: node init options
type: boolean
restartPods:
type: boolean
restore: restore:
type: boolean type: boolean
sidecarIstioProxyImage: sidecarIstioProxyImage:
@ -2254,39 +2441,51 @@ spec:
toFqdnsEnablePoller: toFqdnsEnablePoller:
type: boolean type: boolean
tracePayloadlen: tracePayloadlen:
format: int64
type: integer type: integer
tunnel: tunnel:
type: string type: string
version: version:
type: string type: string
waitBPFMount:
type: boolean
required: required:
- enableipv6
- enableipv4
- monitorAggregation
- bpfCTGlobalTCPMax
- bpfCTGlobalAnyMax
- preallocateBPFMaps
- sidecarIstioProxyImage
- clusterName
- toFqdnsEnablePoller
- waitBPFMount
- IPTablesRulesNoinstall - IPTablesRulesNoinstall
- autoDirectNodeRoutes - autoDirectNodeRoutes
- bpfCTGlobalAnyMax
- bpfCTGlobalTCPMax
- clusterName
- cniBinPath
- enableNodePort - enableNodePort
- enableipv4
- enableipv6
- monitorAggregation
- nodeInitBootstrapFile
- preallocateBPFMaps
- reconfigureKubelet
- removeCbrBridge
- restartPods
- sidecarIstioProxyImage
- toFqdnsEnablePoller
type: object type: object
classic: classic:
description: ClassicNetworkingSpec is the specification of classic
networking mode, integrated into kubernetes
type: object type: object
cni: cni:
description: CNINetworkingSpec is the specification for networking
that is implemented by a Daemonset Networking is not managed by
kops - we can create options here that directly configure e.g.
weave but this is useful for arbitrary network modes or for modes
that don't need additional configuration.
properties: properties:
usesSecondaryIP: usesSecondaryIP:
type: boolean type: boolean
type: object type: object
external: external:
description: ExternalNetworkingSpec is the specification for networking
that is implemented by a Daemonset It also uses kubenet
type: object type: object
flannel: flannel:
description: FlannelNetworkingSpec declares that we want Flannel
networking
properties: properties:
backend: backend:
description: Backend is the backend overlay type we want to description: Backend is the backend overlay type we want to
@ -2298,18 +2497,32 @@ spec:
format: int32 format: int32
type: integer type: integer
type: object type: object
gce:
description: GCENetworkingSpec is the specification of GCE's native
networking mode, using IP aliases
type: object
kopeio: kopeio:
description: KopeioNetworkingSpec declares that we want Kopeio networking
type: object type: object
kubenet: kubenet:
description: KubenetNetworkingSpec is the specification for kubenet
networking, largely integrated but intended to replace classic
type: object type: object
kuberouter: kuberouter:
description: KuberouterNetworkingSpec declares that we want Kube-router
networking
type: object type: object
lyftvpc: lyftvpc:
description: LyftIpVlanNetworkingSpec declares that we want to use
the cni-ipvlan-vpc-k8s CNI networking
properties: properties:
subnetTags: subnetTags:
additionalProperties:
type: string
type: object type: object
type: object type: object
romana: romana:
description: RomanaNetworkingSpec declares that we want Romana networking
properties: properties:
daemonServiceIP: daemonServiceIP:
description: DaemonServiceIP is the Kubernetes Service IP for description: DaemonServiceIP is the Kubernetes Service IP for
@ -2321,6 +2534,7 @@ spec:
type: string type: string
type: object type: object
weave: weave:
description: WeaveNetworkingSpec declares that we want Weave networking
properties: properties:
connLimit: connLimit:
format: int32 format: int32
@ -2328,6 +2542,8 @@ spec:
mtu: mtu:
format: int32 format: int32
type: integer type: integer
netExtraArgs:
type: string
noMasqLocal: noMasqLocal:
format: int32 format: int32
type: integer type: integer
@ -2353,13 +2569,16 @@ spec:
image: image:
description: Image is the location of container description: Image is the location of container
type: string type: string
interval:
description: Interval the time between retires for authorization
request
type: string
nodeURL: nodeURL:
description: NodeURL is the node authorization service url description: NodeURL is the node authorization service url
type: string type: string
port: port:
description: Port is the port the service is running on the description: Port is the port the service is running on the
master master
format: int64
type: integer type: integer
timeout: timeout:
description: Timeout the max time for authorization request description: Timeout the max time for authorization request
@ -2428,6 +2647,8 @@ spec:
that are regionally scoped that are regionally scoped
type: string type: string
type: type:
description: SubnetType string describes subnet types (public,
private, utility)
type: string type: string
zone: zone:
description: Zone is the zone the subnet is in, set for subnets description: Zone is the zone the subnet is in, set for subnets
@ -2440,8 +2661,12 @@ spec:
as terraform as terraform
properties: properties:
terraform: terraform:
description: TerraformSpec allows us to specify terraform config
in an extensible way
properties: properties:
providerExtraConfig: providerExtraConfig:
additionalProperties:
type: string
description: ProviderExtraConfig contains key/value pairs to description: ProviderExtraConfig contains key/value pairs to
add to the rendered terraform "provider" block add to the rendered terraform "provider" block
type: object type: object
@ -2489,8 +2714,18 @@ spec:
- they are applied manually or by an external system missing: default - they are applied manually or by an external system missing: default
policy (currently OS security upgrades that do not require a reboot)' policy (currently OS security upgrades that do not require a reboot)'
type: string 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
type: boolean
type: object type: object
type: object
version: v1alpha2 version: v1alpha2
versions:
- name: v1alpha2
served: true
storage: true
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View File

@ -1,9 +1,9 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
creationTimestamp: null creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: instancegroups.kops.k8s.io name: instancegroups.kops.k8s.io
spec: spec:
additionalPrinterColumns: additionalPrinterColumns:
@ -30,12 +30,17 @@ spec:
group: kops.k8s.io group: kops.k8s.io
names: names:
kind: InstanceGroup kind: InstanceGroup
listKind: InstanceGroupList
plural: instancegroups plural: instancegroups
shortNames: shortNames:
- ig - ig
singular: instancegroup
scope: Namespaced scope: Namespaced
subresources: {}
validation: validation:
openAPIV3Schema: openAPIV3Schema:
description: InstanceGroup represents a group of instances (either nodes or
masters) with the same configuration
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -50,6 +55,7 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: InstanceGroupSpec is the specification for an instanceGroup
properties: properties:
additionalSecurityGroups: additionalSecurityGroups:
description: AdditionalSecurityGroups attaches additional security groups description: AdditionalSecurityGroups attaches additional security groups
@ -61,6 +67,7 @@ spec:
description: AdditionalUserData is any additional user-data to be passed description: AdditionalUserData is any additional user-data to be passed
to the host to the host
items: items:
description: UserData defines a user-data section
properties: properties:
content: content:
description: Content is the user-data content description: Content is the user-data content
@ -78,6 +85,8 @@ spec:
a public IP a public IP
type: boolean type: boolean
cloudLabels: cloudLabels:
additionalProperties:
type: string
description: CloudLabels indicates the labels for instances in this description: CloudLabels indicates the labels for instances in this
group, at the AWS level group, at the AWS level
type: object type: object
@ -89,6 +98,7 @@ spec:
description: ExternalLoadBalancers define loadbalancers that should description: ExternalLoadBalancers define loadbalancers that should
be attached to the instancegroup be attached to the instancegroup
items: items:
description: LoadBalancer defines a load balancer
properties: properties:
loadBalancerName: loadBalancerName:
description: LoadBalancerName to associate with this instance description: LoadBalancerName to associate with this instance
@ -104,6 +114,7 @@ spec:
description: FileAssets is a collection of file assets for this instance description: FileAssets is a collection of file assets for this instance
group group
items: items:
description: FileAssetSpec defines the structure for a file asset
properties: properties:
content: content:
description: Content is the contents of the file description: Content is the contents of the file
@ -121,6 +132,8 @@ spec:
description: Roles is a list of roles the file asset should be description: Roles is a list of roles the file asset should be
applied, defaults to all applied, defaults to all
items: items:
description: InstanceGroupRole string describes the roles of
the nodes in this InstanceGroup (master or nodes)
type: string type: string
type: array type: array
type: object type: object
@ -129,6 +142,7 @@ spec:
description: 'Hooks is a list of hooks for this instanceGroup, note: description: 'Hooks is a list of hooks for this instanceGroup, note:
these can override the cluster wide ones if required' these can override the cluster wide ones if required'
items: items:
description: HookSpec is a definition hook
properties: properties:
before: before:
description: Before is a series of systemd units which this hook description: Before is a series of systemd units which this hook
@ -150,6 +164,8 @@ spec:
type: string type: string
type: array type: array
environment: environment:
additionalProperties:
type: string
description: Environment is a map of environment variables description: Environment is a map of environment variables
added to the hook added to the hook
type: object type: object
@ -174,6 +190,8 @@ spec:
description: Roles is an optional list of roles the hook should description: Roles is an optional list of roles the hook should
be rolled out to, defaults to all be rolled out to, defaults to all
items: items:
description: InstanceGroupRole string describes the roles of
the nodes in this InstanceGroup (master or nodes)
type: string type: string
type: array type: array
useRawManifest: useRawManifest:
@ -329,6 +347,8 @@ spec:
on the node. on the node.
type: boolean type: boolean
featureGates: featureGates:
additionalProperties:
type: string
description: FeatureGates is set of key=value pairs that describe description: FeatureGates is set of key=value pairs that describe
feature gates for alpha/experimental features. feature gates for alpha/experimental features.
type: object type: object
@ -364,6 +384,8 @@ spec:
image pulling will be cancelled. (default 1m0s) image pulling will be cancelled. (default 1m0s)
type: string type: string
kubeReserved: kubeReserved:
additionalProperties:
type: string
description: Resource reservation for kubernetes system daemons description: Resource reservation for kubernetes system daemons
like the kubelet, container runtime, node problem detector, etc. like the kubelet, container runtime, node problem detector, etc.
type: object type: object
@ -397,6 +419,8 @@ spec:
to be invoked for various events in kubelet/pod lifecycle to be invoked for various events in kubelet/pod lifecycle
type: string type: string
nodeLabels: nodeLabels:
additionalProperties:
type: string
description: NodeLabels to add when registering the node in the description: NodeLabels to add when registering the node in the
cluster. cluster.
type: object type: object
@ -497,6 +521,8 @@ spec:
Empty for no container. Rolling back the flag requires a reboot. Empty for no container. Rolling back the flag requires a reboot.
type: string type: string
systemReserved: systemReserved:
additionalProperties:
type: string
description: Capture resource reservation for OS system daemons description: Capture resource reservation for OS system daemons
like sshd, udev, etc. like sshd, udev, etc.
type: object type: object
@ -589,6 +615,8 @@ spec:
type: integer type: integer
type: object type: object
nodeLabels: nodeLabels:
additionalProperties:
type: string
description: NodeLabels indicates the kubernetes labels for nodes in description: NodeLabels indicates the kubernetes labels for nodes in
this group this group
type: object type: object
@ -642,6 +670,8 @@ spec:
volumeMounts: volumeMounts:
description: VolumeMounts a collection of volume mounts description: VolumeMounts a collection of volume mounts
items: items:
description: VolumeMountSpec defines the specification for mounting
a device
properties: properties:
device: device:
description: Device is the device name to provision and mount description: Device is the device name to provision and mount
@ -669,6 +699,8 @@ spec:
description: Volumes is a collection of additional volumes to create description: Volumes is a collection of additional volumes to create
for instances within this InstanceGroup for instances within this InstanceGroup
items: items:
description: VolumeSpec defined the spec for an additional volume
attached to the instance group
properties: properties:
device: device:
description: Device is an optional device name of the block device description: Device is an optional device name of the block device
@ -699,7 +731,12 @@ spec:
type: string type: string
type: array type: array
type: object type: object
type: object
version: v1alpha2 version: v1alpha2
versions:
- name: v1alpha2
served: true
storage: true
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View File

@ -1,18 +1,22 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
creationTimestamp: null creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: keysets.kops.k8s.io name: keysets.kops.k8s.io
spec: spec:
group: kops.k8s.io group: kops.k8s.io
names: names:
kind: Keyset kind: Keyset
listKind: KeysetList
plural: keysets plural: keysets
scope: Namespaced singular: keyset
scope: ""
validation: validation:
openAPIV3Schema: openAPIV3Schema:
description: Keyset is a set of system keypairs, or other secret material. It
is a set to support credential rotation etc.
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -27,10 +31,13 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: KeysetSpec is the spec for a Keyset
properties: properties:
keys: keys:
description: Keys is the set of keys that make up the keyset description: Keys is the set of keys that make up the keyset
items: items:
description: KeysetItem is an item (keypair or other secret material)
in a Keyset
properties: properties:
id: id:
description: Id is the unique identifier for this key in the keyset description: Id is the unique identifier for this key in the keyset
@ -52,7 +59,12 @@ spec:
token) token)
type: string type: string
type: object type: object
type: object
version: v1alpha2 version: v1alpha2
versions:
- name: v1alpha2
served: true
storage: true
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View File

@ -1,18 +1,21 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
creationTimestamp: null creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: sshcredentials.kops.k8s.io name: sshcredentials.kops.k8s.io
spec: spec:
group: kops.k8s.io group: kops.k8s.io
names: names:
kind: SSHCredential kind: SSHCredential
listKind: SSHCredentialList
plural: sshcredentials plural: sshcredentials
scope: Namespaced singular: sshcredential
scope: ""
validation: validation:
openAPIV3Schema: openAPIV3Schema:
description: SSHCredential represent a set of kops secrets
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -31,7 +34,12 @@ spec:
publicKey: publicKey:
type: string type: string
type: object type: object
type: object
version: v1alpha2 version: v1alpha2
versions:
- name: v1alpha2
served: true
storage: true
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""