diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 3761ee2..2b1c794 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -15,13 +15,13 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.8.0 +version: 0.9.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "v0.8.0" +appVersion: "v0.9.0" -# APP_VERSION: 0.8 +# APP_VERSION: 0.9 # CHART_PATCH: 0 diff --git a/chart/templates/crd/backsnap.skyb.it_pvcbackups.yaml b/chart/templates/crd/backsnap.skyb.it_pvcbackups.yaml index d2c0741..b3184e9 100644 --- a/chart/templates/crd/backsnap.skyb.it_pvcbackups.yaml +++ b/chart/templates/crd/backsnap.skyb.it_pvcbackups.yaml @@ -14,7 +14,24 @@ spec: singular: pvcbackup scope: Namespaced versions: - - name: v1alpha1 + - additionalPrinterColumns: + - description: Time the backup was requested + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Time the backup job started running + jsonPath: .status.startedAt + name: Started at + type: string + - description: Time the backup job took to finish running + jsonPath: .status.duration + name: Duration + type: string + - description: Shows whether the backup succeeded or not + jsonPath: .status.result + name: Result + type: string + name: v1alpha1 schema: openAPIV3Schema: description: PVCBackup is the Schema for the pvcbackups API @@ -38,21 +55,92 @@ spec: type: object spec: properties: + annotations: + additionalProperties: + type: string + description: |- + If specified, indicates the annotations to be put on the backup + VolumeSnapshot, backup temporary PVC, backup Job and backup Pod. This + SHOULD NOT include any backsnap.skyb.it annotations. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations + type: object + labels: + additionalProperties: + type: string + description: |- + If specified, indicates the labels to be put on the backup + VolumeSnapshot, backup temporary PVC, backup Job and backup Pod. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels + type: object + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the backup Pod to fit + on a node. This can be used e.g. to select which type of node, or which + Availability Zone, performs a backup. + More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + type: object + x-kubernetes-map-type: atomic + priorityClassName: + description: If specified, indicates the backup Pod's priority. + type: string pvc: description: Name of the PVC to back up. Must be in the same namespace. type: string + tolerations: + description: If specified, the backup Pod's tolerations. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + x-kubernetes-list-type: atomic ttl: description: |- How long will the backup object be retained after the backup completes. - If not set, the object will be retained for at least one day. The - controller will also always keep the last PVCBackup for a particular PVC - around, so that it knows when the last backup was completed. + The controller will also always keep the last PVCBackup for a particular + PVC around, so that it knows when the last backup was completed. type: string required: - pvc type: object status: properties: + duration: + type: string finishedAt: format: date-time type: string diff --git a/chart/templates/crd/backsnap.skyb.it_pvcrestores.yaml b/chart/templates/crd/backsnap.skyb.it_pvcrestores.yaml index 7143a03..cff8659 100644 --- a/chart/templates/crd/backsnap.skyb.it_pvcrestores.yaml +++ b/chart/templates/crd/backsnap.skyb.it_pvcrestores.yaml @@ -14,7 +14,24 @@ spec: singular: pvcrestore scope: Namespaced versions: - - name: v1alpha1 + - additionalPrinterColumns: + - description: Time the restore was requested + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Time the restore job started running + jsonPath: .status.startedAt + name: Started at + type: string + - description: Time the restore job took to finish running + jsonPath: .status.duration + name: Duration + type: string + - description: Shows whether the restore succeeded or not + jsonPath: .status.result + name: Result + type: string + name: v1alpha1 schema: openAPIV3Schema: description: PVCRestore is the Schema for the pvcrestores API @@ -39,6 +56,37 @@ spec: spec: description: PVCRestoreSpec defines the desired state of PVCRestore properties: + annotations: + additionalProperties: + type: string + description: |- + If specified, indicates the annotations to be put on the restored PVC, + restore Job and restore Pod. This SHOULD NOT include any backsnap.skyb.it + annotations. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations + type: object + labels: + additionalProperties: + type: string + description: |- + If specified, indicates the labels to be put on the restored PVC, restore + Job and restore Pod. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels + type: object + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the restore Pod to fit + on a node. This can be used e.g. to select which type of node, or which + Availability Zone, performs a restore. This, in turn, may also determine + in which Availability Zone the restored volume is created. + More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + type: object + x-kubernetes-map-type: atomic + priorityClassName: + description: If specified, indicates the restore Pod's priority. + type: string sourceNamespace: description: |- The namespace that the source PVC used to exist in. If empty, assume that @@ -69,10 +117,52 @@ spec: contents. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true + tolerations: + description: If specified, the restore Pod's tolerations. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + x-kubernetes-list-type: atomic type: object status: description: PVCRestoreStatus defines the observed state of PVCRestore properties: + duration: + type: string finishedAt: format: date-time type: string @@ -81,6 +171,9 @@ spec: - Succeeded - Failed type: string + startedAt: + format: date-time + type: string type: object type: object served: true