mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-02-14 18:09:58 +00:00
284 lines
14 KiB
YAML
284 lines
14 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.10.0
|
|
creationTimestamp: null
|
|
name: globaltenantresources.capsule.clastix.io
|
|
spec:
|
|
group: capsule.clastix.io
|
|
names:
|
|
kind: GlobalTenantResource
|
|
listKind: GlobalTenantResourceList
|
|
plural: globaltenantresources
|
|
singular: globaltenantresource
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1beta2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GlobalTenantResource allows to propagate resource replications
|
|
to a specific subset of Tenant resources.
|
|
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: GlobalTenantResourceSpec defines the desired state of GlobalTenantResource.
|
|
properties:
|
|
pruningOnDelete:
|
|
default: true
|
|
description: When the replicated resource manifest is deleted, all
|
|
the objects replicated so far will be automatically deleted. Disable
|
|
this to keep replicated resources although the deletion of the replication
|
|
manifest.
|
|
type: boolean
|
|
resources:
|
|
description: Defines the rules to select targeting Namespace, along
|
|
with the objects that must be replicated.
|
|
items:
|
|
properties:
|
|
additionalMetadata:
|
|
description: Besides the Capsule metadata required by TenantResource
|
|
controller, defines additional metadata that must be added
|
|
to the replicated resources.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
namespaceSelector:
|
|
description: Defines the Namespace selector to select the Tenant
|
|
Namespaces on which the resources must be propagated. In case
|
|
of nil value, all the Tenant Namespaces are targeted.
|
|
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
|
|
namespacedItems:
|
|
description: List of the resources already existing in other
|
|
Namespaces that must be replicated.
|
|
items:
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
kind:
|
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
selector:
|
|
description: Label selector used to select the given resources
|
|
in the given Namespace.
|
|
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
|
|
required:
|
|
- kind
|
|
- namespace
|
|
- selector
|
|
type: object
|
|
type: array
|
|
rawItems:
|
|
description: List of raw resources that must be replicated.
|
|
items:
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
type: object
|
|
type: array
|
|
resyncPeriod:
|
|
default: 60s
|
|
description: Define the period of time upon a second reconciliation
|
|
must be invoked. Keep in mind that any change to the manifests will
|
|
trigger a new reconciliation.
|
|
type: string
|
|
tenantSelector:
|
|
description: Defines the Tenant selector used target the tenants on
|
|
which resources must be propagated.
|
|
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
|
|
required:
|
|
- resources
|
|
- resyncPeriod
|
|
type: object
|
|
status:
|
|
description: GlobalTenantResourceStatus defines the observed state of
|
|
GlobalTenantResource.
|
|
properties:
|
|
processedItems:
|
|
description: List of the replicated resources for the given TenantResource.
|
|
items:
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
kind:
|
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
- namespace
|
|
type: object
|
|
type: array
|
|
selectedTenants:
|
|
description: List of Tenants addressed by the GlobalTenantResource.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- processedItems
|
|
- selectedTenants
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|