224 lines
10 KiB
YAML
224 lines
10 KiB
YAML
|
||
---
|
||
apiVersion: apiextensions.k8s.io/v1
|
||
kind: CustomResourceDefinition
|
||
metadata:
|
||
annotations:
|
||
controller-gen.kubebuilder.io/version: v0.4.1
|
||
creationTimestamp: null
|
||
name: resourcebindings.work.karmada.io
|
||
spec:
|
||
group: work.karmada.io
|
||
names:
|
||
kind: ResourceBinding
|
||
listKind: ResourceBindingList
|
||
plural: resourcebindings
|
||
shortNames:
|
||
- rb
|
||
singular: resourcebinding
|
||
scope: Namespaced
|
||
versions:
|
||
- name: v1alpha1
|
||
schema:
|
||
openAPIV3Schema:
|
||
description: ResourceBinding represents a binding of a kubernetes resource
|
||
with a propagation policy.
|
||
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 represents the desired behavior.
|
||
properties:
|
||
clusters:
|
||
description: Clusters represents target member clusters where the
|
||
resource to be deployed.
|
||
items:
|
||
description: TargetCluster represents the identifier of a member
|
||
cluster.
|
||
properties:
|
||
name:
|
||
description: Name of target cluster.
|
||
type: string
|
||
replicas:
|
||
description: Replicas in target cluster
|
||
format: int32
|
||
type: integer
|
||
required:
|
||
- name
|
||
type: object
|
||
type: array
|
||
resource:
|
||
description: Resource represents the Kubernetes resource to be propagated.
|
||
properties:
|
||
apiVersion:
|
||
description: APIVersion represents the API version of the referent.
|
||
type: string
|
||
kind:
|
||
description: Kind represents the Kind of the referent.
|
||
type: string
|
||
name:
|
||
description: Name represents the name of the referent.
|
||
type: string
|
||
namespace:
|
||
description: Namespace represents the namespace for the referent.
|
||
For non-namespace scoped resources(e.g. 'ClusterRole'),do not
|
||
need specify Namespace, and for namespace scoped resources,
|
||
Namespace is required. If Namespace is not specified, means
|
||
the resource is non-namespace scoped.
|
||
type: string
|
||
replicas:
|
||
description: Replicas represents the replica number of the referencing
|
||
resource.
|
||
format: int32
|
||
type: integer
|
||
resourcePerReplicas:
|
||
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: ReplicaResourceRequirements represents the resources
|
||
required by each replica.
|
||
type: object
|
||
resourceVersion:
|
||
description: ResourceVersion represents the internal version of
|
||
the referenced object, that can be used by clients to determine
|
||
when object has changed.
|
||
type: string
|
||
required:
|
||
- apiVersion
|
||
- kind
|
||
- name
|
||
type: object
|
||
required:
|
||
- resource
|
||
type: object
|
||
status:
|
||
description: Status represents the most recently observed status of the
|
||
ResourceBinding.
|
||
properties:
|
||
aggregatedStatus:
|
||
description: AggregatedStatus represents status list of the resource
|
||
running in each member cluster.
|
||
items:
|
||
description: AggregatedStatusItem represents status of the resource
|
||
running in a member cluster.
|
||
properties:
|
||
applied:
|
||
description: Applied represents if the resource referencing
|
||
by ResourceBinding or ClusterResourceBinding is successfully
|
||
applied on the cluster.
|
||
type: boolean
|
||
appliedMessage:
|
||
description: AppliedMessage is a human readable message indicating
|
||
details about the applied status. This is usually holds the
|
||
error message in case of apply failed.
|
||
type: string
|
||
clusterName:
|
||
description: ClusterName represents the member cluster name
|
||
which the resource deployed on.
|
||
type: string
|
||
status:
|
||
description: Status reflects running status of current manifest.
|
||
type: object
|
||
x-kubernetes-preserve-unknown-fields: true
|
||
required:
|
||
- clusterName
|
||
type: object
|
||
type: array
|
||
conditions:
|
||
description: Conditions contain the different condition statuses.
|
||
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,
|
||
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
|
||
type: object
|
||
required:
|
||
- spec
|
||
type: object
|
||
served: true
|
||
storage: true
|
||
subresources:
|
||
status: {}
|
||
status:
|
||
acceptedNames:
|
||
kind: ""
|
||
plural: ""
|
||
conditions: []
|
||
storedVersions: []
|