1748 lines
111 KiB
YAML
1748 lines
111 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.13.0
|
|
name: karmadas.operator.karmada.io
|
|
spec:
|
|
group: operator.karmada.io
|
|
names:
|
|
categories:
|
|
- karmada-io
|
|
kind: Karmada
|
|
listKind: KarmadaList
|
|
plural: karmadas
|
|
singular: karmada
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Karmada enables declarative installation of karmada.
|
|
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'
|
|
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'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: Spec defines the desired behavior of the Karmada.
|
|
properties:
|
|
components:
|
|
description: Components define all of karmada components. not all
|
|
of these components need to be installed.
|
|
properties:
|
|
etcd:
|
|
description: Etcd holds configuration for etcd.
|
|
properties:
|
|
external:
|
|
description: External describes how to connect to an external
|
|
etcd cluster Local and External are mutually exclusive
|
|
properties:
|
|
caData:
|
|
description: CAData is an SSL Certificate Authority file
|
|
used to secure etcd communication. Required if using
|
|
a TLS connection.
|
|
format: byte
|
|
type: string
|
|
certData:
|
|
description: CertData is an SSL certification file used
|
|
to secure etcd communication. Required if using a TLS
|
|
connection.
|
|
format: byte
|
|
type: string
|
|
endpoints:
|
|
description: Endpoints of etcd members. Required for ExternalEtcd.
|
|
items:
|
|
type: string
|
|
type: array
|
|
keyData:
|
|
description: KeyData is an SSL key file used to secure
|
|
etcd communication. Required if using a TLS connection.
|
|
format: byte
|
|
type: string
|
|
required:
|
|
- caData
|
|
- certData
|
|
- endpoints
|
|
- keyData
|
|
type: object
|
|
local:
|
|
description: Local provides configuration knobs for configuring
|
|
the built-in etcd instance Local and External are mutually
|
|
exclusive
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value
|
|
map stored with a resource that may be set by external
|
|
tools to store and retrieve arbitrary metadata. They
|
|
are not queryable and should be preserved when modifying
|
|
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry
|
|
to pull images from. if not set, the ImageRepository
|
|
defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the
|
|
image. In case this value is set, operator does not
|
|
change automatically the version of the above components
|
|
during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be
|
|
used to organize and categorize (scope and select) objects.
|
|
May match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
peerCertSANs:
|
|
description: PeerCertSANs sets extra Subject Alternative
|
|
Names for the etcd peer signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer
|
|
to distinguish between explicit zero and not specified.
|
|
Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources,
|
|
defined in spec.resourceClaims, that are used by
|
|
this container. \n This is an alpha field and requires
|
|
enabling the DynamicResourceAllocation feature gate.
|
|
\n This field is immutable. It can only be set for
|
|
containers."
|
|
items:
|
|
description: ResourceClaim references one entry
|
|
in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one
|
|
entry in pod.spec.resourceClaims of the Pod
|
|
where this field is used. It makes that resource
|
|
available inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount
|
|
of compute resources required. If Requests is omitted
|
|
for a container, it defaults to Limits if that is
|
|
explicitly specified, otherwise to an implementation-defined
|
|
value. Requests cannot exceed Limits. More info:
|
|
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
serverCertSANs:
|
|
description: ServerCertSANs sets extra Subject Alternative
|
|
Names for the etcd server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
volumeData:
|
|
description: 'VolumeData describes the settings of etcd
|
|
data store. We will support 3 modes: emptyDir, hostPath,
|
|
PVC. default by hostPath.'
|
|
properties:
|
|
emptyDir:
|
|
description: 'EmptyDir represents a temporary directory
|
|
that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
|
properties:
|
|
medium:
|
|
description: 'medium represents what type of storage
|
|
medium should back this directory. The default
|
|
is "" which means to use the node''s default
|
|
medium. Must be an empty string (default) or
|
|
Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: 'sizeLimit is the total amount of
|
|
local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory
|
|
medium. The maximum usage on memory medium EmptyDir
|
|
would be the minimum value between the SizeLimit
|
|
specified here and the sum of memory limits
|
|
of all containers in a pod. The default is nil
|
|
which means that the limit is undefined. More
|
|
info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
|
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
|
|
hostPath:
|
|
description: 'HostPath represents a pre-existing file
|
|
or directory on the host machine that is directly
|
|
exposed to the container. This is generally used
|
|
for system agents or other privileged things that
|
|
are allowed to see the host machine. Most containers
|
|
will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
--- TODO(jonesdl) We need to restrict who can use
|
|
host directory mounts and who can/can not mount
|
|
host directories as read/write.'
|
|
properties:
|
|
path:
|
|
description: 'path of the directory on the host.
|
|
If the path is a symlink, it will follow the
|
|
link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
|
|
type: string
|
|
type:
|
|
description: 'type for HostPath Volume Defaults
|
|
to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
volumeClaim:
|
|
description: The specification for the PersistentVolumeClaim.
|
|
The entire content is copied unchanged into the
|
|
PVC that gets created from this template. The same
|
|
fields as in a PersistentVolumeClaim are also valid
|
|
here.
|
|
properties:
|
|
metadata:
|
|
description: May contain labels and annotations
|
|
that will be copied into the PVC when creating
|
|
it. No other fields are allowed and will be
|
|
rejected during validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: The specification for the PersistentVolumeClaim.
|
|
The entire content is copied unchanged into
|
|
the PVC that gets created from this template.
|
|
The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: 'accessModes contains the desired
|
|
access modes the volume should have. More
|
|
info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
|
|
items:
|
|
type: string
|
|
type: array
|
|
dataSource:
|
|
description: 'dataSource field can be used
|
|
to specify either: * An existing VolumeSnapshot
|
|
object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller
|
|
can support the specified data source, it
|
|
will create a new volume based on the contents
|
|
of the specified data source. When the AnyVolumeDataSource
|
|
feature gate is enabled, dataSource contents
|
|
will be copied to dataSourceRef, and dataSourceRef
|
|
contents will be copied to dataSource when
|
|
dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef
|
|
will not be copied to dataSource.'
|
|
properties:
|
|
apiGroup:
|
|
description: APIGroup is the group for
|
|
the resource being referenced. If APIGroup
|
|
is not specified, the specified Kind
|
|
must be in the core API group. For any
|
|
other third-party types, APIGroup is
|
|
required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource
|
|
being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource
|
|
being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: 'dataSourceRef specifies the
|
|
object from which to populate the volume
|
|
with data, if a non-empty volume is desired.
|
|
This may be any object from a non-empty
|
|
API group (non core object) or a PersistentVolumeClaim
|
|
object. When this field is specified, volume
|
|
binding will only succeed if the type of
|
|
the specified object matches some installed
|
|
volume populator or dynamic provisioner.
|
|
This field will replace the functionality
|
|
of the dataSource field and as such if both
|
|
fields are non-empty, they must have the
|
|
same value. For backwards compatibility,
|
|
when namespace isn''t specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef)
|
|
will be set to the same value automatically
|
|
if one of them is empty and the other is
|
|
non-empty. When namespace is specified in
|
|
dataSourceRef, dataSource isn''t set to
|
|
the same value and must be empty. There
|
|
are three important differences between
|
|
dataSource and dataSourceRef: * While dataSource
|
|
only allows two specific types of objects,
|
|
dataSourceRef allows any non-core object,
|
|
as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values
|
|
(dropping them), dataSourceRef preserves
|
|
all values, and generates an error if a
|
|
disallowed value is specified. * While dataSource
|
|
only allows local objects, dataSourceRef
|
|
allows objects in any namespaces. (Beta)
|
|
Using this field requires the AnyVolumeDataSource
|
|
feature gate to be enabled. (Alpha) Using
|
|
the namespace field of dataSourceRef requires
|
|
the CrossNamespaceVolumeDataSource feature
|
|
gate to be enabled.'
|
|
properties:
|
|
apiGroup:
|
|
description: APIGroup is the group for
|
|
the resource being referenced. If APIGroup
|
|
is not specified, the specified Kind
|
|
must be in the core API group. For any
|
|
other third-party types, APIGroup is
|
|
required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource
|
|
being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource
|
|
being referenced
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace
|
|
of resource being referenced Note that
|
|
when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant
|
|
object is required in the referent namespace
|
|
to allow that namespace's owner to accept
|
|
the reference. See the ReferenceGrant
|
|
documentation for details. (Alpha) This
|
|
field requires the CrossNamespaceVolumeDataSource
|
|
feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: 'resources represents the minimum
|
|
resources the volume should have. If RecoverVolumeExpansionFailure
|
|
feature is enabled users are allowed to
|
|
specify resource requirements that are lower
|
|
than previous value but must still be higher
|
|
than capacity recorded in the status field
|
|
of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of
|
|
resources, defined in spec.resourceClaims,
|
|
that are used by this container. \n
|
|
This is an alpha field and requires
|
|
enabling the DynamicResourceAllocation
|
|
feature gate. \n This field is immutable.
|
|
It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references
|
|
one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the
|
|
name of one entry in pod.spec.resourceClaims
|
|
of the Pod where this field is
|
|
used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum
|
|
amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum
|
|
amount of compute resources required.
|
|
If Requests is omitted for a container,
|
|
it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined
|
|
value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over
|
|
volumes to consider for binding.
|
|
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.
|
|
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.
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
description: 'storageClassName is the name
|
|
of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
|
|
type: string
|
|
volumeMode:
|
|
description: volumeMode defines what type
|
|
of volume is required by the claim. Value
|
|
of Filesystem is implied when not included
|
|
in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference
|
|
to the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaAPIServer:
|
|
description: KarmadaAPIServer holds settings to kube-apiserver
|
|
component. Currently, kube-apiserver is used as the apiserver
|
|
of karmada. we had the same experience as k8s apiserver.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
certSANs:
|
|
description: CertSANs sets extra Subject Alternative Names
|
|
for the API Server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the kube-apiserver component or override. A key in this
|
|
map is the flag name as it appears on the command line except
|
|
without leading dash(es). \n Note: This is a temporary solution
|
|
to allow for the configuration of the kube-apiserver component.
|
|
In the future, we will provide a more structured way to
|
|
configure the component. Once that is done, this field will
|
|
be discouraged to be used. Incorrect settings on this field
|
|
maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand
|
|
the risks of this configuration. \n For supported flags,
|
|
please see https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
|
|
for details."
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. More info:
|
|
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
serviceAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'ServiceAnnotations is an extra set of annotations
|
|
for service of karmada apiserver. more info: https://github.com/karmada-io/karmada/issues/4634'
|
|
type: object
|
|
serviceSubnet:
|
|
description: ServiceSubnet is the subnet used by k8s services.
|
|
Defaults to "10.96.0.0/12".
|
|
type: string
|
|
serviceType:
|
|
description: ServiceType represents the service type of karmada
|
|
apiserver. it is ClusterIP by default.
|
|
type: string
|
|
type: object
|
|
karmadaAggregatedAPIServer:
|
|
description: KarmadaAggregatedAPIServer holds settings to karmada-aggregated-apiserver
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
certSANs:
|
|
description: CertSANs sets extra Subject Alternative Names
|
|
for the API Server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-aggregated-apiserver component or override.
|
|
A key in this map is the flag name as it appears on the
|
|
command line except without leading dash(es). \n Note: This
|
|
is a temporary solution to allow for the configuration of
|
|
the karmada-aggregated-apiserver component. In the future,
|
|
we will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be
|
|
used. Incorrect settings on this field maybe lead to the
|
|
corresponding component in an unhealthy state. Before you
|
|
do it, please confirm that you understand the risks of this
|
|
configuration. \n For supported flags, please see https://karmada.io/docs/reference/components/karmada-aggregated-apiserver
|
|
for details."
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. - CustomizedClusterResourceModeling:
|
|
https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaControllerManager:
|
|
description: KarmadaControllerManager holds settings to karmada-controller-manager
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
controllers:
|
|
description: "A list of controllers to enable. '*' enables
|
|
all on-by-default controllers, 'foo' enables the controller
|
|
named 'foo', '-foo' disables the controller named 'foo'.
|
|
\n All controllers: binding, cluster, clusterStatus, endpointSlice,
|
|
execution, federatedResourceQuotaStatus, federatedResourceQuotaSync,
|
|
hpa, namespace, serviceExport, serviceImport, unifiedAuth,
|
|
workStatus. Disabled-by-default controllers: hpa (default
|
|
[*]) Actual Supported controllers depend on the version
|
|
of Karmada. See https://karmada.io/docs/administrator/configuration/configure-controllers#configure-karmada-controllers
|
|
for details."
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-controller-manager component or override. A
|
|
key in this map is the flag name as it appears on the command
|
|
line except without leading dash(es). \n Note: This is a
|
|
temporary solution to allow for the configuration of the
|
|
karmada-controller-manager component. In the future, we
|
|
will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be
|
|
used. Incorrect settings on this field maybe lead to the
|
|
corresponding component in an unhealthy state. Before you
|
|
do it, please confirm that you understand the risks of this
|
|
configuration. \n For supported flags, please see https://karmada.io/docs/reference/components/karmada-controller-manager
|
|
for details."
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. - Failover:
|
|
https://karmada.io/docs/userguide/failover/#failover - GracefulEviction:
|
|
https://karmada.io/docs/userguide/failover/#graceful-eviction-feature
|
|
- PropagateDeps: https://karmada.io/docs/userguide/scheduling/propagate-dependencies
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaDescheduler:
|
|
description: KarmadaDescheduler holds settings to karmada-descheduler
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-descheduler component or override. A key in
|
|
this map is the flag name as it appears on the command line
|
|
except without leading dash(es). \n Note: This is a temporary
|
|
solution to allow for the configuration of the karmada-descheduler
|
|
component. In the future, we will provide a more structured
|
|
way to configure the component. Once that is done, this
|
|
field will be discouraged to be used. Incorrect settings
|
|
on this field maybe lead to the corresponding component
|
|
in an unhealthy state. Before you do it, please confirm
|
|
that you understand the risks of this configuration. \n
|
|
For supported flags, please see https://karmada.io/docs/reference/components/karmada-descheduler
|
|
for details."
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaMetricsAdapter:
|
|
description: KarmadaMetricsAdapter holds settings to karmada metrics
|
|
adapter component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-metrics-adapter component or override. A key
|
|
in this map is the flag name as it appears on the command
|
|
line except without leading dash(es). \n Note: This is a
|
|
temporary solution to allow for the configuration of the
|
|
karmada-metrics-adapter component. In the future, we will
|
|
provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be
|
|
used. Incorrect settings on this field maybe lead to the
|
|
corresponding component in an unhealthy state. Before you
|
|
do it, please confirm that you understand the risks of this
|
|
configuration. \n For supported flags, please see https://karmada.io/docs/reference/components/karmada-metrics-adapter
|
|
for details."
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaScheduler:
|
|
description: KarmadaScheduler holds settings to karmada-scheduler
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-scheduler component or override. A key in this
|
|
map is the flag name as it appears on the command line except
|
|
without leading dash(es). \n Note: This is a temporary solution
|
|
to allow for the configuration of the karmada-scheduler
|
|
component. In the future, we will provide a more structured
|
|
way to configure the component. Once that is done, this
|
|
field will be discouraged to be used. Incorrect settings
|
|
on this field maybe lead to the corresponding component
|
|
in an unhealthy state. Before you do it, please confirm
|
|
that you understand the risks of this configuration. \n
|
|
For supported flags, please see https://karmada.io/docs/reference/components/karmada-scheduler
|
|
for details."
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. - CustomizedClusterResourceModeling:
|
|
https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaSearch:
|
|
description: KarmadaSearch holds settings to karmada search component
|
|
of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-search component or override. A key in this
|
|
map is the flag name as it appears on the command line except
|
|
without leading dash(es). \n Note: This is a temporary solution
|
|
to allow for the configuration of the karmada-search component.
|
|
In the future, we will provide a more structured way to
|
|
configure the component. Once that is done, this field will
|
|
be discouraged to be used. Incorrect settings on this field
|
|
maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand
|
|
the risks of this configuration. \n For supported flags,
|
|
please see https://karmada.io/docs/reference/components/karmada-search
|
|
for details."
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaWebhook:
|
|
description: KarmadaWebhook holds settings to karmada-webhook
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the karmada-webhook component or override. A key in this
|
|
map is the flag name as it appears on the command line except
|
|
without leading dash(es). \n Note: This is a temporary solution
|
|
to allow for the configuration of the karmada-webhook component.
|
|
In the future, we will provide a more structured way to
|
|
configure the component. Once that is done, this field will
|
|
be discouraged to be used. Incorrect settings on this field
|
|
maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand
|
|
the risks of this configuration. \n For supported flags,
|
|
please see https://karmada.io/docs/reference/components/karmada-webhook
|
|
for details."
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
kubeControllerManager:
|
|
description: KubeControllerManager holds settings to kube-controller-manager
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
controllers:
|
|
description: "A list of controllers to enable. '*' enables
|
|
all on-by-default controllers, 'foo' enables the controller
|
|
named 'foo', '-foo' disables the controller named 'foo'.
|
|
\n All controllers: attachdetach, bootstrapsigner, cloud-node-lifecycle,
|
|
clusterrole-aggregation, cronjob, csrapproving, csrcleaner,
|
|
csrsigning, daemonset, deployment, disruption, endpoint,
|
|
endpointslice, endpointslicemirroring, ephemeral-volume,
|
|
garbagecollector, horizontalpodautoscaling, job, namespace,
|
|
nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-expander,
|
|
podgc, pv-protection, pvc-protection, replicaset, replicationcontroller,
|
|
resourcequota, root-ca-cert-publisher, route, service, serviceaccount,
|
|
serviceaccount-token, statefulset, tokencleaner, ttl, ttl-after-finished
|
|
Disabled-by-default controllers: bootstrapsigner, tokencleaner
|
|
(default [*]) Actual Supported controllers depend on the
|
|
version of Kubernetes. See https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
|
|
for details. \n However, Karmada uses Kubernetes Native
|
|
API definitions for federated resource template, so it doesn't
|
|
need enable some resource related controllers like daemonset,
|
|
deployment etc. On the other hand, Karmada leverages the
|
|
capabilities of the Kubernetes controller to manage the
|
|
lifecycle of the federated resource, so it needs to enable
|
|
some controllers. For example, the `namespace` controller
|
|
is used to manage the lifecycle of the namespace and the
|
|
`garbagecollector` controller handles automatic clean-up
|
|
of redundant items in your karmada. \n According to the
|
|
user feedback and karmada requirements, the following controllers
|
|
are enabled by default: namespace, garbagecollector, serviceaccount-token,
|
|
ttl-after-finished, bootstrapsigner,csrapproving,csrcleaner,csrsigning.
|
|
See https://karmada.io/docs/administrator/configuration/configure-controllers#kubernetes-controllers
|
|
\n Others are disabled by default. If you want to enable
|
|
or disable other controllers, you have to explicitly specify
|
|
all the controllers that kube-controller-manager should
|
|
enable at startup phase."
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: "ExtraArgs is an extra set of flags to pass to
|
|
the kube-controller-manager component or override. A key
|
|
in this map is the flag name as it appears on the command
|
|
line except without leading dash(es). \n Note: This is a
|
|
temporary solution to allow for the configuration of the
|
|
kube-controller-manager component. In the future, we will
|
|
provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be
|
|
used. Incorrect settings on this field maybe lead to the
|
|
corresponding component in an unhealthy state. Before you
|
|
do it, please confirm that you understand the risks of this
|
|
configuration. \n For supported flags, please see https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
|
|
for details."
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. More info:
|
|
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/'
|
|
type: object
|
|
imageRepository:
|
|
description: ImageRepository sets the container registry to
|
|
pull images from. if not set, the ImageRepository defined
|
|
in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically
|
|
the version of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
replicas:
|
|
description: Number of desired pods. This is a pointer to
|
|
distinguish between explicit zero and not specified. Defaults
|
|
to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: 'Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
claims:
|
|
description: "Claims lists the names of resources, defined
|
|
in spec.resourceClaims, that are used by this container.
|
|
\n This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate. \n This field
|
|
is immutable. It can only be set for containers."
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: Name must match the name of one entry
|
|
in pod.spec.resourceClaims of the Pod where this
|
|
field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount of
|
|
compute resources required. If Requests is omitted for
|
|
a container, it defaults to Limits if that is explicitly
|
|
specified, otherwise to an implementation-defined value.
|
|
Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: 'FeatureGates enabled by the user. - Failover: https://karmada.io/docs/userguide/failover/#failover
|
|
- GracefulEviction: https://karmada.io/docs/userguide/failover/#graceful-eviction-feature
|
|
- PropagateDeps: https://karmada.io/docs/userguide/scheduling/propagate-dependencies
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go'
|
|
type: object
|
|
hostCluster:
|
|
description: HostCluster represents the cluster where to install the
|
|
Karmada control plane. If not set, the control plane will be installed
|
|
on the cluster where running the operator.
|
|
properties:
|
|
apiEndpoint:
|
|
description: APIEndpoint is the API endpoint of the cluster where
|
|
deploy Karmada control plane on. This can be a hostname, hostname:port,
|
|
IP or IP:port.
|
|
type: string
|
|
networking:
|
|
description: Networking holds configuration for the networking
|
|
topology of the cluster.
|
|
properties:
|
|
dnsDomain:
|
|
description: DNSDomain is the dns domain used by k8s services.
|
|
Defaults to "cluster.local".
|
|
type: string
|
|
type: object
|
|
secretRef:
|
|
description: 'SecretRef represents the secret contains mandatory
|
|
credentials to access the cluster. The secret should hold credentials
|
|
as follows: - secret.data.token - secret.data.caBundle'
|
|
properties:
|
|
name:
|
|
description: Name is the name of resource being referenced.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace for the resource being
|
|
referenced.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
privateRegistry:
|
|
description: PrivateRegistry is the global image registry. If set,
|
|
the operator will pull all required images from it, no matter the
|
|
image is maintained by Karmada or Kubernetes. It will be useful
|
|
for offline installation to specify an accessible registry.
|
|
properties:
|
|
registry:
|
|
description: 'Registry is the image registry hostname, like: -
|
|
docker.io - fictional.registry.example'
|
|
type: string
|
|
required:
|
|
- registry
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Most recently observed status of the Karmada.
|
|
properties:
|
|
conditions:
|
|
description: Conditions represents the latest available observations
|
|
of a karmada's current state.
|
|
items:
|
|
description: "Condition contains details for one aspect of the current
|
|
state of this API Resource. --- This struct is intended for direct
|
|
use as an array at the field path .status.conditions. For example,
|
|
\n type FooStatus struct{ // Represents the observations of a
|
|
foo's current state. // Known .status.conditions.type are: \"Available\",
|
|
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
|
|
// +listType=map // +listMapKey=type Conditions []metav1.Condition
|
|
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
|
|
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
|
|
properties:
|
|
lastTransitionTime:
|
|
description: lastTransitionTime is the 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: message is a human readable message indicating
|
|
details about the transition. This may be an empty string.
|
|
maxLength: 32768
|
|
type: string
|
|
observedGeneration:
|
|
description: observedGeneration represents the .metadata.generation
|
|
that the condition was set based upon. For instance, if .metadata.generation
|
|
is currently 12, but the .status.conditions[x].observedGeneration
|
|
is 9, the condition is out of date with respect to the current
|
|
state of the instance.
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
reason:
|
|
description: reason contains a programmatic identifier indicating
|
|
the reason for the condition's last transition. Producers
|
|
of specific condition types may define expected values and
|
|
meanings for this field, and whether the values are considered
|
|
a guaranteed API. The value should be a CamelCase string.
|
|
This field may not be empty.
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: status of the condition, one of True, False, Unknown.
|
|
enum:
|
|
- "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. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
karmadaVersion:
|
|
description: KarmadaVersion represent the karmada version.
|
|
type: string
|
|
kubernetesVersion:
|
|
description: KubernetesVersion represent the karmada-apiserver version.
|
|
type: string
|
|
observedGeneration:
|
|
description: ObservedGeneration is the last observed generation.
|
|
format: int64
|
|
type: integer
|
|
secretRef:
|
|
description: after the karmada installed, restore the kubeconfig to
|
|
secret.
|
|
properties:
|
|
name:
|
|
description: Name is the name of resource being referenced.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace for the resource being
|
|
referenced.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|