mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-10-01 01:36:09 -04:00
helm: update Azure CSI, GCP CSI, and CSI snapshotter charts (#3175)
* Update GCP CSI chart to v1.4.0 * Update Azure CSI chart to v1.4.0 * Update CSI snapshotter from v6.2.2 to v8.0.1 --------- Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
parent
6e2af89c01
commit
0368047939
@ -13,7 +13,7 @@ dependencies:
|
||||
tags:
|
||||
- AWS
|
||||
- name: azuredisk-csi-driver
|
||||
version: v1.3.0
|
||||
version: v1.4.0
|
||||
tags:
|
||||
- Azure
|
||||
- name: cinder-config
|
||||
@ -21,7 +21,7 @@ dependencies:
|
||||
tags:
|
||||
- OpenStack
|
||||
- name: gcp-compute-persistent-disk-csi-driver
|
||||
version: 1.3.0
|
||||
version: 1.4.0
|
||||
tags:
|
||||
- GCP
|
||||
- name: openstack-cinder-csi
|
||||
|
@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
appVersion: "v1.3.0"
|
||||
appVersion: "v1.4.0"
|
||||
description: Azure disk Container Storage Interface (CSI) Storage Plugin with on-node encryption support
|
||||
name: azuredisk-csi-driver
|
||||
version: v1.3.0
|
||||
version: v1.4.0
|
||||
|
@ -120,6 +120,7 @@ spec:
|
||||
- "-leader-election"
|
||||
- "--leader-election-namespace={{ .Release.Namespace }}"
|
||||
- "-v=2"
|
||||
- "--timeout=1200s"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /csi/csi.sock
|
||||
@ -157,7 +158,11 @@ spec:
|
||||
args:
|
||||
- --csi-address=/csi/csi.sock
|
||||
- --probe-timeout=3s
|
||||
{{- if eq .Values.controller.hostNetwork true }}
|
||||
- --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }}
|
||||
{{- else }}
|
||||
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
|
||||
{{- end }}
|
||||
- --v=2
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
@ -197,18 +202,29 @@ spec:
|
||||
- "--enable-traffic-manager={{ .Values.controller.enableTrafficManager }}"
|
||||
- "--traffic-manager-port={{ .Values.controller.trafficManagerPort }}"
|
||||
- "--enable-otel-tracing={{ .Values.controller.otelTracing.enabled }}"
|
||||
- "--check-disk-lun-collision=true"
|
||||
{{- range $value := .Values.controller.extraArgs }}
|
||||
- {{ $value | quote }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
|
||||
name: healthz
|
||||
protocol: TCP
|
||||
- containerPort: {{ .Values.controller.metricsPort }}
|
||||
name: metrics
|
||||
protocol: TCP
|
||||
{{- if ne .Values.controller.hostNetwork true }}
|
||||
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
|
||||
name: healthz
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
failureThreshold: 5
|
||||
httpGet:
|
||||
path: /healthz
|
||||
{{- if eq .Values.controller.hostNetwork true }}
|
||||
host: localhost
|
||||
port: {{ .Values.controller.livenessProbe.healthPort }}
|
||||
{{- else }}
|
||||
port: healthz
|
||||
{{- end }}
|
||||
initialDelaySeconds: 30
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 30
|
||||
|
@ -74,7 +74,11 @@ spec:
|
||||
args:
|
||||
- --csi-address=/csi/csi.sock
|
||||
- --probe-timeout=3s
|
||||
{{- if eq .Values.linux.hostNetwork true }}
|
||||
- --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }}
|
||||
{{- else }}
|
||||
- --health-port={{ .Values.node.livenessProbe.healthPort }}
|
||||
{{- end }}
|
||||
- --v=2
|
||||
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
|
||||
- name: node-driver-registrar
|
||||
@ -131,15 +135,22 @@ spec:
|
||||
- "--get-nodeid-from-imds={{ .Values.node.getNodeIDFromIMDS }}"
|
||||
- "--enable-otel-tracing={{ .Values.linux.otelTracing.enabled }}"
|
||||
- "--kms-addr={{ .Values.global.keyServiceName }}.{{ .Values.global.keyServiceNamespace | default .Release.Namespace }}:{{ .Values.global.keyServicePort }}"
|
||||
{{- if ne .Values.linux.hostNetwork true }}
|
||||
ports:
|
||||
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
|
||||
name: healthz
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
failureThreshold: 5
|
||||
httpGet:
|
||||
path: /healthz
|
||||
{{- if eq .Values.linux.hostNetwork true }}
|
||||
host: localhost
|
||||
port: {{ .Values.node.livenessProbe.healthPort }}
|
||||
{{- else }}
|
||||
port: healthz
|
||||
{{- end }}
|
||||
initialDelaySeconds: 30
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 30
|
||||
|
@ -2,27 +2,27 @@ image:
|
||||
baseRepo: mcr.microsoft.com
|
||||
azuredisk:
|
||||
repository: ghcr.io/edgelesssys/constellation/azure-csi-driver
|
||||
tag: v1.3.0@sha256:1e798f066ef78c293c4c87a31677f8948be4c8709980135969b73a9d7a46ca71
|
||||
tag: v1.4.0@sha256:e41b09d2735cb7410e2bf7abe9ca2166aa5a949d6c6e2ac570773b5d041797f1
|
||||
pullPolicy: IfNotPresent
|
||||
csiProvisioner:
|
||||
repository: /oss/kubernetes-csi/csi-provisioner
|
||||
tag: v3.5.0@sha256:fdf70099aa1538d1c2164976cf6d158ef8b3a5ee63db10bf0085de4ec66f59b4
|
||||
tag: v4.0.0@sha256:beadfb2cfa02f8bbb2efd88261a673023527cf51ebe7894daef82c4d928264a5
|
||||
pullPolicy: IfNotPresent
|
||||
csiAttacher:
|
||||
repository: /oss/kubernetes-csi/csi-attacher
|
||||
tag: v4.3.0@sha256:4306b80bfe8caea3fe53f6d1c15807c745be3072553ff508fc4f61da8f4a0c10
|
||||
tag: v4.5.0@sha256:172a9140780701b2223b7296729fc6cc3be8c86d0cfd2d0452e495f5ea28f51f
|
||||
pullPolicy: IfNotPresent
|
||||
csiResizer:
|
||||
repository: /oss/kubernetes-csi/csi-resizer
|
||||
tag: v1.8.0@sha256:6f0e8c9f3d0bdcf7a5fb5e404276ffac624033099d7687c8080692bcb6d13cd1
|
||||
tag: v1.9.3@sha256:e20dc798f529436d2c861dd66bc7fcfa17623b562a2a65474aab38fb77c9824a
|
||||
pullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
repository: /oss/kubernetes-csi/livenessprobe
|
||||
tag: v2.10.0@sha256:3aeac313cffdb7db80b733539427f2533a3f662bf538e7b6434b0f898ceb701b
|
||||
tag: v2.12.0@sha256:c762188c45d1b9bc9144b694b85313d5e49c741935a81d5b94fd7db978a40ae1
|
||||
pullPolicy: IfNotPresent
|
||||
nodeDriverRegistrar:
|
||||
repository: /oss/kubernetes-csi/csi-node-driver-registrar
|
||||
tag: v2.8.0@sha256:af6bf1b5ff310d4dc02cf8276be9b06014318f7ee31238b5fa278febd1a10ca9
|
||||
tag: v2.10.0@sha256:136e3a4a5897f111d1dedd404a5717ee7ff2f215e5fe878abdf4ce00c2292280
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
serviceAccount:
|
||||
@ -140,11 +140,11 @@ snapshot:
|
||||
image:
|
||||
csiSnapshotter:
|
||||
repository: /oss/kubernetes-csi/csi-snapshotter
|
||||
tag: v6.2.2
|
||||
tag: v6.3.3
|
||||
pullPolicy: IfNotPresent
|
||||
csiSnapshotController:
|
||||
repository: /oss/kubernetes-csi/snapshot-controller
|
||||
tag: v6.2.2
|
||||
tag: v6.3.3
|
||||
pullPolicy: IfNotPresent
|
||||
snapshotController:
|
||||
name: csi-snapshot-controller
|
||||
|
@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
version: 1.3.0
|
||||
appVersion: "v1.3.0"
|
||||
version: 1.4.0
|
||||
appVersion: "v1.4.0"
|
||||
description: GCP Compute Persistent Disk Container Storage Interface (CSI) Storage Plugin with on-node encryption support
|
||||
name: gcp-compute-persistent-disk-csi-driver
|
||||
|
@ -1,28 +1,28 @@
|
||||
image:
|
||||
csiProvisioner:
|
||||
repo: registry.k8s.io/sig-storage/csi-provisioner
|
||||
tag: v3.4.0@sha256:e468dddcd275163a042ab297b2d8c2aca50d5e148d2d22f3b6ba119e2f31fa79
|
||||
tag: v3.6.3@sha256:10624570c0aceb03f55f1eb07147b0c537e4676869cca2e9bd4bab113f810ac4
|
||||
pullPolicy: IfNotPresent
|
||||
csiAttacher:
|
||||
repo: registry.k8s.io/sig-storage/csi-attacher
|
||||
tag: v4.2.0@sha256:34cf9b32736c6624fc9787fb149ea6e0fbeb45415707ac2f6440ac960f1116e6
|
||||
tag: v4.4.3@sha256:d7325367ab72b2d469a5091d87b4fc01142d2d13d1a28b2defbbe3e6fdbc4611
|
||||
pullPolicy: IfNotPresent
|
||||
csiResizer:
|
||||
repo: registry.k8s.io/sig-storage/csi-resizer
|
||||
tag: v1.7.0@sha256:3a7bdf5d105783d05d0962fa06ca53032b01694556e633f27366201c2881e01d
|
||||
tag: v1.9.3@sha256:3c116f543f0590aeff3299c8bb0683f250817d11a77d9e9071b15a0bffdabcd9
|
||||
pullPolicy: IfNotPresent
|
||||
csiSnapshotter:
|
||||
repo: registry.k8s.io/sig-storage/csi-snapshotter
|
||||
tag: v6.1.0@sha256:291334908ddf71a4661fd7f6d9d97274de8a5378a2b6fdfeb2ce73414a34f82f
|
||||
tag: v6.3.3@sha256:f1bd6ee18c4021c1c94f29edfab89b49b6a4d1b800936c19dbef2d75f8202f2d
|
||||
pullPolicy: IfNotPresent
|
||||
csiNodeRegistrar:
|
||||
repo: registry.k8s.io/sig-storage/csi-node-driver-registrar
|
||||
tag: v2.7.0@sha256:4a4cae5118c4404e35d66059346b7fa0835d7e6319ff45ed73f4bba335cf5183
|
||||
tag: v2.9.3@sha256:0f64602ea791246712b51df334bbd701a0f31df9950a4cb9c28c059f367baa9e
|
||||
pullPolicy: IfNotPresent
|
||||
gcepdDriver:
|
||||
repo: ghcr.io/edgelesssys/constellation/gcp-csi-driver
|
||||
# CSI driver version is independent of Constellation releases
|
||||
tag: v1.3.0@sha256:0ecb68f348ed6c287075db00f9c5ea731e7e2db9f2f7511b65391fb6856fe11a
|
||||
tag: v1.4.0@sha256:53d608aa03dd07059bc04e1f8c64e2feb6fceff50fb0cbe276d31a8652a19bac
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
csiController:
|
||||
|
@ -1,6 +1,9 @@
|
||||
apiVersion: v2
|
||||
name: snapshot-controller
|
||||
description: A chart to deploy the CSI snapshot controller and webhook
|
||||
description: |
|
||||
A chart to deploy the CSI snapshot controller and webhook
|
||||
Snapshot controller source: https://github.com/kubernetes-csi/external-snapshotter/tree/v8.0.1/deploy/kubernetes/snapshot-controller
|
||||
Snapshot validating webhook source: https://github.com/kubernetes-csi/external-snapshotter/tree/v8.0.1/deploy/kubernetes/webhook-example
|
||||
type: application
|
||||
version: 6.2.2
|
||||
appVersion: "6.2.2"
|
||||
version: 8.0.1
|
||||
appVersion: "8.0.1"
|
||||
|
@ -1,3 +1,6 @@
|
||||
# Snapshot validating webhook configuration
|
||||
# Adapted from https://github.com/kubernetes-csi/external-snapshotter/tree/v8.0.1/deploy/kubernetes/webhook-example
|
||||
# to use cert-manager for serving certificates
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
@ -10,7 +13,7 @@ webhooks:
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
apiVersions: ["v1"]
|
||||
operations: ["CREATE", "UPDATE"]
|
||||
resources: ["volumesnapshots", "volumesnapshotcontents", "volumesnapshotclasses"]
|
||||
resources: ["volumesnapshotclasses"]
|
||||
scope: "*"
|
||||
clientConfig:
|
||||
service:
|
||||
|
@ -6,7 +6,7 @@ metadata:
|
||||
spec:
|
||||
dnsNames:
|
||||
- 'snapshot-validation-service.{{ .Release.Namespace }}.svc'
|
||||
- 'snapshot-validation-service.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}'
|
||||
- 'snapshot-validation-service.{{ .Release.Namespace }}.svc.cluster.local'
|
||||
issuerRef:
|
||||
kind: Issuer
|
||||
name: snapshot-validation-selfsigned-issuer
|
||||
|
@ -16,10 +16,11 @@ spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: snapshot-controller
|
||||
# the snapshot controller won't be marked as ready if the v1 CRDs are unavailable
|
||||
# in #504 the snapshot-controller will exit after around 7.5 seconds if it
|
||||
# can't find the v1 CRDs so this value should be greater than that
|
||||
minReadySeconds: 15
|
||||
# The snapshot controller won't be marked as ready if the v1 CRDs are unavailable.
|
||||
# The flag --retry-crd-interval-max is used to determine how long the controller
|
||||
# will wait for the CRDs to become available before exiting. The default is 30 seconds
|
||||
# so minReadySeconds should be set slightly higher than the flag value.
|
||||
minReadySeconds: 35
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
|
@ -1,3 +1,6 @@
|
||||
# Snapshot validating webhook configuration
|
||||
# Adapted from https://github.com/kubernetes-csi/external-snapshotter/tree/v8.0.1/deploy/kubernetes/webhook-example
|
||||
# to use cert-manager for serving certificates
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
|
@ -1,15 +1,14 @@
|
||||
kubernetesClusterDomain: cluster.local
|
||||
snapshotController:
|
||||
replicas: 2
|
||||
snapshotController:
|
||||
image:
|
||||
repository: registry.k8s.io/sig-storage/snapshot-controller
|
||||
tag: v6.2.2@sha256:fb95b65bb88f319f0f7d5397c401a654164f11a191f466b4026fa36085c7141b
|
||||
tag: v8.0.1@sha256:32b8e4254751c9935c796e6e5c07fe804250bd5032ab78f7133a00f75d504596
|
||||
imagePullPolicy: IfNotPresent
|
||||
snapshotWebhook:
|
||||
replicas: 1
|
||||
webhook:
|
||||
image:
|
||||
repository: registry.k8s.io/sig-storage/snapshot-validation-webhook
|
||||
tag: v6.2.2@sha256:b5be1e04b7c43352f83e135bd772de05437f8f3a20cb9437875d1a0d4f127440
|
||||
tag: v8.0.1@sha256:7f058f8b3faac68d93c0abf2b97532820ec8ffff944f5919ce7039506ca24cbd
|
||||
imagePullPolicy: IfNotPresent
|
||||
|
@ -1,6 +1,7 @@
|
||||
apiVersion: v2
|
||||
name: snapshot-crds
|
||||
description: A chart to deploy CSI snapshot CRDs
|
||||
description: "A chart to deploy CSI snapshot CRDs. Source: https://github.com/kubernetes-csi/external-snapshotter/tree/v8.0.1/client/config/crd"
|
||||
|
||||
type: application
|
||||
version: 6.2.2
|
||||
appVersion: "6.2.2"
|
||||
version: 8.0.1
|
||||
appVersion: "8.0.1"
|
||||
|
@ -3,9 +3,8 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.11.3
|
||||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814"
|
||||
creationTimestamp: null
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
name: volumesnapshotclasses.snapshot.storage.k8s.io
|
||||
spec:
|
||||
group: snapshot.storage.k8s.io
|
||||
@ -34,42 +33,52 @@ spec:
|
||||
name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeSnapshotClass specifies parameters that a underlying storage
|
||||
system uses when creating a volume snapshot. A specific VolumeSnapshotClass
|
||||
is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses
|
||||
are non-namespaced
|
||||
description: |-
|
||||
VolumeSnapshotClass specifies parameters that a underlying storage system uses when
|
||||
creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its
|
||||
name in a VolumeSnapshot object.
|
||||
VolumeSnapshotClasses are non-namespaced
|
||||
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'
|
||||
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
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether a VolumeSnapshotContent
|
||||
created through the VolumeSnapshotClass should be deleted when its bound
|
||||
VolumeSnapshot is deleted. Supported values are "Retain" and "Delete".
|
||||
"Retain" means that the VolumeSnapshotContent and its physical snapshot
|
||||
on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent
|
||||
and its physical snapshot on underlying storage system are deleted.
|
||||
description: |-
|
||||
deletionPolicy determines whether a VolumeSnapshotContent created through
|
||||
the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted.
|
||||
Supported values are "Retain" and "Delete".
|
||||
"Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept.
|
||||
"Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted.
|
||||
Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
driver:
|
||||
description: driver is the name of the storage driver that handles this
|
||||
VolumeSnapshotClass. Required.
|
||||
description: |-
|
||||
driver is the name of the storage driver that handles this VolumeSnapshotClass.
|
||||
Required.
|
||||
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'
|
||||
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
|
||||
parameters:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: parameters is a key-value map with storage driver specific
|
||||
parameters for creating snapshots. These values are opaque to Kubernetes.
|
||||
description: |-
|
||||
parameters is a key-value map with storage driver specific parameters for creating snapshots.
|
||||
These values are opaque to Kubernetes.
|
||||
type: object
|
||||
required:
|
||||
- deletionPolicy
|
||||
|
@ -3,9 +3,8 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.11.3
|
||||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814"
|
||||
creationTimestamp: null
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/955"
|
||||
name: volumesnapshotcontents.snapshot.storage.k8s.io
|
||||
spec:
|
||||
group: snapshot.storage.k8s.io
|
||||
@ -48,7 +47,8 @@ spec:
|
||||
jsonPath: .spec.volumeSnapshotRef.name
|
||||
name: VolumeSnapshot
|
||||
type: string
|
||||
- description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
|
||||
- description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent
|
||||
object is bound.
|
||||
jsonPath: .spec.volumeSnapshotRef.namespace
|
||||
name: VolumeSnapshotNamespace
|
||||
type: string
|
||||
@ -58,152 +58,206 @@ spec:
|
||||
name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeSnapshotContent represents the actual "on-disk" snapshot
|
||||
object in the underlying storage system
|
||||
description: |-
|
||||
VolumeSnapshotContent represents the actual "on-disk" snapshot object in the
|
||||
underlying storage system
|
||||
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'
|
||||
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'
|
||||
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 properties of a VolumeSnapshotContent created
|
||||
by the underlying storage system. Required.
|
||||
description: |-
|
||||
spec defines properties of a VolumeSnapshotContent created by the underlying storage system.
|
||||
Required.
|
||||
properties:
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether this VolumeSnapshotContent
|
||||
and its physical snapshot on the underlying storage system should
|
||||
be deleted when its bound VolumeSnapshot is deleted. Supported values
|
||||
are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
|
||||
and its physical snapshot on underlying storage system are kept.
|
||||
"Delete" means that the VolumeSnapshotContent and its physical snapshot
|
||||
on underlying storage system are deleted. For dynamically provisioned
|
||||
snapshots, this field will automatically be filled in by the CSI
|
||||
snapshotter sidecar with the "DeletionPolicy" field defined in the
|
||||
corresponding VolumeSnapshotClass. For pre-existing snapshots, users
|
||||
MUST specify this field when creating the VolumeSnapshotContent
|
||||
object. Required.
|
||||
description: |-
|
||||
deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on
|
||||
the underlying storage system should be deleted when its bound VolumeSnapshot is deleted.
|
||||
Supported values are "Retain" and "Delete".
|
||||
"Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept.
|
||||
"Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted.
|
||||
For dynamically provisioned snapshots, this field will automatically be filled in by the
|
||||
CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding
|
||||
VolumeSnapshotClass.
|
||||
For pre-existing snapshots, users MUST specify this field when creating the
|
||||
VolumeSnapshotContent object.
|
||||
Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
driver:
|
||||
description: driver is the name of the CSI driver used to create the
|
||||
physical snapshot on the underlying storage system. This MUST be
|
||||
the same as the name returned by the CSI GetPluginName() call for
|
||||
that driver. Required.
|
||||
description: |-
|
||||
driver is the name of the CSI driver used to create the physical snapshot 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 snapshot is (or should be)
|
||||
dynamically provisioned or already exists, and just requires a Kubernetes
|
||||
object representation. This field is immutable after creation. Required.
|
||||
description: |-
|
||||
source specifies whether the snapshot is (or should be) dynamically provisioned
|
||||
or already exists, and just requires a Kubernetes object representation.
|
||||
This field is immutable after creation.
|
||||
Required.
|
||||
properties:
|
||||
snapshotHandle:
|
||||
description: snapshotHandle specifies the CSI "snapshot_id" of
|
||||
a pre-existing snapshot on the underlying storage system for
|
||||
which a Kubernetes object representation was (or should be)
|
||||
created. This field is immutable.
|
||||
type: string
|
||||
volumeHandle:
|
||||
description: volumeHandle specifies the CSI "volume_id" of the
|
||||
volume from which a snapshot should be dynamically taken from.
|
||||
description: |-
|
||||
snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on
|
||||
the underlying storage system for which a Kubernetes object representation
|
||||
was (or should be) created.
|
||||
This field is immutable.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: snapshotHandle is immutable
|
||||
rule: self == oldSelf
|
||||
volumeHandle:
|
||||
description: |-
|
||||
volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot
|
||||
should be dynamically taken from.
|
||||
This field is immutable.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: volumeHandle is immutable
|
||||
rule: self == oldSelf
|
||||
type: object
|
||||
oneOf:
|
||||
- required: ["snapshotHandle"]
|
||||
- required: ["volumeHandle"]
|
||||
x-kubernetes-validations:
|
||||
- message: volumeHandle is required once set
|
||||
rule: '!has(oldSelf.volumeHandle) || has(self.volumeHandle)'
|
||||
- message: snapshotHandle is required once set
|
||||
rule: '!has(oldSelf.snapshotHandle) || has(self.snapshotHandle)'
|
||||
- message: exactly one of volumeHandle and snapshotHandle must be
|
||||
set
|
||||
rule: (has(self.volumeHandle) && !has(self.snapshotHandle)) || (!has(self.volumeHandle)
|
||||
&& has(self.snapshotHandle))
|
||||
sourceVolumeMode:
|
||||
description: SourceVolumeMode is the mode of the volume whose snapshot
|
||||
is taken. Can be either “Filesystem” or “Block”. If not specified,
|
||||
it indicates the source volume's mode is unknown. This field is
|
||||
immutable. This field is an alpha field.
|
||||
description: |-
|
||||
SourceVolumeMode is the mode of the volume whose snapshot is taken.
|
||||
Can be either “Filesystem” or “Block”.
|
||||
If not specified, it indicates the source volume's mode is unknown.
|
||||
This field is immutable.
|
||||
This field is an alpha field.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: sourceVolumeMode is immutable
|
||||
rule: self == oldSelf
|
||||
volumeSnapshotClassName:
|
||||
description: name of the VolumeSnapshotClass from which this snapshot
|
||||
was (or will be) created. Note that after provisioning, the VolumeSnapshotClass
|
||||
may be deleted or recreated with different set of values, and as
|
||||
such, should not be referenced post-snapshot creation.
|
||||
description: |-
|
||||
name of the VolumeSnapshotClass from which this snapshot was (or will be)
|
||||
created.
|
||||
Note that after provisioning, the VolumeSnapshotClass may be deleted or
|
||||
recreated with different set of values, and as such, should not be referenced
|
||||
post-snapshot creation.
|
||||
type: string
|
||||
volumeSnapshotRef:
|
||||
description: volumeSnapshotRef specifies the VolumeSnapshot object
|
||||
to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
|
||||
field must reference to this VolumeSnapshotContent's name for the
|
||||
bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
|
||||
object, name and namespace of the VolumeSnapshot object MUST be
|
||||
provided for binding to happen. This field is immutable after creation.
|
||||
description: |-
|
||||
volumeSnapshotRef specifies the VolumeSnapshot object to which this
|
||||
VolumeSnapshotContent object is bound.
|
||||
VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to
|
||||
this VolumeSnapshotContent's name for the bidirectional binding to be valid.
|
||||
For a pre-existing VolumeSnapshotContent object, name and namespace of the
|
||||
VolumeSnapshot object MUST be provided for binding to happen.
|
||||
This field is immutable after creation.
|
||||
Required.
|
||||
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. TODO: this design is not final and this field is
|
||||
subject to change in the future.'
|
||||
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.
|
||||
TODO: this design is not final and this field is subject to change in the future.
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
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'
|
||||
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/'
|
||||
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'
|
||||
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'
|
||||
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: both spec.volumeSnapshotRef.name and spec.volumeSnapshotRef.namespace
|
||||
must be set
|
||||
rule: has(self.name) && has(self.__namespace__)
|
||||
required:
|
||||
- deletionPolicy
|
||||
- driver
|
||||
- source
|
||||
- volumeSnapshotRef
|
||||
type: object
|
||||
x-kubernetes-validations:
|
||||
- message: sourceVolumeMode is required once set
|
||||
rule: '!has(oldSelf.sourceVolumeMode) || has(self.sourceVolumeMode)'
|
||||
status:
|
||||
description: status represents the current information of a snapshot.
|
||||
properties:
|
||||
creationTime:
|
||||
description: creationTime is the timestamp when the point-in-time
|
||||
snapshot is taken by the underlying storage system. In dynamic snapshot
|
||||
creation case, this field will be filled in by the CSI snapshotter
|
||||
sidecar with the "creation_time" value returned from CSI "CreateSnapshot"
|
||||
gRPC call. For a pre-existing snapshot, this field will be filled
|
||||
with the "creation_time" value returned from the CSI "ListSnapshots"
|
||||
gRPC call if the driver supports it. If not specified, it indicates
|
||||
the creation time is unknown. The format of this field is a Unix
|
||||
nanoseconds time encoded as an int64. On Unix, the command `date
|
||||
+%s%N` returns the current time in nanoseconds since 1970-01-01
|
||||
00:00:00 UTC.
|
||||
description: |-
|
||||
creationTime is the timestamp when the point-in-time snapshot is taken
|
||||
by the underlying storage system.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
CSI snapshotter sidecar with the "creation_time" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "creation_time"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||
If not specified, it indicates the creation time is unknown.
|
||||
The format of this field is a Unix nanoseconds time encoded as an int64.
|
||||
On Unix, the command `date +%s%N` returns the current time in nanoseconds
|
||||
since 1970-01-01 00:00:00 UTC.
|
||||
format: int64
|
||||
type: integer
|
||||
error:
|
||||
description: error is the last observed error during snapshot creation,
|
||||
if any. Upon success after retry, this error field will be cleared.
|
||||
description: |-
|
||||
error is the last observed error during snapshot creation, if any.
|
||||
Upon success after retry, this error field will be cleared.
|
||||
properties:
|
||||
message:
|
||||
description: 'message is a string detailing the encountered error
|
||||
during snapshot creation if specified. NOTE: message may be
|
||||
logged, and it should not contain sensitive information.'
|
||||
description: |-
|
||||
message is a string detailing the encountered error during snapshot
|
||||
creation if specified.
|
||||
NOTE: message may be logged, and it should not contain sensitive
|
||||
information.
|
||||
type: string
|
||||
time:
|
||||
description: time is the timestamp when the error was encountered.
|
||||
@ -211,38 +265,40 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
readyToUse:
|
||||
description: readyToUse indicates if a snapshot is ready to be used
|
||||
to restore a volume. In dynamic snapshot creation case, this field
|
||||
will be filled in by the CSI snapshotter sidecar with the "ready_to_use"
|
||||
value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
|
||||
snapshot, this field will be filled with the "ready_to_use" value
|
||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
||||
it, otherwise, this field will be set to "True". If not specified,
|
||||
it means the readiness of a snapshot is unknown.
|
||||
description: |-
|
||||
readyToUse indicates if a snapshot is ready to be used to restore a volume.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
CSI snapshotter sidecar with the "ready_to_use" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "ready_to_use"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it,
|
||||
otherwise, this field will be set to "True".
|
||||
If not specified, it means the readiness of a snapshot is unknown.
|
||||
type: boolean
|
||||
restoreSize:
|
||||
description: restoreSize represents the complete size of the snapshot
|
||||
in bytes. In dynamic snapshot creation case, this field will be
|
||||
filled in by the CSI snapshotter sidecar with the "size_bytes" value
|
||||
returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
|
||||
snapshot, this field will be filled with the "size_bytes" value
|
||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
||||
it. When restoring a volume from this snapshot, the size of the
|
||||
volume MUST NOT be smaller than the restoreSize if it is specified,
|
||||
otherwise the restoration will fail. If not specified, it indicates
|
||||
that the size is unknown.
|
||||
description: |-
|
||||
restoreSize represents the complete size of the snapshot in bytes.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
CSI snapshotter sidecar with the "size_bytes" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "size_bytes"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||
When restoring a volume from this snapshot, the size of the volume MUST NOT
|
||||
be smaller than the restoreSize if it is specified, otherwise the restoration will fail.
|
||||
If not specified, it indicates that the size is unknown.
|
||||
format: int64
|
||||
minimum: 0
|
||||
type: integer
|
||||
snapshotHandle:
|
||||
description: snapshotHandle is the CSI "snapshot_id" of a snapshot
|
||||
on the underlying storage system. If not specified, it indicates
|
||||
that dynamic snapshot creation has either failed or it is still
|
||||
in progress.
|
||||
description: |-
|
||||
snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system.
|
||||
If not specified, it indicates that dynamic snapshot creation has either failed
|
||||
or it is still in progress.
|
||||
type: string
|
||||
volumeGroupSnapshotContentName:
|
||||
description: VolumeGroupSnapshotContentName is the name of the VolumeGroupSnapshotContent
|
||||
of which this VolumeSnapshotContent is a part of.
|
||||
volumeGroupSnapshotHandle:
|
||||
description: |-
|
||||
VolumeGroupSnapshotHandle is the CSI "group_snapshot_id" of a group snapshot
|
||||
on the underlying storage system.
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
|
@ -3,9 +3,8 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.11.3
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814"
|
||||
creationTimestamp: null
|
||||
name: volumesnapshots.snapshot.storage.k8s.io
|
||||
spec:
|
||||
group: snapshot.storage.k8s.io
|
||||
@ -61,103 +60,140 @@ spec:
|
||||
name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeSnapshot is a user's request for either creating a point-in-time
|
||||
description: |-
|
||||
VolumeSnapshot is a user's request for either creating a point-in-time
|
||||
snapshot of a persistent volume, or binding to a pre-existing snapshot.
|
||||
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'
|
||||
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'
|
||||
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 characteristics of a snapshot requested
|
||||
by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
|
||||
Required.'
|
||||
description: |-
|
||||
spec defines the desired characteristics of a snapshot requested by a user.
|
||||
More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
|
||||
Required.
|
||||
properties:
|
||||
source:
|
||||
description: source specifies where a snapshot will be created from.
|
||||
This field is immutable after creation. Required.
|
||||
description: |-
|
||||
source specifies where a snapshot will be created from.
|
||||
This field is immutable after creation.
|
||||
Required.
|
||||
properties:
|
||||
persistentVolumeClaimName:
|
||||
description: persistentVolumeClaimName specifies the name of the
|
||||
PersistentVolumeClaim object representing the volume from which
|
||||
a snapshot should be created. This PVC is assumed to be in the
|
||||
same namespace as the VolumeSnapshot object. This field should
|
||||
be set if the snapshot does not exists, and needs to be created.
|
||||
description: |-
|
||||
persistentVolumeClaimName specifies the name of the PersistentVolumeClaim
|
||||
object representing the volume from which a snapshot should be created.
|
||||
This PVC is assumed to be in the same namespace as the VolumeSnapshot
|
||||
object.
|
||||
This field should be set if the snapshot does not exists, and needs to be
|
||||
created.
|
||||
This field is immutable.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: persistentVolumeClaimName is immutable
|
||||
rule: self == oldSelf
|
||||
volumeSnapshotContentName:
|
||||
description: volumeSnapshotContentName specifies the name of a
|
||||
pre-existing VolumeSnapshotContent object representing an existing
|
||||
volume snapshot. This field should be set if the snapshot already
|
||||
exists and only needs a representation in Kubernetes. This field
|
||||
is immutable.
|
||||
description: |-
|
||||
volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent
|
||||
object representing an existing volume snapshot.
|
||||
This field should be set if the snapshot already exists and only needs a representation in Kubernetes.
|
||||
This field is immutable.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: volumeSnapshotContentName is immutable
|
||||
rule: self == oldSelf
|
||||
type: object
|
||||
oneOf:
|
||||
- required: ["persistentVolumeClaimName"]
|
||||
- required: ["volumeSnapshotContentName"]
|
||||
x-kubernetes-validations:
|
||||
- message: persistentVolumeClaimName is required once set
|
||||
rule: '!has(oldSelf.persistentVolumeClaimName) || has(self.persistentVolumeClaimName)'
|
||||
- message: volumeSnapshotContentName is required once set
|
||||
rule: '!has(oldSelf.volumeSnapshotContentName) || has(self.volumeSnapshotContentName)'
|
||||
- message: exactly one of volumeSnapshotContentName and persistentVolumeClaimName
|
||||
must be set
|
||||
rule: (has(self.volumeSnapshotContentName) && !has(self.persistentVolumeClaimName))
|
||||
|| (!has(self.volumeSnapshotContentName) && has(self.persistentVolumeClaimName))
|
||||
volumeSnapshotClassName:
|
||||
description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass
|
||||
requested by the VolumeSnapshot. VolumeSnapshotClassName may be
|
||||
left nil to indicate that the default SnapshotClass should be used.
|
||||
A given cluster may have multiple default Volume SnapshotClasses:
|
||||
one default per CSI Driver. If a VolumeSnapshot does not specify
|
||||
a SnapshotClass, VolumeSnapshotSource will be checked to figure
|
||||
out what the associated CSI Driver is, and the default VolumeSnapshotClass
|
||||
associated with that CSI Driver will be used. If more than one VolumeSnapshotClass
|
||||
exist for a given CSI Driver and more than one have been marked
|
||||
as default, CreateSnapshot will fail and generate an event. Empty
|
||||
string is not allowed for this field.'
|
||||
description: |-
|
||||
VolumeSnapshotClassName is the name of the VolumeSnapshotClass
|
||||
requested by the VolumeSnapshot.
|
||||
VolumeSnapshotClassName may be left nil to indicate that the default
|
||||
SnapshotClass should be used.
|
||||
A given cluster may have multiple default Volume SnapshotClasses: one
|
||||
default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass,
|
||||
VolumeSnapshotSource will be checked to figure out what the associated
|
||||
CSI Driver is, and the default VolumeSnapshotClass associated with that
|
||||
CSI Driver will be used. If more than one VolumeSnapshotClass exist for
|
||||
a given CSI Driver and more than one have been marked as default,
|
||||
CreateSnapshot will fail and generate an event.
|
||||
Empty string is not allowed for this field.
|
||||
type: string
|
||||
x-kubernetes-validations:
|
||||
- message: volumeSnapshotClassName must not be the empty string when
|
||||
set
|
||||
rule: size(self) > 0
|
||||
required:
|
||||
- source
|
||||
type: object
|
||||
status:
|
||||
description: status represents the current information of a snapshot.
|
||||
Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent
|
||||
objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent
|
||||
point at each other) before using this object.
|
||||
description: |-
|
||||
status represents the current information of a snapshot.
|
||||
Consumers must verify binding between VolumeSnapshot and
|
||||
VolumeSnapshotContent objects is successful (by validating that both
|
||||
VolumeSnapshot and VolumeSnapshotContent point at each other) before
|
||||
using this object.
|
||||
properties:
|
||||
boundVolumeSnapshotContentName:
|
||||
description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent
|
||||
object to which this VolumeSnapshot object intends to bind to. If
|
||||
not specified, it indicates that the VolumeSnapshot object has not
|
||||
been successfully bound to a VolumeSnapshotContent object yet. NOTE:
|
||||
To avoid possible security issues, consumers must verify binding
|
||||
between VolumeSnapshot and VolumeSnapshotContent objects is successful
|
||||
(by validating that both VolumeSnapshot and VolumeSnapshotContent
|
||||
point at each other) before using this object.'
|
||||
description: |-
|
||||
boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent
|
||||
object to which this VolumeSnapshot object intends to bind to.
|
||||
If not specified, it indicates that the VolumeSnapshot object has not been
|
||||
successfully bound to a VolumeSnapshotContent object yet.
|
||||
NOTE: To avoid possible security issues, consumers must verify binding between
|
||||
VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that
|
||||
both VolumeSnapshot and VolumeSnapshotContent point at each other) before using
|
||||
this object.
|
||||
type: string
|
||||
creationTime:
|
||||
description: creationTime is the timestamp when the point-in-time
|
||||
snapshot is taken by the underlying storage system. In dynamic snapshot
|
||||
creation case, this field will be filled in by the snapshot controller
|
||||
with the "creation_time" value returned from CSI "CreateSnapshot"
|
||||
gRPC call. For a pre-existing snapshot, this field will be filled
|
||||
with the "creation_time" value returned from the CSI "ListSnapshots"
|
||||
gRPC call if the driver supports it. If not specified, it may indicate
|
||||
that the creation time of the snapshot is unknown.
|
||||
description: |-
|
||||
creationTime is the timestamp when the point-in-time snapshot is taken
|
||||
by the underlying storage system.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
snapshot controller with the "creation_time" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "creation_time"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||
If not specified, it may indicate that the creation time of the snapshot is unknown.
|
||||
format: date-time
|
||||
type: string
|
||||
error:
|
||||
description: error is the last observed error during snapshot creation,
|
||||
if any. This field could be helpful to upper level controllers(i.e.,
|
||||
application controller) to decide whether they should continue on
|
||||
waiting for the snapshot to be created based on the type of error
|
||||
reported. The snapshot controller will keep retrying when an error
|
||||
occurs during the snapshot creation. Upon success, this error field
|
||||
will be cleared.
|
||||
description: |-
|
||||
error is the last observed error during snapshot creation, if any.
|
||||
This field could be helpful to upper level controllers(i.e., application controller)
|
||||
to decide whether they should continue on waiting for the snapshot to be created
|
||||
based on the type of error reported.
|
||||
The snapshot controller will keep retrying when an error occurs during the
|
||||
snapshot creation. Upon success, this error field will be cleared.
|
||||
properties:
|
||||
message:
|
||||
description: 'message is a string detailing the encountered error
|
||||
during snapshot creation if specified. NOTE: message may be
|
||||
logged, and it should not contain sensitive information.'
|
||||
description: |-
|
||||
message is a string detailing the encountered error during snapshot
|
||||
creation if specified.
|
||||
NOTE: message may be logged, and it should not contain sensitive
|
||||
information.
|
||||
type: string
|
||||
time:
|
||||
description: time is the timestamp when the error was encountered.
|
||||
@ -165,32 +201,35 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
readyToUse:
|
||||
description: readyToUse indicates if the snapshot is ready to be used
|
||||
to restore a volume. In dynamic snapshot creation case, this field
|
||||
will be filled in by the snapshot controller with the "ready_to_use"
|
||||
value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
|
||||
snapshot, this field will be filled with the "ready_to_use" value
|
||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
||||
it, otherwise, this field will be set to "True". If not specified,
|
||||
it means the readiness of a snapshot is unknown.
|
||||
description: |-
|
||||
readyToUse indicates if the snapshot is ready to be used to restore a volume.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
snapshot controller with the "ready_to_use" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "ready_to_use"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it,
|
||||
otherwise, this field will be set to "True".
|
||||
If not specified, it means the readiness of a snapshot is unknown.
|
||||
type: boolean
|
||||
restoreSize:
|
||||
type: string
|
||||
description: restoreSize represents the minimum size of volume required
|
||||
to create a volume from this snapshot. In dynamic snapshot creation
|
||||
case, this field will be filled in by the snapshot controller with
|
||||
the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the
|
||||
"size_bytes" value returned from the CSI "ListSnapshots" gRPC call
|
||||
if the driver supports it. When restoring a volume from this snapshot,
|
||||
the size of the volume MUST NOT be smaller than the restoreSize
|
||||
if it is specified, otherwise the restoration will fail. If not
|
||||
specified, it indicates that the size is unknown.
|
||||
description: |-
|
||||
restoreSize represents the minimum size of volume required to create a volume
|
||||
from this snapshot.
|
||||
In dynamic snapshot creation case, this field will be filled in by the
|
||||
snapshot controller with the "size_bytes" value returned from CSI
|
||||
"CreateSnapshot" gRPC call.
|
||||
For a pre-existing snapshot, this field will be filled with the "size_bytes"
|
||||
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||
When restoring a volume from this snapshot, the size of the volume MUST NOT
|
||||
be smaller than the restoreSize if it is specified, otherwise the restoration will fail.
|
||||
If not specified, it indicates that the size is unknown.
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
volumeGroupSnapshotName:
|
||||
description: VolumeGroupSnapshotName is the name of the VolumeGroupSnapshot
|
||||
of which this VolumeSnapshot is a part of.
|
||||
description: |-
|
||||
VolumeGroupSnapshotName is the name of the VolumeGroupSnapshot of which this
|
||||
VolumeSnapshot is a part of.
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
|
@ -71,10 +71,10 @@ download_chart() {
|
||||
download_chart "https://github.com/edgelesssys/constellation-aws-ebs-csi-driver" "v1.2.0" "charts/aws-ebs-csi-driver" "aws-csi-driver"
|
||||
|
||||
## Azure CSI Driver
|
||||
download_chart "https://github.com/edgelesssys/constellation-azuredisk-csi-driver" "v1.3.0" "charts/edgeless" "azuredisk-csi-driver"
|
||||
download_chart "https://github.com/edgelesssys/constellation-azuredisk-csi-driver" "v1.4.0" "charts/edgeless" "azuredisk-csi-driver"
|
||||
|
||||
## GCP CSI Driver
|
||||
download_chart "https://github.com/edgelesssys/constellation-gcp-compute-persistent-disk-csi-driver" "v1.3.0" "charts" "gcp-compute-persistent-disk-csi-driver"
|
||||
download_chart "https://github.com/edgelesssys/constellation-gcp-compute-persistent-disk-csi-driver" "v1.4.0" "charts" "gcp-compute-persistent-disk-csi-driver"
|
||||
|
||||
## OpenStack CSI Driver (cinder)
|
||||
download_chart "https://github.com/edgelesssys/constellation-cloud-provider-openstack" "v1.0.2" "charts/cinder-csi-plugin" "openstack-cinder-csi"
|
||||
|
Loading…
Reference in New Issue
Block a user