github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/dataprotection.kubeblocks.io_actionsets.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.12.1 6 labels: 7 app.kubernetes.io/name: kubeblocks 8 name: actionsets.dataprotection.kubeblocks.io 9 spec: 10 group: dataprotection.kubeblocks.io 11 names: 12 categories: 13 - kubeblocks 14 kind: ActionSet 15 listKind: ActionSetList 16 plural: actionsets 17 shortNames: 18 - as 19 singular: actionset 20 scope: Cluster 21 versions: 22 - additionalPrinterColumns: 23 - jsonPath: .spec.backupType 24 name: BACKUP-TYPE 25 type: string 26 - jsonPath: .status.phase 27 name: STATUS 28 type: string 29 - jsonPath: .metadata.creationTimestamp 30 name: AGE 31 type: date 32 name: v1alpha1 33 schema: 34 openAPIV3Schema: 35 description: ActionSet is the Schema for the actionsets API 36 properties: 37 apiVersion: 38 description: 'APIVersion defines the versioned schema of this representation 39 of an object. Servers should convert recognized schemas to the latest 40 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 41 type: string 42 kind: 43 description: 'Kind is a string value representing the REST resource this 44 object represents. Servers may infer this from the endpoint the client 45 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 46 type: string 47 metadata: 48 type: object 49 spec: 50 description: ActionSetSpec defines the desired state of ActionSet 51 properties: 52 backup: 53 description: backup specifies the backup action. 54 properties: 55 backupData: 56 description: backupData specifies the backup data action. 57 properties: 58 command: 59 description: command specifies the commands to back up the 60 volume data. 61 items: 62 type: string 63 type: array 64 image: 65 description: image specifies the image of backup container. 66 type: string 67 onError: 68 default: Fail 69 description: OnError specifies how should behave if it encounters 70 an error executing this action. 71 enum: 72 - Continue 73 - Fail 74 type: string 75 runOnTargetPodNode: 76 default: false 77 description: runOnTargetPodNode specifies whether to run the 78 job workload on the target pod node. If backup container 79 should mount the target pod's volumes, this field should 80 be set to true. otherwise the target pod's volumes will 81 be ignored. 82 type: boolean 83 syncProgress: 84 description: syncProgress specifies whether to sync the backup 85 progress and its interval seconds. 86 properties: 87 enabled: 88 description: enabled specifies whether to sync the backup 89 progress. If enabled, a sidecar container will be created 90 to sync the backup progress to the Backup CR status. 91 type: boolean 92 intervalSeconds: 93 default: 60 94 description: intervalSeconds specifies the interval seconds 95 to sync the backup progress. 96 format: int32 97 type: integer 98 type: object 99 required: 100 - command 101 - image 102 type: object 103 postBackup: 104 description: postBackup specifies a hook that should be executed 105 after the backup. 106 items: 107 description: ActionSpec defines an action that should be executed. 108 Only one of the fields may be set. 109 properties: 110 exec: 111 description: exec specifies the action should be executed 112 by the pod exec API in a container. 113 properties: 114 command: 115 description: Command is the command and arguments to 116 execute. 117 items: 118 type: string 119 minItems: 1 120 type: array 121 container: 122 description: container is the container in the pod where 123 the command should be executed. If not specified, 124 the pod's first container is used. 125 type: string 126 onError: 127 default: Fail 128 description: OnError specifies how should behave if 129 it encounters an error executing this action. 130 enum: 131 - Continue 132 - Fail 133 type: string 134 timeout: 135 description: Timeout defines the maximum amount of time 136 should wait for the hook to complete before considering 137 the execution a failure. 138 type: string 139 required: 140 - command 141 type: object 142 job: 143 description: job specifies the action should be executed 144 by a Kubernetes Job. 145 properties: 146 command: 147 description: command specifies the commands to back 148 up the volume data. 149 items: 150 type: string 151 type: array 152 image: 153 description: image specifies the image of backup container. 154 type: string 155 onError: 156 default: Fail 157 description: OnError specifies how should behave if 158 it encounters an error executing this action. 159 enum: 160 - Continue 161 - Fail 162 type: string 163 runOnTargetPodNode: 164 default: false 165 description: runOnTargetPodNode specifies whether to 166 run the job workload on the target pod node. If backup 167 container should mount the target pod's volumes, this 168 field should be set to true. otherwise the target 169 pod's volumes will be ignored. 170 type: boolean 171 required: 172 - command 173 - image 174 type: object 175 type: object 176 type: array 177 preBackup: 178 description: preBackup specifies a hook that should be executed 179 before the backup. 180 items: 181 description: ActionSpec defines an action that should be executed. 182 Only one of the fields may be set. 183 properties: 184 exec: 185 description: exec specifies the action should be executed 186 by the pod exec API in a container. 187 properties: 188 command: 189 description: Command is the command and arguments to 190 execute. 191 items: 192 type: string 193 minItems: 1 194 type: array 195 container: 196 description: container is the container in the pod where 197 the command should be executed. If not specified, 198 the pod's first container is used. 199 type: string 200 onError: 201 default: Fail 202 description: OnError specifies how should behave if 203 it encounters an error executing this action. 204 enum: 205 - Continue 206 - Fail 207 type: string 208 timeout: 209 description: Timeout defines the maximum amount of time 210 should wait for the hook to complete before considering 211 the execution a failure. 212 type: string 213 required: 214 - command 215 type: object 216 job: 217 description: job specifies the action should be executed 218 by a Kubernetes Job. 219 properties: 220 command: 221 description: command specifies the commands to back 222 up the volume data. 223 items: 224 type: string 225 type: array 226 image: 227 description: image specifies the image of backup container. 228 type: string 229 onError: 230 default: Fail 231 description: OnError specifies how should behave if 232 it encounters an error executing this action. 233 enum: 234 - Continue 235 - Fail 236 type: string 237 runOnTargetPodNode: 238 default: false 239 description: runOnTargetPodNode specifies whether to 240 run the job workload on the target pod node. If backup 241 container should mount the target pod's volumes, this 242 field should be set to true. otherwise the target 243 pod's volumes will be ignored. 244 type: boolean 245 required: 246 - command 247 - image 248 type: object 249 type: object 250 type: array 251 type: object 252 backupType: 253 allOf: 254 - enum: 255 - Full 256 - Incremental 257 - Differential 258 - Continuous 259 - enum: 260 - Full 261 - Incremental 262 - Differential 263 - Continuous 264 default: Full 265 description: 'backupType specifies the backup type, supported values: 266 Full, Continuous. Full means full backup. Incremental means back 267 up data that have changed since the last backup (full or incremental). 268 Differential means back up data that have changed since the last 269 full backup. Continuous will back up the transaction log continuously, 270 the PITR (Point in Time Recovery). can be performed based on the 271 continuous backup and full backup.' 272 type: string 273 env: 274 description: List of environment variables to set in the container. 275 items: 276 description: EnvVar represents an environment variable present in 277 a Container. 278 properties: 279 name: 280 description: Name of the environment variable. Must be a C_IDENTIFIER. 281 type: string 282 value: 283 description: 'Variable references $(VAR_NAME) are expanded using 284 the previously defined environment variables in the container 285 and any service environment variables. If a variable cannot 286 be resolved, the reference in the input string will be unchanged. 287 Double $$ are reduced to a single $, which allows for escaping 288 the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the 289 string literal "$(VAR_NAME)". Escaped references will never 290 be expanded, regardless of whether the variable exists or 291 not. Defaults to "".' 292 type: string 293 valueFrom: 294 description: Source for the environment variable's value. Cannot 295 be used if value is not empty. 296 properties: 297 configMapKeyRef: 298 description: Selects a key of a ConfigMap. 299 properties: 300 key: 301 description: The key to select. 302 type: string 303 name: 304 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 305 TODO: Add other useful fields. apiVersion, kind, uid?' 306 type: string 307 optional: 308 description: Specify whether the ConfigMap or its key 309 must be defined 310 type: boolean 311 required: 312 - key 313 type: object 314 x-kubernetes-map-type: atomic 315 fieldRef: 316 description: 'Selects a field of the pod: supports metadata.name, 317 metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, 318 spec.nodeName, spec.serviceAccountName, status.hostIP, 319 status.podIP, status.podIPs.' 320 properties: 321 apiVersion: 322 description: Version of the schema the FieldPath is 323 written in terms of, defaults to "v1". 324 type: string 325 fieldPath: 326 description: Path of the field to select in the specified 327 API version. 328 type: string 329 required: 330 - fieldPath 331 type: object 332 x-kubernetes-map-type: atomic 333 resourceFieldRef: 334 description: 'Selects a resource of the container: only 335 resources limits and requests (limits.cpu, limits.memory, 336 limits.ephemeral-storage, requests.cpu, requests.memory 337 and requests.ephemeral-storage) are currently supported.' 338 properties: 339 containerName: 340 description: 'Container name: required for volumes, 341 optional for env vars' 342 type: string 343 divisor: 344 anyOf: 345 - type: integer 346 - type: string 347 description: Specifies the output format of the exposed 348 resources, defaults to "1" 349 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 350 x-kubernetes-int-or-string: true 351 resource: 352 description: 'Required: resource to select' 353 type: string 354 required: 355 - resource 356 type: object 357 x-kubernetes-map-type: atomic 358 secretKeyRef: 359 description: Selects a key of a secret in the pod's namespace 360 properties: 361 key: 362 description: The key of the secret to select from. Must 363 be a valid secret key. 364 type: string 365 name: 366 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 367 TODO: Add other useful fields. apiVersion, kind, uid?' 368 type: string 369 optional: 370 description: Specify whether the Secret or its key must 371 be defined 372 type: boolean 373 required: 374 - key 375 type: object 376 x-kubernetes-map-type: atomic 377 type: object 378 required: 379 - name 380 type: object 381 type: array 382 x-kubernetes-preserve-unknown-fields: true 383 envFrom: 384 description: List of sources to populate environment variables in 385 the container. The keys defined within a source must be a C_IDENTIFIER. 386 All invalid keys will be reported as an event when the container 387 is starting. When a key exists in multiple sources, the value associated 388 with the last source will take precedence. Values defined by an 389 Env with a duplicate key will take precedence. Cannot be updated. 390 items: 391 description: EnvFromSource represents the source of a set of ConfigMaps 392 properties: 393 configMapRef: 394 description: The ConfigMap to select from 395 properties: 396 name: 397 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 398 TODO: Add other useful fields. apiVersion, kind, uid?' 399 type: string 400 optional: 401 description: Specify whether the ConfigMap must be defined 402 type: boolean 403 type: object 404 x-kubernetes-map-type: atomic 405 prefix: 406 description: An optional identifier to prepend to each key in 407 the ConfigMap. Must be a C_IDENTIFIER. 408 type: string 409 secretRef: 410 description: The Secret to select from 411 properties: 412 name: 413 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 414 TODO: Add other useful fields. apiVersion, kind, uid?' 415 type: string 416 optional: 417 description: Specify whether the Secret must be defined 418 type: boolean 419 type: object 420 x-kubernetes-map-type: atomic 421 type: object 422 type: array 423 x-kubernetes-preserve-unknown-fields: true 424 restore: 425 description: restore specifies the restore action. 426 properties: 427 postReady: 428 description: postReady specifies the action to execute after the 429 data is ready. 430 items: 431 description: ActionSpec defines an action that should be executed. 432 Only one of the fields may be set. 433 properties: 434 exec: 435 description: exec specifies the action should be executed 436 by the pod exec API in a container. 437 properties: 438 command: 439 description: Command is the command and arguments to 440 execute. 441 items: 442 type: string 443 minItems: 1 444 type: array 445 container: 446 description: container is the container in the pod where 447 the command should be executed. If not specified, 448 the pod's first container is used. 449 type: string 450 onError: 451 default: Fail 452 description: OnError specifies how should behave if 453 it encounters an error executing this action. 454 enum: 455 - Continue 456 - Fail 457 type: string 458 timeout: 459 description: Timeout defines the maximum amount of time 460 should wait for the hook to complete before considering 461 the execution a failure. 462 type: string 463 required: 464 - command 465 type: object 466 job: 467 description: job specifies the action should be executed 468 by a Kubernetes Job. 469 properties: 470 command: 471 description: command specifies the commands to back 472 up the volume data. 473 items: 474 type: string 475 type: array 476 image: 477 description: image specifies the image of backup container. 478 type: string 479 onError: 480 default: Fail 481 description: OnError specifies how should behave if 482 it encounters an error executing this action. 483 enum: 484 - Continue 485 - Fail 486 type: string 487 runOnTargetPodNode: 488 default: false 489 description: runOnTargetPodNode specifies whether to 490 run the job workload on the target pod node. If backup 491 container should mount the target pod's volumes, this 492 field should be set to true. otherwise the target 493 pod's volumes will be ignored. 494 type: boolean 495 required: 496 - command 497 - image 498 type: object 499 type: object 500 type: array 501 prepareData: 502 description: prepareData specifies the action to prepare data. 503 properties: 504 command: 505 description: command specifies the commands to back up the 506 volume data. 507 items: 508 type: string 509 type: array 510 image: 511 description: image specifies the image of backup container. 512 type: string 513 onError: 514 default: Fail 515 description: OnError specifies how should behave if it encounters 516 an error executing this action. 517 enum: 518 - Continue 519 - Fail 520 type: string 521 runOnTargetPodNode: 522 default: false 523 description: runOnTargetPodNode specifies whether to run the 524 job workload on the target pod node. If backup container 525 should mount the target pod's volumes, this field should 526 be set to true. otherwise the target pod's volumes will 527 be ignored. 528 type: boolean 529 required: 530 - command 531 - image 532 type: object 533 type: object 534 required: 535 - backupType 536 type: object 537 status: 538 description: ActionSetStatus defines the observed state of ActionSet 539 properties: 540 message: 541 description: A human-readable message indicating details about why 542 the ActionSet is in this phase. 543 type: string 544 observedGeneration: 545 description: generation number 546 format: int64 547 type: integer 548 phase: 549 description: phase - in list of [Available,Unavailable] 550 enum: 551 - Available 552 - Unavailable 553 type: string 554 type: object 555 type: object 556 served: true 557 storage: true 558 subresources: 559 status: {}