**Description** <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> ⚒️ Fixes # <!--(issue)--> **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code - [ ] 📜 Documentation Changes **🧪 How Has This Been Tested?** <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> **📃 Notes:** <!-- Please enter any other relevant information here --> **✔️ Checklist:** - [x] ⚖️ My code follows the style guidelines of this project - [x] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made changes to the documentation - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [x] ⬆️ I increased versions for any altered app according to semantic versioning - [x] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or `fix(docs):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._
2163 lines
92 KiB
YAML
2163 lines
92 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: csiaddonsnodes.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: CSIAddonsNode
|
|
listKind: CSIAddonsNodeList
|
|
plural: csiaddonsnodes
|
|
singular: csiaddonsnode
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.namespace
|
|
name: namespace
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .spec.driver.name
|
|
name: DriverName
|
|
type: string
|
|
- jsonPath: .spec.driver.endpoint
|
|
name: Endpoint
|
|
type: string
|
|
- jsonPath: .spec.driver.nodeID
|
|
name: NodeID
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: CSIAddonsNode is the Schema for the csiaddonsnode API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: CSIAddonsNodeSpec defines the desired state of CSIAddonsNode
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
Driver is the information of the CSI Driver existing on a node.
|
|
If the driver is uninstalled, this can become empty.
|
|
properties:
|
|
endpoint:
|
|
description: |-
|
|
EndPoint is url that contains the ip-address to which the CSI-Addons
|
|
side-car listens to.
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name is the name of the CSI driver that this object refers to.
|
|
This must be the same name returned by the CSI-Addons GetIdentity()
|
|
call for that driver. The name of the driver is in the format:
|
|
`example.csi.ceph.com`
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: name is immutable
|
|
rule: self == oldSelf
|
|
nodeID:
|
|
description: |-
|
|
NodeID is the ID of the node to identify on which node the side-car
|
|
is running.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: nodeID is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- endpoint
|
|
- name
|
|
- nodeID
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
status:
|
|
description: CSIAddonsNodeStatus defines the observed state of CSIAddonsNode
|
|
properties:
|
|
capabilities:
|
|
description: A list of capabilities advertised by the sidecar
|
|
items:
|
|
type: string
|
|
type: array
|
|
message:
|
|
description: |-
|
|
Message is a human-readable message indicating details about why the CSIAddonsNode
|
|
is in this state.
|
|
type: string
|
|
networkFenceClientStatus:
|
|
description: NetworkFenceClientStatus contains the status of the clients
|
|
required for fencing.
|
|
items:
|
|
description: NetworkFenceClientStatus contains the status of the
|
|
clients required for fencing.
|
|
properties:
|
|
ClientDetails:
|
|
items:
|
|
description: ClientDetail contains the details of the client
|
|
required for fencing.
|
|
properties:
|
|
cidrs:
|
|
description: Cidrs is the list of CIDR blocks that are
|
|
fenced.
|
|
items:
|
|
type: string
|
|
type: array
|
|
id:
|
|
description: Id is the unique identifier of the client
|
|
where it belongs to.
|
|
type: string
|
|
required:
|
|
- cidrs
|
|
- id
|
|
type: object
|
|
type: array
|
|
networkFenceClassName:
|
|
type: string
|
|
required:
|
|
- ClientDetails
|
|
- networkFenceClassName
|
|
type: object
|
|
type: array
|
|
reason:
|
|
description: |-
|
|
Reason is a brief CamelCase string that describes any failure and is meant
|
|
for machine parsing and tidy display in the CLI.
|
|
type: string
|
|
state:
|
|
description: |-
|
|
State represents the state of the CSIAddonsNode object.
|
|
It informs whether or not the CSIAddonsNode is Connected
|
|
to the CSI Driver.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: encryptionkeyrotationcronjobs.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: EncryptionKeyRotationCronJob
|
|
listKind: EncryptionKeyRotationCronJobList
|
|
plural: encryptionkeyrotationcronjobs
|
|
singular: encryptionkeyrotationcronjob
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.schedule
|
|
name: Schedule
|
|
type: string
|
|
- jsonPath: .spec.suspend
|
|
name: Suspend
|
|
type: boolean
|
|
- jsonPath: .status.active.name
|
|
name: Active
|
|
type: string
|
|
- jsonPath: .status.lastScheduleTime
|
|
name: Lastschedule
|
|
type: date
|
|
- jsonPath: .status.lastSuccessfulTime
|
|
name: Lastsuccessfultime
|
|
priority: 1
|
|
type: date
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: EncryptionKeyRotationCronJob is the Schema for the encryptionkeyrotationcronjobs
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: EncryptionKeyRotationCronJobSpec defines the desired state
|
|
of EncryptionKeyRotationCronJob
|
|
properties:
|
|
concurrencyPolicy:
|
|
default: Forbid
|
|
description: |-
|
|
Specifies how to treat concurrent executions of a Job.
|
|
Valid values are:
|
|
- "Forbid" (default): forbids concurrent runs, skipping next run if
|
|
previous run hasn't finished yet;
|
|
- "Replace": cancels currently running job and replaces it
|
|
with a new one
|
|
enum:
|
|
- Forbid
|
|
- Replace
|
|
type: string
|
|
failedJobsHistoryLimit:
|
|
default: 1
|
|
description: |-
|
|
The number of failed finished jobs to retain. Value must be non-negative integer.
|
|
Defaults to 1.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
jobTemplate:
|
|
description: Specifies the job that will be created when executing
|
|
a CronJob.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
Standard object's metadata of the jobs created from this template.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
Specification of the desired behavior of the job.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
|
properties:
|
|
backOffLimit:
|
|
default: 6
|
|
description: |-
|
|
BackOffLimit specifies the number of retries allowed before marking reclaim
|
|
space operation as failed. If not specified, defaults to 6. Maximum allowed
|
|
value is 60 and minimum allowed value is 0.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
retryDeadlineSeconds:
|
|
default: 600
|
|
description: |-
|
|
RetryDeadlineSeconds specifies the duration in seconds relative to the
|
|
start time that the operation may be retried; value MUST be positive integer.
|
|
If not specified, defaults to 600 seconds. Maximum allowed
|
|
value is 1800.
|
|
format: int64
|
|
maximum: 1800
|
|
minimum: 0
|
|
type: integer
|
|
target:
|
|
description: |-
|
|
Target represents tvolume target on which operation will be
|
|
performed.
|
|
properties:
|
|
persistentVolumeClaim:
|
|
description: PersistentVolumeClaim specifies the target
|
|
PersistentVolumeClaim name.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: persistentVolumeClaim is immutable
|
|
rule: self == oldSelf
|
|
type: object
|
|
timeout:
|
|
description: |-
|
|
Timeout specifies the timeout in seconds for the grpc request sent to the
|
|
CSI driver.
|
|
Minimum allowed value is 60.
|
|
format: int64
|
|
minimum: 60
|
|
type: integer
|
|
required:
|
|
- target
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
schedule:
|
|
description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
|
|
pattern: .+
|
|
type: string
|
|
startingDeadlineSeconds:
|
|
description: |-
|
|
Optional deadline in seconds for starting the job if it misses scheduled
|
|
time for any reason. Missed jobs executions will be counted as failed ones.
|
|
format: int64
|
|
type: integer
|
|
successfulJobsHistoryLimit:
|
|
default: 3
|
|
description: |-
|
|
The number of successful finished jobs to retain. Value must be non-negative integer.
|
|
Defaults to 3.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
suspend:
|
|
description: |-
|
|
This flag tells the controller to suspend subsequent executions, it does
|
|
not apply to already started executions. Defaults to false.
|
|
type: boolean
|
|
required:
|
|
- jobTemplate
|
|
- schedule
|
|
type: object
|
|
status:
|
|
description: EncryptionKeyRotationCronJobStatus defines the observed state
|
|
of EncryptionKeyRotationCronJob
|
|
properties:
|
|
active:
|
|
description: A pointer to currently running job.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
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
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
lastScheduleTime:
|
|
description: Information when was the last time the job was successfully
|
|
scheduled.
|
|
format: date-time
|
|
type: string
|
|
lastSuccessfulTime:
|
|
description: Information when was the last time the job successfully
|
|
completed.
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: encryptionkeyrotationjobs.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: EncryptionKeyRotationJob
|
|
listKind: EncryptionKeyRotationJobList
|
|
plural: encryptionkeyrotationjobs
|
|
singular: encryptionkeyrotationjob
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.namespace
|
|
name: Namespace
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .status.retries
|
|
name: Retries
|
|
type: integer
|
|
- jsonPath: .status.result
|
|
name: Result
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: EncryptionKeyRotationJob is the Schema for the encryptionkeyrotationjobs
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: EncryptionKeyRotationJobSpec defines the desired state of
|
|
EncryptionKeyRotationJob
|
|
properties:
|
|
backOffLimit:
|
|
default: 6
|
|
description: |-
|
|
BackOffLimit specifies the number of retries allowed before marking reclaim
|
|
space operation as failed. If not specified, defaults to 6. Maximum allowed
|
|
value is 60 and minimum allowed value is 0.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
retryDeadlineSeconds:
|
|
default: 600
|
|
description: |-
|
|
RetryDeadlineSeconds specifies the duration in seconds relative to the
|
|
start time that the operation may be retried; value MUST be positive integer.
|
|
If not specified, defaults to 600 seconds. Maximum allowed
|
|
value is 1800.
|
|
format: int64
|
|
maximum: 1800
|
|
minimum: 0
|
|
type: integer
|
|
target:
|
|
description: |-
|
|
Target represents tvolume target on which operation will be
|
|
performed.
|
|
properties:
|
|
persistentVolumeClaim:
|
|
description: PersistentVolumeClaim specifies the target PersistentVolumeClaim
|
|
name.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: persistentVolumeClaim is immutable
|
|
rule: self == oldSelf
|
|
type: object
|
|
timeout:
|
|
description: |-
|
|
Timeout specifies the timeout in seconds for the grpc request sent to the
|
|
CSI driver.
|
|
Minimum allowed value is 60.
|
|
format: int64
|
|
minimum: 60
|
|
type: integer
|
|
required:
|
|
- target
|
|
type: object
|
|
status:
|
|
description: EncryptionKeyRotationJobStatus defines the observed state
|
|
of EncryptionKeyRotationJob
|
|
properties:
|
|
completionTime:
|
|
format: date-time
|
|
type: string
|
|
conditions:
|
|
description: Conditions are the list of conditions and their status.
|
|
items:
|
|
description: Condition contains details for one aspect of the current
|
|
state of this API Resource.
|
|
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.
|
|
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
|
|
message:
|
|
description: Message contains any message from the EncryptionKeyRotationJob.
|
|
type: string
|
|
result:
|
|
description: Result indicates the result of EncryptionKeyRotationJob.
|
|
type: string
|
|
retries:
|
|
description: Retries indicates the number of times the operation is
|
|
retried.
|
|
format: int32
|
|
type: integer
|
|
startTime:
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: networkfenceclasses.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: NetworkFenceClass
|
|
listKind: NetworkFenceClassList
|
|
plural: networkfenceclasses
|
|
singular: networkfenceclass
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: NetworkFenceClass is the Schema for the networkfenceclasses API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: |-
|
|
NetworkFenceClassSpec specifies parameters that an underlying storage system uses
|
|
to get client for network fencing. Upon creating a NetworkFenceClass object, a RPC will be set
|
|
to the storage system that matches the provisioner to get the client for network fencing.
|
|
properties:
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Parameters is a key-value map with storage provisioner specific configurations for
|
|
creating volume replicas
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: self == oldSelf
|
|
provisioner:
|
|
description: Provisioner is the name of storage provisioner
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: provisioner is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- provisioner
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: has(self.parameters) == has(oldSelf.parameters)
|
|
status:
|
|
description: NetworkFenceClassStatus defines the observed state of NetworkFenceClass
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: networkfences.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: NetworkFence
|
|
listKind: NetworkFenceList
|
|
plural: networkfences
|
|
singular: networkfence
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.driver
|
|
name: Driver
|
|
type: string
|
|
- jsonPath: .spec.cidrs
|
|
name: Cidrs
|
|
type: string
|
|
- jsonPath: .spec.fenceState
|
|
name: FenceState
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .status.result
|
|
name: Result
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: NetworkFence is the Schema for the networkfences API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: NetworkFenceSpec defines the desired state of NetworkFence
|
|
properties:
|
|
cidrs:
|
|
description: Cidrs contains a list of CIDR blocks, which are required
|
|
to be fenced.
|
|
items:
|
|
type: string
|
|
type: array
|
|
driver:
|
|
description: Driver contains the name of CSI driver, required if NetworkFenceClassName
|
|
is absent
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: driver is immutable
|
|
rule: self == oldSelf
|
|
fenceState:
|
|
default: Fenced
|
|
description: |-
|
|
FenceState contains the desired state for the CIDRs
|
|
mentioned in the Spec. i.e. Fenced or Unfenced
|
|
enum:
|
|
- Fenced
|
|
- Unfenced
|
|
type: string
|
|
networkFenceClassName:
|
|
description: NetworkFenceClassName contains the name of the NetworkFenceClass
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: networkFenceClassName is immutable
|
|
rule: self == oldSelf
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
description: Parameters is used to pass additional parameters to the
|
|
CSI driver.
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: self == oldSelf
|
|
secret:
|
|
description: Secret is a kubernetes secret, which is required to perform
|
|
the fence/unfence operation.
|
|
properties:
|
|
name:
|
|
description: Name specifies the name of the secret.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: name is immutable
|
|
rule: self == oldSelf
|
|
namespace:
|
|
description: |-
|
|
Namespace specifies the namespace in which the secret
|
|
is located.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: namespace is immutable
|
|
rule: self == oldSelf
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: secrets are immutable
|
|
rule: self == oldSelf
|
|
- message: secret is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- cidrs
|
|
- fenceState
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: one of driver or networkFenceClassName must be present
|
|
rule: has(self.driver) || has(self.networkFenceClassName)
|
|
- message: secret must be present when networkFenceClassName is not specified
|
|
rule: has(self.networkFenceClassName) || has(self.secret)
|
|
status:
|
|
description: NetworkFenceStatus defines the observed state of NetworkFence
|
|
properties:
|
|
conditions:
|
|
description: Conditions are the list of conditions and their status.
|
|
items:
|
|
description: Condition contains details for one aspect of the current
|
|
state of this API Resource.
|
|
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.
|
|
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
|
|
message:
|
|
description: Message contains any message from the NetworkFence operation.
|
|
type: string
|
|
result:
|
|
description: Result indicates the result of Network Fence/Unfence
|
|
operation.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: reclaimspacecronjobs.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: ReclaimSpaceCronJob
|
|
listKind: ReclaimSpaceCronJobList
|
|
plural: reclaimspacecronjobs
|
|
singular: reclaimspacecronjob
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.schedule
|
|
name: Schedule
|
|
type: string
|
|
- jsonPath: .spec.suspend
|
|
name: Suspend
|
|
type: boolean
|
|
- jsonPath: .status.active.name
|
|
name: Active
|
|
type: string
|
|
- jsonPath: .status.lastScheduleTime
|
|
name: Lastschedule
|
|
type: date
|
|
- jsonPath: .status.lastSuccessfulTime
|
|
name: Lastsuccessfultime
|
|
priority: 1
|
|
type: date
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ReclaimSpaceCronJob is the Schema for the reclaimspacecronjobs
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: ReclaimSpaceCronJobSpec defines the desired state of ReclaimSpaceJob
|
|
properties:
|
|
concurrencyPolicy:
|
|
default: Forbid
|
|
description: |-
|
|
Specifies how to treat concurrent executions of a Job.
|
|
Valid values are:
|
|
- "Forbid" (default): forbids concurrent runs, skipping next run if
|
|
previous run hasn't finished yet;
|
|
- "Replace": cancels currently running job and replaces it
|
|
with a new one
|
|
enum:
|
|
- Forbid
|
|
- Replace
|
|
type: string
|
|
failedJobsHistoryLimit:
|
|
default: 1
|
|
description: |-
|
|
The number of failed finished jobs to retain. Value must be non-negative integer.
|
|
Defaults to 1.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
jobTemplate:
|
|
description: Specifies the job that will be created when executing
|
|
a CronJob.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
Standard object's metadata of the jobs created from this template.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
Specification of the desired behavior of the job.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
|
properties:
|
|
backOffLimit:
|
|
default: 6
|
|
description: |-
|
|
BackOffLimit specifies the number of retries allowed before marking reclaim
|
|
space operation as failed. If not specified, defaults to 6. Maximum allowed
|
|
value is 60 and minimum allowed value is 0.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
retryDeadlineSeconds:
|
|
default: 600
|
|
description: |-
|
|
RetryDeadlineSeconds specifies the duration in seconds relative to the
|
|
start time that the operation may be retried; value MUST be positive integer.
|
|
If not specified, defaults to 600 seconds. Maximum allowed
|
|
value is 1800.
|
|
format: int64
|
|
maximum: 1800
|
|
minimum: 0
|
|
type: integer
|
|
target:
|
|
description: |-
|
|
Target represents volume target on which the operation will be
|
|
performed.
|
|
properties:
|
|
persistentVolumeClaim:
|
|
description: PersistentVolumeClaim specifies the target
|
|
PersistentVolumeClaim name.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: persistentVolumeClaim is immutable
|
|
rule: self == oldSelf
|
|
type: object
|
|
timeout:
|
|
description: |-
|
|
Timeout specifies the timeout in seconds for the grpc request sent to the
|
|
CSI driver. If not specified, defaults to global reclaimspace timeout.
|
|
Minimum allowed value is 60.
|
|
format: int64
|
|
minimum: 60
|
|
type: integer
|
|
required:
|
|
- target
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
schedule:
|
|
description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
|
|
pattern: .+
|
|
type: string
|
|
startingDeadlineSeconds:
|
|
description: |-
|
|
Optional deadline in seconds for starting the job if it misses scheduled
|
|
time for any reason. Missed jobs executions will be counted as failed ones.
|
|
format: int64
|
|
type: integer
|
|
successfulJobsHistoryLimit:
|
|
default: 3
|
|
description: |-
|
|
The number of successful finished jobs to retain. Value must be non-negative integer.
|
|
Defaults to 3.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
suspend:
|
|
description: |-
|
|
This flag tells the controller to suspend subsequent executions, it does
|
|
not apply to already started executions. Defaults to false.
|
|
type: boolean
|
|
required:
|
|
- jobTemplate
|
|
- schedule
|
|
type: object
|
|
status:
|
|
description: ReclaimSpaceCronJobStatus defines the observed state of ReclaimSpaceJob
|
|
properties:
|
|
active:
|
|
description: A pointer to currently running job.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
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
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
lastScheduleTime:
|
|
description: Information when was the last time the job was successfully
|
|
scheduled.
|
|
format: date-time
|
|
type: string
|
|
lastSuccessfulTime:
|
|
description: Information when was the last time the job successfully
|
|
completed.
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: reclaimspacejobs.csiaddons.openshift.io
|
|
spec:
|
|
group: csiaddons.openshift.io
|
|
names:
|
|
kind: ReclaimSpaceJob
|
|
listKind: ReclaimSpaceJobList
|
|
plural: reclaimspacejobs
|
|
singular: reclaimspacejob
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.namespace
|
|
name: Namespace
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .status.retries
|
|
name: Retries
|
|
type: integer
|
|
- jsonPath: .status.result
|
|
name: Result
|
|
type: string
|
|
- jsonPath: .status.reclaimedSpace
|
|
name: ReclaimedSpace
|
|
priority: 1
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ReclaimSpaceJob is the Schema for the reclaimspacejobs API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: ReclaimSpaceJobSpec defines the desired state of ReclaimSpaceJob
|
|
properties:
|
|
backOffLimit:
|
|
default: 6
|
|
description: |-
|
|
BackOffLimit specifies the number of retries allowed before marking reclaim
|
|
space operation as failed. If not specified, defaults to 6. Maximum allowed
|
|
value is 60 and minimum allowed value is 0.
|
|
format: int32
|
|
maximum: 60
|
|
minimum: 0
|
|
type: integer
|
|
retryDeadlineSeconds:
|
|
default: 600
|
|
description: |-
|
|
RetryDeadlineSeconds specifies the duration in seconds relative to the
|
|
start time that the operation may be retried; value MUST be positive integer.
|
|
If not specified, defaults to 600 seconds. Maximum allowed
|
|
value is 1800.
|
|
format: int64
|
|
maximum: 1800
|
|
minimum: 0
|
|
type: integer
|
|
target:
|
|
description: |-
|
|
Target represents volume target on which the operation will be
|
|
performed.
|
|
properties:
|
|
persistentVolumeClaim:
|
|
description: PersistentVolumeClaim specifies the target PersistentVolumeClaim
|
|
name.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: persistentVolumeClaim is immutable
|
|
rule: self == oldSelf
|
|
type: object
|
|
timeout:
|
|
description: |-
|
|
Timeout specifies the timeout in seconds for the grpc request sent to the
|
|
CSI driver. If not specified, defaults to global reclaimspace timeout.
|
|
Minimum allowed value is 60.
|
|
format: int64
|
|
minimum: 60
|
|
type: integer
|
|
required:
|
|
- target
|
|
type: object
|
|
status:
|
|
description: ReclaimSpaceJobStatus defines the observed state of ReclaimSpaceJob
|
|
properties:
|
|
completionTime:
|
|
format: date-time
|
|
type: string
|
|
conditions:
|
|
description: Conditions are the list of conditions and their status.
|
|
items:
|
|
description: Condition contains details for one aspect of the current
|
|
state of this API Resource.
|
|
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.
|
|
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
|
|
message:
|
|
description: Message contains any message from the ReclaimSpaceJob.
|
|
type: string
|
|
reclaimedSpace:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: ReclaimedSpace indicates the amount of space reclaimed.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
result:
|
|
description: Result indicates the result of ReclaimSpaceJob.
|
|
type: string
|
|
retries:
|
|
description: Retries indicates the number of times the operation is
|
|
retried.
|
|
format: int32
|
|
type: integer
|
|
startTime:
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: volumegroupreplicationclasses.replication.storage.openshift.io
|
|
spec:
|
|
group: replication.storage.openshift.io
|
|
names:
|
|
kind: VolumeGroupReplicationClass
|
|
listKind: VolumeGroupReplicationClassList
|
|
plural: volumegroupreplicationclasses
|
|
shortNames:
|
|
- vgrc
|
|
singular: volumegroupreplicationclass
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.provisioner
|
|
name: provisioner
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeGroupReplicationClass is the Schema for the volumegroupreplicationclasses
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: |-
|
|
VolumeGroupReplicationClassSpec specifies parameters that an underlying storage system uses
|
|
when creating a volumegroup replica. A specific VolumeGroupReplicationClass is used by specifying
|
|
its name in a VolumeGroupReplication object.
|
|
properties:
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Parameters is a key-value map with storage provisioner specific configurations for
|
|
creating volume group replicas
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: self == oldSelf
|
|
provisioner:
|
|
description: Provisioner is the name of storage provisioner
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: provisioner is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- provisioner
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: has(self.parameters) == has(oldSelf.parameters)
|
|
status:
|
|
description: VolumeGroupReplicationClassStatus defines the observed state
|
|
of VolumeGroupReplicationClass
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: volumegroupreplicationcontents.replication.storage.openshift.io
|
|
spec:
|
|
group: replication.storage.openshift.io
|
|
names:
|
|
kind: VolumeGroupReplicationContent
|
|
listKind: VolumeGroupReplicationContentList
|
|
plural: volumegroupreplicationcontents
|
|
shortNames:
|
|
- vgrcontent
|
|
singular: volumegroupreplicationcontent
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.volumeGroupReplicationClassName
|
|
name: VolumeGroupReplicationClass
|
|
type: string
|
|
- jsonPath: .spec.volumeGroupReplicationRef.name
|
|
name: VolumeGroupReplication
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeGroupReplicationContent is the Schema for the volumegroupreplicationcontents
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: VolumeGroupReplicationContentSpec defines the desired state
|
|
of VolumeGroupReplicationContent
|
|
properties:
|
|
provisioner:
|
|
description: |-
|
|
provisioner is the name of the CSI driver used to create the physical
|
|
volume group on
|
|
the underlying storage system.
|
|
This MUST be the same as the name returned by the CSI GetPluginName() call for
|
|
that driver.
|
|
Required.
|
|
type: string
|
|
source:
|
|
description: |-
|
|
Source specifies whether the volume group is (or should be) dynamically provisioned
|
|
or already exists using the volumes listed here, and just requires a
|
|
Kubernetes object representation.
|
|
Required.
|
|
properties:
|
|
volumeHandles:
|
|
description: |-
|
|
VolumeHandles is a list of volume handles on the backend to be grouped
|
|
and replicated.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- volumeHandles
|
|
type: object
|
|
volumeGroupAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: volumeGroupAttributes holds the contextual information
|
|
of the volume group.
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: field is immutable
|
|
rule: self == oldSelf
|
|
volumeGroupReplicationClassName:
|
|
description: |-
|
|
VolumeGroupReplicationClassName is the name of the VolumeGroupReplicationClass from
|
|
which this group replication was (or will be) created.
|
|
Required.
|
|
type: string
|
|
volumeGroupReplicationHandle:
|
|
description: |-
|
|
VolumeGroupReplicationHandle is a unique id returned by the CSI driver
|
|
to identify the VolumeGroupReplication on the storage system.
|
|
type: string
|
|
volumeGroupReplicationRef:
|
|
description: |-
|
|
VolumeGroupreplicationRef specifies the VolumeGroupReplication object to which this
|
|
VolumeGroupReplicationContent object is bound.
|
|
VolumeGroupReplication.Spec.VolumeGroupReplicationContentName field must reference to
|
|
this VolumeGroupReplicationContent's name for the bidirectional binding to be valid.
|
|
For a pre-existing VolumeGroupReplication object, MUST provide an empty/nil value for
|
|
VolumeGroupReplicationRef for the auto-binding to happen.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
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
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
x-kubernetes-validations:
|
|
- message: volumeGroupReplicationRef.name, volumeGroupReplicationRef.namespace
|
|
and volumeGroupReplicationRef.uid must be set if volumeGroupReplicationRef
|
|
is defined
|
|
rule: 'self != null ? has(self.name) && has(self.__namespace__)
|
|
&& has(self.uid) : true'
|
|
required:
|
|
- provisioner
|
|
- source
|
|
- volumeGroupReplicationClassName
|
|
type: object
|
|
status:
|
|
description: VolumeGroupReplicationContentStatus defines the status of
|
|
VolumeGroupReplicationContent
|
|
properties:
|
|
persistentVolumeRefList:
|
|
description: |-
|
|
PersistentVolumeRefList is the list of PV for the group replication
|
|
The maximum number of allowed PV in the group is 100.
|
|
items:
|
|
description: |-
|
|
LocalObjectReference contains enough information to let you locate the
|
|
referenced object inside the same namespace.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: volumegroupreplications.replication.storage.openshift.io
|
|
spec:
|
|
group: replication.storage.openshift.io
|
|
names:
|
|
kind: VolumeGroupReplication
|
|
listKind: VolumeGroupReplicationList
|
|
plural: volumegroupreplications
|
|
shortNames:
|
|
- vgr
|
|
singular: volumegroupreplication
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.volumeGroupReplicationClassName
|
|
name: VolumeGroupReplicationClass
|
|
type: string
|
|
- jsonPath: .spec.volumeGroupReplicationContentName
|
|
name: VolumeGroupReplicationContent
|
|
type: string
|
|
- jsonPath: .spec.replicationState
|
|
name: desiredState
|
|
type: string
|
|
- jsonPath: .status.state
|
|
name: currentState
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeGroupReplication is the Schema for the volumegroupreplications
|
|
API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: VolumeGroupReplicationSpec defines the desired state of VolumeGroupReplication
|
|
properties:
|
|
autoResync:
|
|
default: false
|
|
description: |-
|
|
AutoResync represents the group to be auto resynced when
|
|
ReplicationState is "secondary"
|
|
type: boolean
|
|
external:
|
|
default: false
|
|
description: |-
|
|
External represents if VolumeGroupReplication should be reconciled by the csi-addons controller
|
|
or an external controller managed by the storage vendor.
|
|
type: boolean
|
|
x-kubernetes-validations:
|
|
- message: source is immutable
|
|
rule: self == oldSelf
|
|
replicationState:
|
|
description: |-
|
|
ReplicationState represents the replication operation to be performed on the group.
|
|
Supported operations are "primary", "secondary" and "resync"
|
|
enum:
|
|
- primary
|
|
- secondary
|
|
- resync
|
|
type: string
|
|
source:
|
|
description: |-
|
|
Source specifies where a group replications will be created from.
|
|
This field is immutable after creation.
|
|
Required.
|
|
properties:
|
|
selector:
|
|
description: |-
|
|
Selector is a label query over persistent volume claims that are to be
|
|
grouped together for replication.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
x-kubernetes-validations:
|
|
- message: selector is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- selector
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: source is immutable
|
|
rule: self == oldSelf
|
|
volumeGroupReplicationClassName:
|
|
description: volumeGroupReplicationClassName is the volumeGroupReplicationClass
|
|
name for this VolumeGroupReplication resource
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: volumeGroupReplicationClassName is immutable
|
|
rule: self == oldSelf
|
|
volumeGroupReplicationContentName:
|
|
description: Name of the VolumeGroupReplicationContent object created
|
|
for this volumeGroupReplication
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: volumeGroupReplicationContentName is immutable
|
|
rule: self == oldSelf
|
|
volumeReplicationClassName:
|
|
description: |-
|
|
volumeReplicationClassName is the volumeReplicationClass name for the VolumeReplication object
|
|
created for this volumeGroupReplication
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: volumeReplicationClassName is immutable
|
|
rule: self == oldSelf
|
|
volumeReplicationName:
|
|
description: Name of the VolumeReplication object created for this
|
|
volumeGroupReplication
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: volumeReplicationName is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- autoResync
|
|
- replicationState
|
|
- source
|
|
- volumeGroupReplicationClassName
|
|
type: object
|
|
status:
|
|
description: VolumeGroupReplicationStatus defines the observed state of
|
|
VolumeGroupReplication
|
|
properties:
|
|
conditions:
|
|
description: Conditions are the list of conditions and their status.
|
|
items:
|
|
description: Condition contains details for one aspect of the current
|
|
state of this API Resource.
|
|
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.
|
|
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
|
|
lastCompletionTime:
|
|
format: date-time
|
|
type: string
|
|
lastStartTime:
|
|
format: date-time
|
|
type: string
|
|
lastSyncBytes:
|
|
format: int64
|
|
type: integer
|
|
lastSyncDuration:
|
|
type: string
|
|
lastSyncTime:
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
type: string
|
|
observedGeneration:
|
|
description: observedGeneration is the last generation change the
|
|
operator has dealt with
|
|
format: int64
|
|
type: integer
|
|
persistentVolumeClaimsRefList:
|
|
description: |-
|
|
PersistentVolumeClaimsRefList is the list of PVCs for the volume group replication.
|
|
The maximum number of allowed PVCs in the group is 100.
|
|
items:
|
|
description: |-
|
|
LocalObjectReference contains enough information to let you locate the
|
|
referenced object inside the same namespace.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
state:
|
|
description: State captures the latest state of the replication operation.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: volumereplicationclasses.replication.storage.openshift.io
|
|
spec:
|
|
group: replication.storage.openshift.io
|
|
names:
|
|
kind: VolumeReplicationClass
|
|
listKind: VolumeReplicationClassList
|
|
plural: volumereplicationclasses
|
|
shortNames:
|
|
- vrc
|
|
singular: volumereplicationclass
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.provisioner
|
|
name: provisioner
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeReplicationClass is the Schema for the volumereplicationclasses
|
|
API.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: |-
|
|
VolumeReplicationClassSpec specifies parameters that an underlying storage system uses
|
|
when creating a volume replica. A specific VolumeReplicationClass is used by specifying
|
|
its name in a VolumeReplication object.
|
|
properties:
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Parameters is a key-value map with storage provisioner specific configurations for
|
|
creating volume replicas
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: self == oldSelf
|
|
provisioner:
|
|
description: Provisioner is the name of storage provisioner
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: provisioner is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- provisioner
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: parameters are immutable
|
|
rule: has(self.parameters) == has(oldSelf.parameters)
|
|
status:
|
|
description: VolumeReplicationClassStatus defines the observed state of
|
|
VolumeReplicationClass.
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.3
|
|
name: volumereplications.replication.storage.openshift.io
|
|
spec:
|
|
group: replication.storage.openshift.io
|
|
names:
|
|
kind: VolumeReplication
|
|
listKind: VolumeReplicationList
|
|
plural: volumereplications
|
|
shortNames:
|
|
- vr
|
|
singular: volumereplication
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .spec.volumeReplicationClass
|
|
name: volumeReplicationClass
|
|
type: string
|
|
- jsonPath: .spec.dataSource.kind
|
|
name: SourceKind
|
|
type: string
|
|
- jsonPath: .spec.dataSource.name
|
|
name: SourceName
|
|
type: string
|
|
- jsonPath: .spec.replicationState
|
|
name: desiredState
|
|
type: string
|
|
- jsonPath: .status.state
|
|
name: currentState
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeReplication is the Schema for the volumereplications API.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
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: VolumeReplicationSpec defines the desired state of VolumeReplication.
|
|
properties:
|
|
autoResync:
|
|
default: false
|
|
description: |-
|
|
AutoResync represents the volume to be auto resynced when
|
|
ReplicationState is "secondary"
|
|
type: boolean
|
|
dataSource:
|
|
description: DataSource represents the object associated with the
|
|
volume
|
|
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
|
|
x-kubernetes-validations:
|
|
- message: dataSource is immutable
|
|
rule: self == oldSelf
|
|
replicationHandle:
|
|
description: replicationHandle represents an existing (but new) replication
|
|
id
|
|
type: string
|
|
replicationState:
|
|
description: |-
|
|
ReplicationState represents the replication operation to be performed on the volume.
|
|
Supported operations are "primary", "secondary" and "resync"
|
|
enum:
|
|
- primary
|
|
- secondary
|
|
- resync
|
|
type: string
|
|
volumeReplicationClass:
|
|
description: VolumeReplicationClass is the VolumeReplicationClass
|
|
name for this VolumeReplication resource
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: volumeReplicationClass is immutable
|
|
rule: self == oldSelf
|
|
required:
|
|
- autoResync
|
|
- dataSource
|
|
- replicationState
|
|
- volumeReplicationClass
|
|
type: object
|
|
status:
|
|
description: VolumeReplicationStatus defines the observed state of VolumeReplication.
|
|
properties:
|
|
conditions:
|
|
description: Conditions are the list of conditions and their status.
|
|
items:
|
|
description: Condition contains details for one aspect of the current
|
|
state of this API Resource.
|
|
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.
|
|
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
|
|
lastCompletionTime:
|
|
format: date-time
|
|
type: string
|
|
lastStartTime:
|
|
format: date-time
|
|
type: string
|
|
lastSyncBytes:
|
|
format: int64
|
|
type: integer
|
|
lastSyncDuration:
|
|
type: string
|
|
lastSyncTime:
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
type: string
|
|
observedGeneration:
|
|
description: observedGeneration is the last generation change the
|
|
operator has dealt with
|
|
format: int64
|
|
type: integer
|
|
state:
|
|
description: State captures the latest state of the replication operation.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|