github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/docs/developer_docs/api-reference/backup.md (about) 1 --- 2 title: Backup API Reference 3 description: Backup API Reference 4 keywords: [backup, api] 5 sidebar_position: 2 6 sidebar_label: Backup 7 --- 8 <br /> 9 <p>Packages:</p> 10 <ul> 11 <li> 12 <a href="#dataprotection.kubeblocks.io%2fv1alpha1">dataprotection.kubeblocks.io/v1alpha1</a> 13 </li> 14 </ul> 15 <h2 id="dataprotection.kubeblocks.io/v1alpha1">dataprotection.kubeblocks.io/v1alpha1</h2> 16 <div> 17 </div> 18 Resource Types: 19 <ul><li> 20 <a href="#dataprotection.kubeblocks.io/v1alpha1.Backup">Backup</a> 21 </li><li> 22 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicy">BackupPolicy</a> 23 </li><li> 24 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepo">BackupRepo</a> 25 </li><li> 26 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupTool">BackupTool</a> 27 </li><li> 28 <a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJob">RestoreJob</a> 29 </li></ul> 30 <h3 id="dataprotection.kubeblocks.io/v1alpha1.Backup">Backup 31 </h3> 32 <div> 33 <p>Backup is the Schema for the backups API (defined by User).</p><br /> 34 </div> 35 <table> 36 <thead> 37 <tr> 38 <th>Field</th> 39 <th>Description</th> 40 </tr> 41 </thead> 42 <tbody> 43 <tr> 44 <td> 45 <code>apiVersion</code><br/> 46 string</td> 47 <td> 48 <code>dataprotection.kubeblocks.io/v1alpha1</code> 49 </td> 50 </tr> 51 <tr> 52 <td> 53 <code>kind</code><br/> 54 string 55 </td> 56 <td><code>Backup</code></td> 57 </tr> 58 <tr> 59 <td> 60 <code>metadata</code><br/> 61 <em> 62 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#objectmeta-v1-meta"> 63 Kubernetes meta/v1.ObjectMeta 64 </a> 65 </em> 66 </td> 67 <td> 68 Refer to the Kubernetes API documentation for the fields of the 69 <code>metadata</code> field. 70 </td> 71 </tr> 72 <tr> 73 <td> 74 <code>spec</code><br/> 75 <em> 76 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupSpec"> 77 BackupSpec 78 </a> 79 </em> 80 </td> 81 <td> 82 <br/> 83 <br/> 84 <table> 85 <tr> 86 <td> 87 <code>backupPolicyName</code><br/> 88 <em> 89 string 90 </em> 91 </td> 92 <td> 93 <p>Which backupPolicy is applied to perform this backup</p><br /> 94 </td> 95 </tr> 96 <tr> 97 <td> 98 <code>backupType</code><br/> 99 <em> 100 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupType"> 101 BackupType 102 </a> 103 </em> 104 </td> 105 <td> 106 <p>Backup Type. datafile or logfile or snapshot. If not set, datafile is the default type.</p><br /> 107 </td> 108 </tr> 109 <tr> 110 <td> 111 <code>parentBackupName</code><br/> 112 <em> 113 string 114 </em> 115 </td> 116 <td> 117 <em>(Optional)</em> 118 <p>if backupType is incremental, parentBackupName is required.</p><br /> 119 </td> 120 </tr> 121 </table> 122 </td> 123 </tr> 124 <tr> 125 <td> 126 <code>status</code><br/> 127 <em> 128 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatus"> 129 BackupStatus 130 </a> 131 </em> 132 </td> 133 <td> 134 </td> 135 </tr> 136 </tbody> 137 </table> 138 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicy">BackupPolicy 139 </h3> 140 <div> 141 <p>BackupPolicy is the Schema for the backuppolicies API (defined by User)</p><br /> 142 </div> 143 <table> 144 <thead> 145 <tr> 146 <th>Field</th> 147 <th>Description</th> 148 </tr> 149 </thead> 150 <tbody> 151 <tr> 152 <td> 153 <code>apiVersion</code><br/> 154 string</td> 155 <td> 156 <code>dataprotection.kubeblocks.io/v1alpha1</code> 157 </td> 158 </tr> 159 <tr> 160 <td> 161 <code>kind</code><br/> 162 string 163 </td> 164 <td><code>BackupPolicy</code></td> 165 </tr> 166 <tr> 167 <td> 168 <code>metadata</code><br/> 169 <em> 170 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#objectmeta-v1-meta"> 171 Kubernetes meta/v1.ObjectMeta 172 </a> 173 </em> 174 </td> 175 <td> 176 Refer to the Kubernetes API documentation for the fields of the 177 <code>metadata</code> field. 178 </td> 179 </tr> 180 <tr> 181 <td> 182 <code>spec</code><br/> 183 <em> 184 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec"> 185 BackupPolicySpec 186 </a> 187 </em> 188 </td> 189 <td> 190 <br/> 191 <br/> 192 <table> 193 <tr> 194 <td> 195 <code>retention</code><br/> 196 <em> 197 <a href="#dataprotection.kubeblocks.io/v1alpha1.RetentionSpec"> 198 RetentionSpec 199 </a> 200 </em> 201 </td> 202 <td> 203 <em>(Optional)</em> 204 <p>retention describe how long the Backup should be retained. if not set, will be retained forever.</p><br /> 205 </td> 206 </tr> 207 <tr> 208 <td> 209 <code>schedule</code><br/> 210 <em> 211 <a href="#dataprotection.kubeblocks.io/v1alpha1.Schedule"> 212 Schedule 213 </a> 214 </em> 215 </td> 216 <td> 217 <em>(Optional)</em> 218 <p>schedule policy for backup.</p><br /> 219 </td> 220 </tr> 221 <tr> 222 <td> 223 <code>snapshot</code><br/> 224 <em> 225 <a href="#dataprotection.kubeblocks.io/v1alpha1.SnapshotPolicy"> 226 SnapshotPolicy 227 </a> 228 </em> 229 </td> 230 <td> 231 <em>(Optional)</em> 232 <p>the policy for snapshot backup.</p><br /> 233 </td> 234 </tr> 235 <tr> 236 <td> 237 <code>datafile</code><br/> 238 <em> 239 <a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy"> 240 CommonBackupPolicy 241 </a> 242 </em> 243 </td> 244 <td> 245 <em>(Optional)</em> 246 <p>the policy for datafile backup.</p><br /> 247 </td> 248 </tr> 249 <tr> 250 <td> 251 <code>logfile</code><br/> 252 <em> 253 <a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy"> 254 CommonBackupPolicy 255 </a> 256 </em> 257 </td> 258 <td> 259 <em>(Optional)</em> 260 <p>the policy for logfile backup.</p><br /> 261 </td> 262 </tr> 263 </table> 264 </td> 265 </tr> 266 <tr> 267 <td> 268 <code>status</code><br/> 269 <em> 270 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicyStatus"> 271 BackupPolicyStatus 272 </a> 273 </em> 274 </td> 275 <td> 276 </td> 277 </tr> 278 </tbody> 279 </table> 280 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupRepo">BackupRepo 281 </h3> 282 <div> 283 <p>BackupRepo is the Schema for the backuprepos API</p><br /> 284 </div> 285 <table> 286 <thead> 287 <tr> 288 <th>Field</th> 289 <th>Description</th> 290 </tr> 291 </thead> 292 <tbody> 293 <tr> 294 <td> 295 <code>apiVersion</code><br/> 296 string</td> 297 <td> 298 <code>dataprotection.kubeblocks.io/v1alpha1</code> 299 </td> 300 </tr> 301 <tr> 302 <td> 303 <code>kind</code><br/> 304 string 305 </td> 306 <td><code>BackupRepo</code></td> 307 </tr> 308 <tr> 309 <td> 310 <code>metadata</code><br/> 311 <em> 312 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#objectmeta-v1-meta"> 313 Kubernetes meta/v1.ObjectMeta 314 </a> 315 </em> 316 </td> 317 <td> 318 Refer to the Kubernetes API documentation for the fields of the 319 <code>metadata</code> field. 320 </td> 321 </tr> 322 <tr> 323 <td> 324 <code>spec</code><br/> 325 <em> 326 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepoSpec"> 327 BackupRepoSpec 328 </a> 329 </em> 330 </td> 331 <td> 332 <br/> 333 <br/> 334 <table> 335 <tr> 336 <td> 337 <code>storageProviderRef</code><br/> 338 <em> 339 string 340 </em> 341 </td> 342 <td> 343 <p>The storage provider used by this backup repo.</p><br /> 344 </td> 345 </tr> 346 <tr> 347 <td> 348 <code>volumeCapacity</code><br/> 349 <em> 350 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#quantity-resource-core"> 351 Kubernetes resource.Quantity 352 </a> 353 </em> 354 </td> 355 <td> 356 <em>(Optional)</em> 357 <p>The requested capacity for the PVC created by this backup repo.</p><br /> 358 </td> 359 </tr> 360 <tr> 361 <td> 362 <code>pvReclaimPolicy</code><br/> 363 <em> 364 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#persistentvolumereclaimpolicy-v1-core"> 365 Kubernetes core/v1.PersistentVolumeReclaimPolicy 366 </a> 367 </em> 368 </td> 369 <td> 370 <p>The reclaim policy for the PV created by this backup repo.</p><br /> 371 </td> 372 </tr> 373 <tr> 374 <td> 375 <code>config</code><br/> 376 <em> 377 map[string]string 378 </em> 379 </td> 380 <td> 381 <em>(Optional)</em> 382 <p>Non-secret configurations for the storage provider.</p><br /> 383 </td> 384 </tr> 385 <tr> 386 <td> 387 <code>credential</code><br/> 388 <em> 389 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#secretreference-v1-core"> 390 Kubernetes core/v1.SecretReference 391 </a> 392 </em> 393 </td> 394 <td> 395 <em>(Optional)</em> 396 <p>A secret that contains the credentials needed by the storage provider.</p><br /> 397 </td> 398 </tr> 399 </table> 400 </td> 401 </tr> 402 <tr> 403 <td> 404 <code>status</code><br/> 405 <em> 406 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepoStatus"> 407 BackupRepoStatus 408 </a> 409 </em> 410 </td> 411 <td> 412 </td> 413 </tr> 414 </tbody> 415 </table> 416 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupTool">BackupTool 417 </h3> 418 <div> 419 <p>BackupTool is the Schema for the backuptools API (defined by provider)</p><br /> 420 </div> 421 <table> 422 <thead> 423 <tr> 424 <th>Field</th> 425 <th>Description</th> 426 </tr> 427 </thead> 428 <tbody> 429 <tr> 430 <td> 431 <code>apiVersion</code><br/> 432 string</td> 433 <td> 434 <code>dataprotection.kubeblocks.io/v1alpha1</code> 435 </td> 436 </tr> 437 <tr> 438 <td> 439 <code>kind</code><br/> 440 string 441 </td> 442 <td><code>BackupTool</code></td> 443 </tr> 444 <tr> 445 <td> 446 <code>metadata</code><br/> 447 <em> 448 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#objectmeta-v1-meta"> 449 Kubernetes meta/v1.ObjectMeta 450 </a> 451 </em> 452 </td> 453 <td> 454 Refer to the Kubernetes API documentation for the fields of the 455 <code>metadata</code> field. 456 </td> 457 </tr> 458 <tr> 459 <td> 460 <code>spec</code><br/> 461 <em> 462 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolSpec"> 463 BackupToolSpec 464 </a> 465 </em> 466 </td> 467 <td> 468 <br/> 469 <br/> 470 <table> 471 <tr> 472 <td> 473 <code>image</code><br/> 474 <em> 475 string 476 </em> 477 </td> 478 <td> 479 <p>Backup tool Container image name.</p><br /> 480 </td> 481 </tr> 482 <tr> 483 <td> 484 <code>deployKind</code><br/> 485 <em> 486 <a href="#dataprotection.kubeblocks.io/v1alpha1.DeployKind"> 487 DeployKind 488 </a> 489 </em> 490 </td> 491 <td> 492 <p>which kind for run a backup tool, supported values: job, statefulSet.</p><br /> 493 </td> 494 </tr> 495 <tr> 496 <td> 497 <code>type</code><br/> 498 <em> 499 string 500 </em> 501 </td> 502 <td> 503 <p>the type of backup tool, file or pitr</p><br /> 504 </td> 505 </tr> 506 <tr> 507 <td> 508 <code>resources</code><br/> 509 <em> 510 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#resourcerequirements-v1-core"> 511 Kubernetes core/v1.ResourceRequirements 512 </a> 513 </em> 514 </td> 515 <td> 516 <em>(Optional)</em> 517 <p>Compute Resources required by this container.<br />Cannot be updated.</p><br /> 518 </td> 519 </tr> 520 <tr> 521 <td> 522 <code>env</code><br/> 523 <em> 524 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envvar-v1-core"> 525 []Kubernetes core/v1.EnvVar 526 </a> 527 </em> 528 </td> 529 <td> 530 <em>(Optional)</em> 531 <p>List of environment variables to set in the container.</p><br /> 532 </td> 533 </tr> 534 <tr> 535 <td> 536 <code>envFrom</code><br/> 537 <em> 538 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envfromsource-v1-core"> 539 []Kubernetes core/v1.EnvFromSource 540 </a> 541 </em> 542 </td> 543 <td> 544 <em>(Optional)</em> 545 <p>List of sources to populate environment variables in the container.<br />The keys defined within a source must be a C_IDENTIFIER. All invalid keys<br />will be reported as an event when the container is starting. When a key exists in multiple<br />sources, the value associated with the last source will take precedence.<br />Values defined by an Env with a duplicate key will take precedence.<br />Cannot be updated.</p><br /> 546 </td> 547 </tr> 548 <tr> 549 <td> 550 <code>backupCommands</code><br/> 551 <em> 552 []string 553 </em> 554 </td> 555 <td> 556 <p>Array of command that apps can do database backup.<br />from invoke args<br />the order of commands follows the order of array.</p><br /> 557 </td> 558 </tr> 559 <tr> 560 <td> 561 <code>incrementalBackupCommands</code><br/> 562 <em> 563 []string 564 </em> 565 </td> 566 <td> 567 <em>(Optional)</em> 568 <p>Array of command that apps can do database incremental backup.<br />like xtrabackup, that can performs an incremental backup file.</p><br /> 569 </td> 570 </tr> 571 <tr> 572 <td> 573 <code>physical</code><br/> 574 <em> 575 <a href="#dataprotection.kubeblocks.io/v1alpha1.PhysicalConfig"> 576 PhysicalConfig 577 </a> 578 </em> 579 </td> 580 <td> 581 <em>(Optional)</em> 582 <p>backup tool can support physical restore, in this case, restore must be RESTART database.</p><br /> 583 </td> 584 </tr> 585 <tr> 586 <td> 587 <code>logical</code><br/> 588 <em> 589 <a href="#dataprotection.kubeblocks.io/v1alpha1.LogicalConfig"> 590 LogicalConfig 591 </a> 592 </em> 593 </td> 594 <td> 595 <em>(Optional)</em> 596 <p>backup tool can support logical restore, in this case, restore NOT RESTART database.</p><br /> 597 </td> 598 </tr> 599 </table> 600 </td> 601 </tr> 602 <tr> 603 <td> 604 <code>status</code><br/> 605 <em> 606 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolStatus"> 607 BackupToolStatus 608 </a> 609 </em> 610 </td> 611 <td> 612 </td> 613 </tr> 614 </tbody> 615 </table> 616 <h3 id="dataprotection.kubeblocks.io/v1alpha1.RestoreJob">RestoreJob 617 </h3> 618 <div> 619 <p>RestoreJob is the Schema for the restorejobs API (defined by User)</p><br /> 620 </div> 621 <table> 622 <thead> 623 <tr> 624 <th>Field</th> 625 <th>Description</th> 626 </tr> 627 </thead> 628 <tbody> 629 <tr> 630 <td> 631 <code>apiVersion</code><br/> 632 string</td> 633 <td> 634 <code>dataprotection.kubeblocks.io/v1alpha1</code> 635 </td> 636 </tr> 637 <tr> 638 <td> 639 <code>kind</code><br/> 640 string 641 </td> 642 <td><code>RestoreJob</code></td> 643 </tr> 644 <tr> 645 <td> 646 <code>metadata</code><br/> 647 <em> 648 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#objectmeta-v1-meta"> 649 Kubernetes meta/v1.ObjectMeta 650 </a> 651 </em> 652 </td> 653 <td> 654 Refer to the Kubernetes API documentation for the fields of the 655 <code>metadata</code> field. 656 </td> 657 </tr> 658 <tr> 659 <td> 660 <code>spec</code><br/> 661 <em> 662 <a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJobSpec"> 663 RestoreJobSpec 664 </a> 665 </em> 666 </td> 667 <td> 668 <br/> 669 <br/> 670 <table> 671 <tr> 672 <td> 673 <code>backupJobName</code><br/> 674 <em> 675 string 676 </em> 677 </td> 678 <td> 679 <p>Specified one backupJob to restore.</p><br /> 680 </td> 681 </tr> 682 <tr> 683 <td> 684 <code>target</code><br/> 685 <em> 686 <a href="#dataprotection.kubeblocks.io/v1alpha1.TargetCluster"> 687 TargetCluster 688 </a> 689 </em> 690 </td> 691 <td> 692 <p>the target database workload to restore</p><br /> 693 </td> 694 </tr> 695 <tr> 696 <td> 697 <code>targetVolumes</code><br/> 698 <em> 699 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#volume-v1-core"> 700 []Kubernetes core/v1.Volume 701 </a> 702 </em> 703 </td> 704 <td> 705 <p>array of restore volumes .</p><br /> 706 </td> 707 </tr> 708 <tr> 709 <td> 710 <code>targetVolumeMounts</code><br/> 711 <em> 712 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#volumemount-v1-core"> 713 []Kubernetes core/v1.VolumeMount 714 </a> 715 </em> 716 </td> 717 <td> 718 <p>array of restore volume mounts .</p><br /> 719 </td> 720 </tr> 721 <tr> 722 <td> 723 <code>onFailAttempted</code><br/> 724 <em> 725 int32 726 </em> 727 </td> 728 <td> 729 <em>(Optional)</em> 730 <p>count of backup stop retries on fail.</p><br /> 731 </td> 732 </tr> 733 </table> 734 </td> 735 </tr> 736 <tr> 737 <td> 738 <code>status</code><br/> 739 <em> 740 <a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJobStatus"> 741 RestoreJobStatus 742 </a> 743 </em> 744 </td> 745 <td> 746 </td> 747 </tr> 748 </tbody> 749 </table> 750 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupLogStatus">BackupLogStatus 751 </h3> 752 <p> 753 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.ManifestsStatus">ManifestsStatus</a>) 754 </p> 755 <div> 756 </div> 757 <table> 758 <thead> 759 <tr> 760 <th>Field</th> 761 <th>Description</th> 762 </tr> 763 </thead> 764 <tbody> 765 <tr> 766 <td> 767 <code>startTime</code><br/> 768 <em> 769 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 770 Kubernetes meta/v1.Time 771 </a> 772 </em> 773 </td> 774 <td> 775 <em>(Optional)</em> 776 <p>startTime records the start time of data logging.</p><br /> 777 </td> 778 </tr> 779 <tr> 780 <td> 781 <code>stopTime</code><br/> 782 <em> 783 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 784 Kubernetes meta/v1.Time 785 </a> 786 </em> 787 </td> 788 <td> 789 <em>(Optional)</em> 790 <p>stopTime records the stop time of data logging.</p><br /> 791 </td> 792 </tr> 793 </tbody> 794 </table> 795 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupMethod">BackupMethod 796 (<code>string</code> alias)</h3> 797 <div> 798 <p>BackupMethod the backup method</p><br /> 799 </div> 800 <table> 801 <thead> 802 <tr> 803 <th>Value</th> 804 <th>Description</th> 805 </tr> 806 </thead> 807 <tbody><tr><td><p>"backupTool"</p></td> 808 <td></td> 809 </tr><tr><td><p>"snapshot"</p></td> 810 <td></td> 811 </tr></tbody> 812 </table> 813 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPhase">BackupPhase 814 (<code>string</code> alias)</h3> 815 <p> 816 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatus">BackupStatus</a>) 817 </p> 818 <div> 819 <p>BackupPhase The current phase. Valid values are New, InProgress, Completed, Failed.</p><br /> 820 </div> 821 <table> 822 <thead> 823 <tr> 824 <th>Value</th> 825 <th>Description</th> 826 </tr> 827 </thead> 828 <tbody><tr><td><p>"Completed"</p></td> 829 <td></td> 830 </tr><tr><td><p>"Deleting"</p></td> 831 <td></td> 832 </tr><tr><td><p>"Failed"</p></td> 833 <td></td> 834 </tr><tr><td><p>"InProgress"</p></td> 835 <td></td> 836 </tr><tr><td><p>"New"</p></td> 837 <td></td> 838 </tr><tr><td><p>"Running"</p></td> 839 <td></td> 840 </tr></tbody> 841 </table> 842 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicyHook">BackupPolicyHook 843 </h3> 844 <p> 845 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.SnapshotPolicy">SnapshotPolicy</a>) 846 </p> 847 <div> 848 <p>BackupPolicyHook defines for the database execute commands before and after backup.</p><br /> 849 </div> 850 <table> 851 <thead> 852 <tr> 853 <th>Field</th> 854 <th>Description</th> 855 </tr> 856 </thead> 857 <tbody> 858 <tr> 859 <td> 860 <code>preCommands</code><br/> 861 <em> 862 []string 863 </em> 864 </td> 865 <td> 866 <em>(Optional)</em> 867 <p>pre backup to perform commands</p><br /> 868 </td> 869 </tr> 870 <tr> 871 <td> 872 <code>postCommands</code><br/> 873 <em> 874 []string 875 </em> 876 </td> 877 <td> 878 <em>(Optional)</em> 879 <p>post backup to perform commands</p><br /> 880 </td> 881 </tr> 882 <tr> 883 <td> 884 <code>image</code><br/> 885 <em> 886 string 887 </em> 888 </td> 889 <td> 890 <em>(Optional)</em> 891 <p>exec command with image</p><br /> 892 </td> 893 </tr> 894 <tr> 895 <td> 896 <code>containerName</code><br/> 897 <em> 898 string 899 </em> 900 </td> 901 <td> 902 <em>(Optional)</em> 903 <p>which container can exec command</p><br /> 904 </td> 905 </tr> 906 </tbody> 907 </table> 908 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicyPhase">BackupPolicyPhase 909 (<code>string</code> alias)</h3> 910 <p> 911 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicyStatus">BackupPolicyStatus</a>) 912 </p> 913 <div> 914 <p>BackupPolicyPhase defines phases for BackupPolicy CR.</p><br /> 915 </div> 916 <table> 917 <thead> 918 <tr> 919 <th>Value</th> 920 <th>Description</th> 921 </tr> 922 </thead> 923 <tbody><tr><td><p>"Available"</p></td> 924 <td></td> 925 </tr><tr><td><p>"Failed"</p></td> 926 <td></td> 927 </tr></tbody> 928 </table> 929 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicySecret">BackupPolicySecret 930 </h3> 931 <p> 932 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.TargetCluster">TargetCluster</a>) 933 </p> 934 <div> 935 <p>BackupPolicySecret defines for the target database secret that backup tool can connect.</p><br /> 936 </div> 937 <table> 938 <thead> 939 <tr> 940 <th>Field</th> 941 <th>Description</th> 942 </tr> 943 </thead> 944 <tbody> 945 <tr> 946 <td> 947 <code>name</code><br/> 948 <em> 949 string 950 </em> 951 </td> 952 <td> 953 <p>the secret name</p><br /> 954 </td> 955 </tr> 956 <tr> 957 <td> 958 <code>usernameKey</code><br/> 959 <em> 960 string 961 </em> 962 </td> 963 <td> 964 <p>usernameKey the map key of the user in the connection credential secret</p><br /> 965 </td> 966 </tr> 967 <tr> 968 <td> 969 <code>passwordKey</code><br/> 970 <em> 971 string 972 </em> 973 </td> 974 <td> 975 <p>passwordKey the map key of the password in the connection credential secret</p><br /> 976 </td> 977 </tr> 978 </tbody> 979 </table> 980 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec">BackupPolicySpec 981 </h3> 982 <p> 983 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicy">BackupPolicy</a>) 984 </p> 985 <div> 986 <p>BackupPolicySpec defines the desired state of BackupPolicy</p><br /> 987 </div> 988 <table> 989 <thead> 990 <tr> 991 <th>Field</th> 992 <th>Description</th> 993 </tr> 994 </thead> 995 <tbody> 996 <tr> 997 <td> 998 <code>retention</code><br/> 999 <em> 1000 <a href="#dataprotection.kubeblocks.io/v1alpha1.RetentionSpec"> 1001 RetentionSpec 1002 </a> 1003 </em> 1004 </td> 1005 <td> 1006 <em>(Optional)</em> 1007 <p>retention describe how long the Backup should be retained. if not set, will be retained forever.</p><br /> 1008 </td> 1009 </tr> 1010 <tr> 1011 <td> 1012 <code>schedule</code><br/> 1013 <em> 1014 <a href="#dataprotection.kubeblocks.io/v1alpha1.Schedule"> 1015 Schedule 1016 </a> 1017 </em> 1018 </td> 1019 <td> 1020 <em>(Optional)</em> 1021 <p>schedule policy for backup.</p><br /> 1022 </td> 1023 </tr> 1024 <tr> 1025 <td> 1026 <code>snapshot</code><br/> 1027 <em> 1028 <a href="#dataprotection.kubeblocks.io/v1alpha1.SnapshotPolicy"> 1029 SnapshotPolicy 1030 </a> 1031 </em> 1032 </td> 1033 <td> 1034 <em>(Optional)</em> 1035 <p>the policy for snapshot backup.</p><br /> 1036 </td> 1037 </tr> 1038 <tr> 1039 <td> 1040 <code>datafile</code><br/> 1041 <em> 1042 <a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy"> 1043 CommonBackupPolicy 1044 </a> 1045 </em> 1046 </td> 1047 <td> 1048 <em>(Optional)</em> 1049 <p>the policy for datafile backup.</p><br /> 1050 </td> 1051 </tr> 1052 <tr> 1053 <td> 1054 <code>logfile</code><br/> 1055 <em> 1056 <a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy"> 1057 CommonBackupPolicy 1058 </a> 1059 </em> 1060 </td> 1061 <td> 1062 <em>(Optional)</em> 1063 <p>the policy for logfile backup.</p><br /> 1064 </td> 1065 </tr> 1066 </tbody> 1067 </table> 1068 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupPolicyStatus">BackupPolicyStatus 1069 </h3> 1070 <p> 1071 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicy">BackupPolicy</a>) 1072 </p> 1073 <div> 1074 <p>BackupPolicyStatus defines the observed state of BackupPolicy</p><br /> 1075 </div> 1076 <table> 1077 <thead> 1078 <tr> 1079 <th>Field</th> 1080 <th>Description</th> 1081 </tr> 1082 </thead> 1083 <tbody> 1084 <tr> 1085 <td> 1086 <code>observedGeneration</code><br/> 1087 <em> 1088 int64 1089 </em> 1090 </td> 1091 <td> 1092 <em>(Optional)</em> 1093 <p>observedGeneration is the most recent generation observed for this<br />BackupPolicy. It corresponds to the Cluster’s generation, which is<br />updated on mutation by the API Server.</p><br /> 1094 </td> 1095 </tr> 1096 <tr> 1097 <td> 1098 <code>phase</code><br/> 1099 <em> 1100 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicyPhase"> 1101 BackupPolicyPhase 1102 </a> 1103 </em> 1104 </td> 1105 <td> 1106 <em>(Optional)</em> 1107 <p>backup policy phase valid value: Available, Failed.</p><br /> 1108 </td> 1109 </tr> 1110 <tr> 1111 <td> 1112 <code>failureReason</code><br/> 1113 <em> 1114 string 1115 </em> 1116 </td> 1117 <td> 1118 <em>(Optional)</em> 1119 <p>the reason if backup policy check failed.</p><br /> 1120 </td> 1121 </tr> 1122 <tr> 1123 <td> 1124 <code>lastScheduleTime</code><br/> 1125 <em> 1126 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 1127 Kubernetes meta/v1.Time 1128 </a> 1129 </em> 1130 </td> 1131 <td> 1132 <em>(Optional)</em> 1133 <p>information when was the last time the job was successfully scheduled.</p><br /> 1134 </td> 1135 </tr> 1136 <tr> 1137 <td> 1138 <code>lastSuccessfulTime</code><br/> 1139 <em> 1140 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 1141 Kubernetes meta/v1.Time 1142 </a> 1143 </em> 1144 </td> 1145 <td> 1146 <em>(Optional)</em> 1147 <p>information when was the last time the job successfully completed.</p><br /> 1148 </td> 1149 </tr> 1150 </tbody> 1151 </table> 1152 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupRepoPhase">BackupRepoPhase 1153 (<code>string</code> alias)</h3> 1154 <p> 1155 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepoStatus">BackupRepoStatus</a>) 1156 </p> 1157 <div> 1158 <p>BackupRepoPhase defines phases for BackupRepo CR.</p><br /> 1159 </div> 1160 <table> 1161 <thead> 1162 <tr> 1163 <th>Value</th> 1164 <th>Description</th> 1165 </tr> 1166 </thead> 1167 <tbody><tr><td><p>"Deleting"</p></td> 1168 <td></td> 1169 </tr><tr><td><p>"Failed"</p></td> 1170 <td></td> 1171 </tr><tr><td><p>"PreChecking"</p></td> 1172 <td></td> 1173 </tr><tr><td><p>"Ready"</p></td> 1174 <td></td> 1175 </tr></tbody> 1176 </table> 1177 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupRepoSpec">BackupRepoSpec 1178 </h3> 1179 <p> 1180 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepo">BackupRepo</a>) 1181 </p> 1182 <div> 1183 <p>BackupRepoSpec defines the desired state of BackupRepo</p><br /> 1184 </div> 1185 <table> 1186 <thead> 1187 <tr> 1188 <th>Field</th> 1189 <th>Description</th> 1190 </tr> 1191 </thead> 1192 <tbody> 1193 <tr> 1194 <td> 1195 <code>storageProviderRef</code><br/> 1196 <em> 1197 string 1198 </em> 1199 </td> 1200 <td> 1201 <p>The storage provider used by this backup repo.</p><br /> 1202 </td> 1203 </tr> 1204 <tr> 1205 <td> 1206 <code>volumeCapacity</code><br/> 1207 <em> 1208 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#quantity-resource-core"> 1209 Kubernetes resource.Quantity 1210 </a> 1211 </em> 1212 </td> 1213 <td> 1214 <em>(Optional)</em> 1215 <p>The requested capacity for the PVC created by this backup repo.</p><br /> 1216 </td> 1217 </tr> 1218 <tr> 1219 <td> 1220 <code>pvReclaimPolicy</code><br/> 1221 <em> 1222 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#persistentvolumereclaimpolicy-v1-core"> 1223 Kubernetes core/v1.PersistentVolumeReclaimPolicy 1224 </a> 1225 </em> 1226 </td> 1227 <td> 1228 <p>The reclaim policy for the PV created by this backup repo.</p><br /> 1229 </td> 1230 </tr> 1231 <tr> 1232 <td> 1233 <code>config</code><br/> 1234 <em> 1235 map[string]string 1236 </em> 1237 </td> 1238 <td> 1239 <em>(Optional)</em> 1240 <p>Non-secret configurations for the storage provider.</p><br /> 1241 </td> 1242 </tr> 1243 <tr> 1244 <td> 1245 <code>credential</code><br/> 1246 <em> 1247 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#secretreference-v1-core"> 1248 Kubernetes core/v1.SecretReference 1249 </a> 1250 </em> 1251 </td> 1252 <td> 1253 <em>(Optional)</em> 1254 <p>A secret that contains the credentials needed by the storage provider.</p><br /> 1255 </td> 1256 </tr> 1257 </tbody> 1258 </table> 1259 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupRepoStatus">BackupRepoStatus 1260 </h3> 1261 <p> 1262 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepo">BackupRepo</a>) 1263 </p> 1264 <div> 1265 <p>BackupRepoStatus defines the observed state of BackupRepo</p><br /> 1266 </div> 1267 <table> 1268 <thead> 1269 <tr> 1270 <th>Field</th> 1271 <th>Description</th> 1272 </tr> 1273 </thead> 1274 <tbody> 1275 <tr> 1276 <td> 1277 <code>phase</code><br/> 1278 <em> 1279 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupRepoPhase"> 1280 BackupRepoPhase 1281 </a> 1282 </em> 1283 </td> 1284 <td> 1285 <em>(Optional)</em> 1286 <p>Backup repo reconciliation phases. Valid values are PreChecking, Failed, Ready, Deleting.</p><br /> 1287 </td> 1288 </tr> 1289 <tr> 1290 <td> 1291 <code>conditions</code><br/> 1292 <em> 1293 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#condition-v1-meta"> 1294 []Kubernetes meta/v1.Condition 1295 </a> 1296 </em> 1297 </td> 1298 <td> 1299 <em>(Optional)</em> 1300 <p>conditions describes the current state of the repo.</p><br /> 1301 </td> 1302 </tr> 1303 <tr> 1304 <td> 1305 <code>observedGeneration</code><br/> 1306 <em> 1307 int64 1308 </em> 1309 </td> 1310 <td> 1311 <em>(Optional)</em> 1312 <p>observedGeneration is the latest generation observed by the controller.</p><br /> 1313 </td> 1314 </tr> 1315 <tr> 1316 <td> 1317 <code>generatedCSIDriverSecret</code><br/> 1318 <em> 1319 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#secretreference-v1-core"> 1320 Kubernetes core/v1.SecretReference 1321 </a> 1322 </em> 1323 </td> 1324 <td> 1325 <em>(Optional)</em> 1326 <p>generatedCSIDriverSecret references the generated secret used by the CSI driver.</p><br /> 1327 </td> 1328 </tr> 1329 <tr> 1330 <td> 1331 <code>generatedStorageClassName</code><br/> 1332 <em> 1333 string 1334 </em> 1335 </td> 1336 <td> 1337 <em>(Optional)</em> 1338 <p>generatedStorageClassName indicates the generated storage class name.</p><br /> 1339 </td> 1340 </tr> 1341 <tr> 1342 <td> 1343 <code>backupPVCName</code><br/> 1344 <em> 1345 string 1346 </em> 1347 </td> 1348 <td> 1349 <em>(Optional)</em> 1350 <p>backupPVCName is the name of the PVC used to store backup data.</p><br /> 1351 </td> 1352 </tr> 1353 <tr> 1354 <td> 1355 <code>isDefault</code><br/> 1356 <em> 1357 bool 1358 </em> 1359 </td> 1360 <td> 1361 <em>(Optional)</em> 1362 <p>isDefault indicates whether this backup repo is the default one.</p><br /> 1363 </td> 1364 </tr> 1365 </tbody> 1366 </table> 1367 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupSnapshotStatus">BackupSnapshotStatus 1368 </h3> 1369 <p> 1370 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.ManifestsStatus">ManifestsStatus</a>) 1371 </p> 1372 <div> 1373 </div> 1374 <table> 1375 <thead> 1376 <tr> 1377 <th>Field</th> 1378 <th>Description</th> 1379 </tr> 1380 </thead> 1381 <tbody> 1382 <tr> 1383 <td> 1384 <code>volumeSnapshotName</code><br/> 1385 <em> 1386 string 1387 </em> 1388 </td> 1389 <td> 1390 <em>(Optional)</em> 1391 <p>volumeSnapshotName records the volumeSnapshot name.</p><br /> 1392 </td> 1393 </tr> 1394 <tr> 1395 <td> 1396 <code>volumeSnapshotContentName</code><br/> 1397 <em> 1398 string 1399 </em> 1400 </td> 1401 <td> 1402 <em>(Optional)</em> 1403 <p>volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent<br />object representing an existing volume snapshot.<br />This field should be set if the snapshot already exists and only needs a representation in Kubernetes.<br />This field is immutable.</p><br /> 1404 </td> 1405 </tr> 1406 </tbody> 1407 </table> 1408 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupSpec">BackupSpec 1409 </h3> 1410 <p> 1411 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.Backup">Backup</a>) 1412 </p> 1413 <div> 1414 <p>BackupSpec defines the desired state of Backup.</p><br /> 1415 </div> 1416 <table> 1417 <thead> 1418 <tr> 1419 <th>Field</th> 1420 <th>Description</th> 1421 </tr> 1422 </thead> 1423 <tbody> 1424 <tr> 1425 <td> 1426 <code>backupPolicyName</code><br/> 1427 <em> 1428 string 1429 </em> 1430 </td> 1431 <td> 1432 <p>Which backupPolicy is applied to perform this backup</p><br /> 1433 </td> 1434 </tr> 1435 <tr> 1436 <td> 1437 <code>backupType</code><br/> 1438 <em> 1439 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupType"> 1440 BackupType 1441 </a> 1442 </em> 1443 </td> 1444 <td> 1445 <p>Backup Type. datafile or logfile or snapshot. If not set, datafile is the default type.</p><br /> 1446 </td> 1447 </tr> 1448 <tr> 1449 <td> 1450 <code>parentBackupName</code><br/> 1451 <em> 1452 string 1453 </em> 1454 </td> 1455 <td> 1456 <em>(Optional)</em> 1457 <p>if backupType is incremental, parentBackupName is required.</p><br /> 1458 </td> 1459 </tr> 1460 </tbody> 1461 </table> 1462 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupStatus">BackupStatus 1463 </h3> 1464 <p> 1465 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.Backup">Backup</a>) 1466 </p> 1467 <div> 1468 <p>BackupStatus defines the observed state of Backup.</p><br /> 1469 </div> 1470 <table> 1471 <thead> 1472 <tr> 1473 <th>Field</th> 1474 <th>Description</th> 1475 </tr> 1476 </thead> 1477 <tbody> 1478 <tr> 1479 <td> 1480 <code>phase</code><br/> 1481 <em> 1482 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPhase"> 1483 BackupPhase 1484 </a> 1485 </em> 1486 </td> 1487 <td> 1488 <em>(Optional)</em> 1489 </td> 1490 </tr> 1491 <tr> 1492 <td> 1493 <code>parentBackupName</code><br/> 1494 <em> 1495 string 1496 </em> 1497 </td> 1498 <td> 1499 <em>(Optional)</em> 1500 <p>Records parentBackupName if backupType is incremental.</p><br /> 1501 </td> 1502 </tr> 1503 <tr> 1504 <td> 1505 <code>expiration</code><br/> 1506 <em> 1507 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 1508 Kubernetes meta/v1.Time 1509 </a> 1510 </em> 1511 </td> 1512 <td> 1513 <em>(Optional)</em> 1514 <p>The date and time when the Backup is eligible for garbage collection.<br />‘null’ means the Backup is NOT be cleaned except delete manual.</p><br /> 1515 </td> 1516 </tr> 1517 <tr> 1518 <td> 1519 <code>startTimestamp</code><br/> 1520 <em> 1521 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 1522 Kubernetes meta/v1.Time 1523 </a> 1524 </em> 1525 </td> 1526 <td> 1527 <em>(Optional)</em> 1528 <p>Date/time when the backup started being processed.</p><br /> 1529 </td> 1530 </tr> 1531 <tr> 1532 <td> 1533 <code>completionTimestamp</code><br/> 1534 <em> 1535 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 1536 Kubernetes meta/v1.Time 1537 </a> 1538 </em> 1539 </td> 1540 <td> 1541 <em>(Optional)</em> 1542 <p>Date/time when the backup finished being processed.</p><br /> 1543 </td> 1544 </tr> 1545 <tr> 1546 <td> 1547 <code>duration</code><br/> 1548 <em> 1549 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#duration-v1-meta"> 1550 Kubernetes meta/v1.Duration 1551 </a> 1552 </em> 1553 </td> 1554 <td> 1555 <em>(Optional)</em> 1556 <p>The duration time of backup execution.<br />When converted to a string, the form is “1h2m0.5s”.</p><br /> 1557 </td> 1558 </tr> 1559 <tr> 1560 <td> 1561 <code>totalSize</code><br/> 1562 <em> 1563 string 1564 </em> 1565 </td> 1566 <td> 1567 <em>(Optional)</em> 1568 <p>Backup total size.<br />A string with capacity units in the form of “1Gi”, “1Mi”, “1Ki”.</p><br /> 1569 </td> 1570 </tr> 1571 <tr> 1572 <td> 1573 <code>failureReason</code><br/> 1574 <em> 1575 string 1576 </em> 1577 </td> 1578 <td> 1579 <em>(Optional)</em> 1580 <p>The reason for a backup failure.</p><br /> 1581 </td> 1582 </tr> 1583 <tr> 1584 <td> 1585 <code>persistentVolumeClaimName</code><br/> 1586 <em> 1587 string 1588 </em> 1589 </td> 1590 <td> 1591 <em>(Optional)</em> 1592 <p>remoteVolume saves the backup data.</p><br /> 1593 </td> 1594 </tr> 1595 <tr> 1596 <td> 1597 <code>logFilePersistentVolumeClaimName</code><br/> 1598 <em> 1599 string 1600 </em> 1601 </td> 1602 <td> 1603 <em>(Optional)</em> 1604 <p>logFilePersistentVolumeClaimName saves the logfile backup data.</p><br /> 1605 </td> 1606 </tr> 1607 <tr> 1608 <td> 1609 <code>backupToolName</code><br/> 1610 <em> 1611 string 1612 </em> 1613 </td> 1614 <td> 1615 <em>(Optional)</em> 1616 <p>backupToolName references the backup tool name.</p><br /> 1617 </td> 1618 </tr> 1619 <tr> 1620 <td> 1621 <code>sourceCluster</code><br/> 1622 <em> 1623 string 1624 </em> 1625 </td> 1626 <td> 1627 <p>sourceCluster records the source cluster information for this backup.</p><br /> 1628 </td> 1629 </tr> 1630 <tr> 1631 <td> 1632 <code>availableReplicas</code><br/> 1633 <em> 1634 int32 1635 </em> 1636 </td> 1637 <td> 1638 <em>(Optional)</em> 1639 <p>availableReplicas available replicas for statefulSet which created by backup.</p><br /> 1640 </td> 1641 </tr> 1642 <tr> 1643 <td> 1644 <code>manifests</code><br/> 1645 <em> 1646 <a href="#dataprotection.kubeblocks.io/v1alpha1.ManifestsStatus"> 1647 ManifestsStatus 1648 </a> 1649 </em> 1650 </td> 1651 <td> 1652 <em>(Optional)</em> 1653 <p>manifests determines the backup metadata info.</p><br /> 1654 </td> 1655 </tr> 1656 </tbody> 1657 </table> 1658 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupStatusUpdate">BackupStatusUpdate 1659 </h3> 1660 <p> 1661 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BasePolicy">BasePolicy</a>) 1662 </p> 1663 <div> 1664 </div> 1665 <table> 1666 <thead> 1667 <tr> 1668 <th>Field</th> 1669 <th>Description</th> 1670 </tr> 1671 </thead> 1672 <tbody> 1673 <tr> 1674 <td> 1675 <code>path</code><br/> 1676 <em> 1677 string 1678 </em> 1679 </td> 1680 <td> 1681 <em>(Optional)</em> 1682 <p>specify the json path of backup object for patch.<br />example: manifests.backupLog – means patch the backup json path of status.manifests.backupLog.</p><br /> 1683 </td> 1684 </tr> 1685 <tr> 1686 <td> 1687 <code>containerName</code><br/> 1688 <em> 1689 string 1690 </em> 1691 </td> 1692 <td> 1693 <em>(Optional)</em> 1694 <p>which container name that kubectl can execute.</p><br /> 1695 </td> 1696 </tr> 1697 <tr> 1698 <td> 1699 <code>script</code><br/> 1700 <em> 1701 string 1702 </em> 1703 </td> 1704 <td> 1705 <em>(Optional)</em> 1706 <p>the shell Script commands to collect backup status metadata.<br />The script must exist in the container of ContainerName and the output format must be set to JSON.<br />Note that outputting to stderr may cause the result format to not be in JSON.</p><br /> 1707 </td> 1708 </tr> 1709 <tr> 1710 <td> 1711 <code>useTargetPodServiceAccount</code><br/> 1712 <em> 1713 bool 1714 </em> 1715 </td> 1716 <td> 1717 <em>(Optional)</em> 1718 <p>useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod.<br />if true, will use the service account of the backup target pod. otherwise, will use the system service account.</p><br /> 1719 </td> 1720 </tr> 1721 <tr> 1722 <td> 1723 <code>updateStage</code><br/> 1724 <em> 1725 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatusUpdateStage"> 1726 BackupStatusUpdateStage 1727 </a> 1728 </em> 1729 </td> 1730 <td> 1731 <p>when to update the backup status, pre: before backup, post: after backup</p><br /> 1732 </td> 1733 </tr> 1734 </tbody> 1735 </table> 1736 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupStatusUpdateStage">BackupStatusUpdateStage 1737 (<code>string</code> alias)</h3> 1738 <p> 1739 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatusUpdate">BackupStatusUpdate</a>) 1740 </p> 1741 <div> 1742 <p>BackupStatusUpdateStage defines the stage of backup status update.</p><br /> 1743 </div> 1744 <table> 1745 <thead> 1746 <tr> 1747 <th>Value</th> 1748 <th>Description</th> 1749 </tr> 1750 </thead> 1751 <tbody><tr><td><p>"post"</p></td> 1752 <td></td> 1753 </tr><tr><td><p>"pre"</p></td> 1754 <td></td> 1755 </tr></tbody> 1756 </table> 1757 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupToolManifestsStatus">BackupToolManifestsStatus 1758 </h3> 1759 <p> 1760 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.ManifestsStatus">ManifestsStatus</a>) 1761 </p> 1762 <div> 1763 </div> 1764 <table> 1765 <thead> 1766 <tr> 1767 <th>Field</th> 1768 <th>Description</th> 1769 </tr> 1770 </thead> 1771 <tbody> 1772 <tr> 1773 <td> 1774 <code>filePath</code><br/> 1775 <em> 1776 string 1777 </em> 1778 </td> 1779 <td> 1780 <em>(Optional)</em> 1781 <p>filePath records the file path of backup.</p><br /> 1782 </td> 1783 </tr> 1784 <tr> 1785 <td> 1786 <code>logFilePath</code><br/> 1787 <em> 1788 string 1789 </em> 1790 </td> 1791 <td> 1792 <em>(Optional)</em> 1793 <p>logFilePath records the log file path of backup.</p><br /> 1794 </td> 1795 </tr> 1796 <tr> 1797 <td> 1798 <code>volumeName</code><br/> 1799 <em> 1800 string 1801 </em> 1802 </td> 1803 <td> 1804 <em>(Optional)</em> 1805 <p>volumeName records volume name of backup data pvc.</p><br /> 1806 </td> 1807 </tr> 1808 <tr> 1809 <td> 1810 <code>uploadTotalSize</code><br/> 1811 <em> 1812 string 1813 </em> 1814 </td> 1815 <td> 1816 <em>(Optional)</em> 1817 <p>Backup upload total size.<br />A string with capacity units in the form of “1Gi”, “1Mi”, “1Ki”.</p><br /> 1818 </td> 1819 </tr> 1820 <tr> 1821 <td> 1822 <code>checksum</code><br/> 1823 <em> 1824 string 1825 </em> 1826 </td> 1827 <td> 1828 <em>(Optional)</em> 1829 <p>checksum of backup file, generated by md5 or sha1 or sha256.</p><br /> 1830 </td> 1831 </tr> 1832 <tr> 1833 <td> 1834 <code>checkpoint</code><br/> 1835 <em> 1836 string 1837 </em> 1838 </td> 1839 <td> 1840 <em>(Optional)</em> 1841 <p>backup checkpoint, for incremental backup.</p><br /> 1842 </td> 1843 </tr> 1844 </tbody> 1845 </table> 1846 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupToolRestoreCommand">BackupToolRestoreCommand 1847 </h3> 1848 <p> 1849 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.LogicalConfig">LogicalConfig</a>, <a href="#dataprotection.kubeblocks.io/v1alpha1.PhysicalConfig">PhysicalConfig</a>) 1850 </p> 1851 <div> 1852 <p>BackupToolRestoreCommand defines the restore commands of BackupTool</p><br /> 1853 </div> 1854 <table> 1855 <thead> 1856 <tr> 1857 <th>Field</th> 1858 <th>Description</th> 1859 </tr> 1860 </thead> 1861 <tbody> 1862 <tr> 1863 <td> 1864 <code>restoreCommands</code><br/> 1865 <em> 1866 []string 1867 </em> 1868 </td> 1869 <td> 1870 <em>(Optional)</em> 1871 <p>Array of command that apps can perform database restore.<br />like xtrabackup, that can performs restore mysql from files.</p><br /> 1872 </td> 1873 </tr> 1874 <tr> 1875 <td> 1876 <code>incrementalRestoreCommands</code><br/> 1877 <em> 1878 []string 1879 </em> 1880 </td> 1881 <td> 1882 <em>(Optional)</em> 1883 <p>Array of incremental restore commands.</p><br /> 1884 </td> 1885 </tr> 1886 </tbody> 1887 </table> 1888 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupToolSpec">BackupToolSpec 1889 </h3> 1890 <p> 1891 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupTool">BackupTool</a>) 1892 </p> 1893 <div> 1894 <p>BackupToolSpec defines the desired state of BackupTool</p><br /> 1895 </div> 1896 <table> 1897 <thead> 1898 <tr> 1899 <th>Field</th> 1900 <th>Description</th> 1901 </tr> 1902 </thead> 1903 <tbody> 1904 <tr> 1905 <td> 1906 <code>image</code><br/> 1907 <em> 1908 string 1909 </em> 1910 </td> 1911 <td> 1912 <p>Backup tool Container image name.</p><br /> 1913 </td> 1914 </tr> 1915 <tr> 1916 <td> 1917 <code>deployKind</code><br/> 1918 <em> 1919 <a href="#dataprotection.kubeblocks.io/v1alpha1.DeployKind"> 1920 DeployKind 1921 </a> 1922 </em> 1923 </td> 1924 <td> 1925 <p>which kind for run a backup tool, supported values: job, statefulSet.</p><br /> 1926 </td> 1927 </tr> 1928 <tr> 1929 <td> 1930 <code>type</code><br/> 1931 <em> 1932 string 1933 </em> 1934 </td> 1935 <td> 1936 <p>the type of backup tool, file or pitr</p><br /> 1937 </td> 1938 </tr> 1939 <tr> 1940 <td> 1941 <code>resources</code><br/> 1942 <em> 1943 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#resourcerequirements-v1-core"> 1944 Kubernetes core/v1.ResourceRequirements 1945 </a> 1946 </em> 1947 </td> 1948 <td> 1949 <em>(Optional)</em> 1950 <p>Compute Resources required by this container.<br />Cannot be updated.</p><br /> 1951 </td> 1952 </tr> 1953 <tr> 1954 <td> 1955 <code>env</code><br/> 1956 <em> 1957 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envvar-v1-core"> 1958 []Kubernetes core/v1.EnvVar 1959 </a> 1960 </em> 1961 </td> 1962 <td> 1963 <em>(Optional)</em> 1964 <p>List of environment variables to set in the container.</p><br /> 1965 </td> 1966 </tr> 1967 <tr> 1968 <td> 1969 <code>envFrom</code><br/> 1970 <em> 1971 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envfromsource-v1-core"> 1972 []Kubernetes core/v1.EnvFromSource 1973 </a> 1974 </em> 1975 </td> 1976 <td> 1977 <em>(Optional)</em> 1978 <p>List of sources to populate environment variables in the container.<br />The keys defined within a source must be a C_IDENTIFIER. All invalid keys<br />will be reported as an event when the container is starting. When a key exists in multiple<br />sources, the value associated with the last source will take precedence.<br />Values defined by an Env with a duplicate key will take precedence.<br />Cannot be updated.</p><br /> 1979 </td> 1980 </tr> 1981 <tr> 1982 <td> 1983 <code>backupCommands</code><br/> 1984 <em> 1985 []string 1986 </em> 1987 </td> 1988 <td> 1989 <p>Array of command that apps can do database backup.<br />from invoke args<br />the order of commands follows the order of array.</p><br /> 1990 </td> 1991 </tr> 1992 <tr> 1993 <td> 1994 <code>incrementalBackupCommands</code><br/> 1995 <em> 1996 []string 1997 </em> 1998 </td> 1999 <td> 2000 <em>(Optional)</em> 2001 <p>Array of command that apps can do database incremental backup.<br />like xtrabackup, that can performs an incremental backup file.</p><br /> 2002 </td> 2003 </tr> 2004 <tr> 2005 <td> 2006 <code>physical</code><br/> 2007 <em> 2008 <a href="#dataprotection.kubeblocks.io/v1alpha1.PhysicalConfig"> 2009 PhysicalConfig 2010 </a> 2011 </em> 2012 </td> 2013 <td> 2014 <em>(Optional)</em> 2015 <p>backup tool can support physical restore, in this case, restore must be RESTART database.</p><br /> 2016 </td> 2017 </tr> 2018 <tr> 2019 <td> 2020 <code>logical</code><br/> 2021 <em> 2022 <a href="#dataprotection.kubeblocks.io/v1alpha1.LogicalConfig"> 2023 LogicalConfig 2024 </a> 2025 </em> 2026 </td> 2027 <td> 2028 <em>(Optional)</em> 2029 <p>backup tool can support logical restore, in this case, restore NOT RESTART database.</p><br /> 2030 </td> 2031 </tr> 2032 </tbody> 2033 </table> 2034 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupToolStatus">BackupToolStatus 2035 </h3> 2036 <p> 2037 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupTool">BackupTool</a>) 2038 </p> 2039 <div> 2040 <p>BackupToolStatus defines the observed state of BackupTool</p><br /> 2041 </div> 2042 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BackupType">BackupType 2043 (<code>string</code> alias)</h3> 2044 <p> 2045 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupSpec">BackupSpec</a>) 2046 </p> 2047 <div> 2048 <p>BackupType the backup type, marked backup set is datafile or logfile or snapshot.</p><br /> 2049 </div> 2050 <table> 2051 <thead> 2052 <tr> 2053 <th>Value</th> 2054 <th>Description</th> 2055 </tr> 2056 </thead> 2057 <tbody><tr><td><p>"datafile"</p></td> 2058 <td></td> 2059 </tr><tr><td><p>"logfile"</p></td> 2060 <td></td> 2061 </tr><tr><td><p>"snapshot"</p></td> 2062 <td></td> 2063 </tr></tbody> 2064 </table> 2065 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BaseBackupType">BaseBackupType 2066 (<code>string</code> alias)</h3> 2067 <div> 2068 <p>BaseBackupType the base backup type.</p><br /> 2069 </div> 2070 <h3 id="dataprotection.kubeblocks.io/v1alpha1.BasePolicy">BasePolicy 2071 </h3> 2072 <p> 2073 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy">CommonBackupPolicy</a>, <a href="#dataprotection.kubeblocks.io/v1alpha1.SnapshotPolicy">SnapshotPolicy</a>) 2074 </p> 2075 <div> 2076 </div> 2077 <table> 2078 <thead> 2079 <tr> 2080 <th>Field</th> 2081 <th>Description</th> 2082 </tr> 2083 </thead> 2084 <tbody> 2085 <tr> 2086 <td> 2087 <code>target</code><br/> 2088 <em> 2089 <a href="#dataprotection.kubeblocks.io/v1alpha1.TargetCluster"> 2090 TargetCluster 2091 </a> 2092 </em> 2093 </td> 2094 <td> 2095 <p>target database cluster for backup.</p><br /> 2096 </td> 2097 </tr> 2098 <tr> 2099 <td> 2100 <code>backupsHistoryLimit</code><br/> 2101 <em> 2102 int32 2103 </em> 2104 </td> 2105 <td> 2106 <em>(Optional)</em> 2107 <p>the number of automatic backups to retain. Value must be non-negative integer.<br />0 means NO limit on the number of backups.</p><br /> 2108 </td> 2109 </tr> 2110 <tr> 2111 <td> 2112 <code>onFailAttempted</code><br/> 2113 <em> 2114 int32 2115 </em> 2116 </td> 2117 <td> 2118 <em>(Optional)</em> 2119 <p>count of backup stop retries on fail.</p><br /> 2120 </td> 2121 </tr> 2122 <tr> 2123 <td> 2124 <code>backupStatusUpdates</code><br/> 2125 <em> 2126 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatusUpdate"> 2127 []BackupStatusUpdate 2128 </a> 2129 </em> 2130 </td> 2131 <td> 2132 <em>(Optional)</em> 2133 <p>define how to update metadata for backup status.</p><br /> 2134 </td> 2135 </tr> 2136 </tbody> 2137 </table> 2138 <h3 id="dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy">CommonBackupPolicy 2139 </h3> 2140 <p> 2141 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec">BackupPolicySpec</a>) 2142 </p> 2143 <div> 2144 </div> 2145 <table> 2146 <thead> 2147 <tr> 2148 <th>Field</th> 2149 <th>Description</th> 2150 </tr> 2151 </thead> 2152 <tbody> 2153 <tr> 2154 <td> 2155 <code>BasePolicy</code><br/> 2156 <em> 2157 <a href="#dataprotection.kubeblocks.io/v1alpha1.BasePolicy"> 2158 BasePolicy 2159 </a> 2160 </em> 2161 </td> 2162 <td> 2163 <p> 2164 (Members of <code>BasePolicy</code> are embedded into this type.) 2165 </p> 2166 </td> 2167 </tr> 2168 <tr> 2169 <td> 2170 <code>persistentVolumeClaim</code><br/> 2171 <em> 2172 <a href="#dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeClaim"> 2173 PersistentVolumeClaim 2174 </a> 2175 </em> 2176 </td> 2177 <td> 2178 <em>(Optional)</em> 2179 <p>refer to PersistentVolumeClaim and the backup data will be stored in the corresponding persistent volume.</p><br /> 2180 </td> 2181 </tr> 2182 <tr> 2183 <td> 2184 <code>backupRepoName</code><br/> 2185 <em> 2186 string 2187 </em> 2188 </td> 2189 <td> 2190 <em>(Optional)</em> 2191 <p>refer to BackupRepo and the backup data will be stored in the corresponding repo.</p><br /> 2192 </td> 2193 </tr> 2194 <tr> 2195 <td> 2196 <code>backupToolName</code><br/> 2197 <em> 2198 string 2199 </em> 2200 </td> 2201 <td> 2202 <p>which backup tool to perform database backup, only support one tool.</p><br /> 2203 </td> 2204 </tr> 2205 </tbody> 2206 </table> 2207 <h3 id="dataprotection.kubeblocks.io/v1alpha1.CreatePVCPolicy">CreatePVCPolicy 2208 (<code>string</code> alias)</h3> 2209 <p> 2210 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeClaim">PersistentVolumeClaim</a>) 2211 </p> 2212 <div> 2213 <p>CreatePVCPolicy the policy how to create the PersistentVolumeClaim for backup.</p><br /> 2214 </div> 2215 <table> 2216 <thead> 2217 <tr> 2218 <th>Value</th> 2219 <th>Description</th> 2220 </tr> 2221 </thead> 2222 <tbody><tr><td><p>"IfNotPresent"</p></td> 2223 <td></td> 2224 </tr><tr><td><p>"Never"</p></td> 2225 <td></td> 2226 </tr></tbody> 2227 </table> 2228 <h3 id="dataprotection.kubeblocks.io/v1alpha1.DeployKind">DeployKind 2229 (<code>string</code> alias)</h3> 2230 <p> 2231 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolSpec">BackupToolSpec</a>) 2232 </p> 2233 <div> 2234 <p>DeployKind which kind for run a backup tool.</p><br /> 2235 </div> 2236 <table> 2237 <thead> 2238 <tr> 2239 <th>Value</th> 2240 <th>Description</th> 2241 </tr> 2242 </thead> 2243 <tbody><tr><td><p>"job"</p></td> 2244 <td></td> 2245 </tr><tr><td><p>"statefulSet"</p></td> 2246 <td></td> 2247 </tr></tbody> 2248 </table> 2249 <h3 id="dataprotection.kubeblocks.io/v1alpha1.LogicalConfig">LogicalConfig 2250 </h3> 2251 <p> 2252 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolSpec">BackupToolSpec</a>) 2253 </p> 2254 <div> 2255 </div> 2256 <table> 2257 <thead> 2258 <tr> 2259 <th>Field</th> 2260 <th>Description</th> 2261 </tr> 2262 </thead> 2263 <tbody> 2264 <tr> 2265 <td> 2266 <code>BackupToolRestoreCommand</code><br/> 2267 <em> 2268 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolRestoreCommand"> 2269 BackupToolRestoreCommand 2270 </a> 2271 </em> 2272 </td> 2273 <td> 2274 <p> 2275 (Members of <code>BackupToolRestoreCommand</code> are embedded into this type.) 2276 </p> 2277 </td> 2278 </tr> 2279 <tr> 2280 <td> 2281 <code>podScope</code><br/> 2282 <em> 2283 <a href="#dataprotection.kubeblocks.io/v1alpha1.PodRestoreScope"> 2284 PodRestoreScope 2285 </a> 2286 </em> 2287 </td> 2288 <td> 2289 <em>(Optional)</em> 2290 <p>podScope defines the pod scope for restore from backup, supported values:<br />- ‘All’ will exec the restore command on all pods.<br />- ‘ReadWrite’ will pick a ReadWrite pod to exec the restore command.</p><br /> 2291 </td> 2292 </tr> 2293 </tbody> 2294 </table> 2295 <h3 id="dataprotection.kubeblocks.io/v1alpha1.ManifestsStatus">ManifestsStatus 2296 </h3> 2297 <p> 2298 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupStatus">BackupStatus</a>) 2299 </p> 2300 <div> 2301 </div> 2302 <table> 2303 <thead> 2304 <tr> 2305 <th>Field</th> 2306 <th>Description</th> 2307 </tr> 2308 </thead> 2309 <tbody> 2310 <tr> 2311 <td> 2312 <code>backupLog</code><br/> 2313 <em> 2314 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupLogStatus"> 2315 BackupLogStatus 2316 </a> 2317 </em> 2318 </td> 2319 <td> 2320 <em>(Optional)</em> 2321 <p>backupLog records startTime and stopTime of data logging.</p><br /> 2322 </td> 2323 </tr> 2324 <tr> 2325 <td> 2326 <code>target</code><br/> 2327 <em> 2328 string 2329 </em> 2330 </td> 2331 <td> 2332 <em>(Optional)</em> 2333 <p>target records the target cluster metadata string, which is in JSON format.</p><br /> 2334 </td> 2335 </tr> 2336 <tr> 2337 <td> 2338 <code>backupSnapshot</code><br/> 2339 <em> 2340 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupSnapshotStatus"> 2341 BackupSnapshotStatus 2342 </a> 2343 </em> 2344 </td> 2345 <td> 2346 <em>(Optional)</em> 2347 <p>snapshot records the volume snapshot metadata.</p><br /> 2348 </td> 2349 </tr> 2350 <tr> 2351 <td> 2352 <code>backupTool</code><br/> 2353 <em> 2354 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolManifestsStatus"> 2355 BackupToolManifestsStatus 2356 </a> 2357 </em> 2358 </td> 2359 <td> 2360 <em>(Optional)</em> 2361 <p>backupTool records information about backup files generated by the backup tool.</p><br /> 2362 </td> 2363 </tr> 2364 <tr> 2365 <td> 2366 <code>userContext</code><br/> 2367 <em> 2368 map[string]string 2369 </em> 2370 </td> 2371 <td> 2372 <em>(Optional)</em> 2373 <p>userContext stores some loosely structured and extensible information.</p><br /> 2374 </td> 2375 </tr> 2376 </tbody> 2377 </table> 2378 <h3 id="dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeClaim">PersistentVolumeClaim 2379 </h3> 2380 <p> 2381 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.CommonBackupPolicy">CommonBackupPolicy</a>) 2382 </p> 2383 <div> 2384 </div> 2385 <table> 2386 <thead> 2387 <tr> 2388 <th>Field</th> 2389 <th>Description</th> 2390 </tr> 2391 </thead> 2392 <tbody> 2393 <tr> 2394 <td> 2395 <code>name</code><br/> 2396 <em> 2397 string 2398 </em> 2399 </td> 2400 <td> 2401 <em>(Optional)</em> 2402 <p>the name of PersistentVolumeClaim to store backup data.</p><br /> 2403 </td> 2404 </tr> 2405 <tr> 2406 <td> 2407 <code>storageClassName</code><br/> 2408 <em> 2409 string 2410 </em> 2411 </td> 2412 <td> 2413 <em>(Optional)</em> 2414 <p>storageClassName is the name of the StorageClass required by the claim.</p><br /> 2415 </td> 2416 </tr> 2417 <tr> 2418 <td> 2419 <code>initCapacity</code><br/> 2420 <em> 2421 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#quantity-resource-core"> 2422 Kubernetes resource.Quantity 2423 </a> 2424 </em> 2425 </td> 2426 <td> 2427 <em>(Optional)</em> 2428 <p>initCapacity represents the init storage size of the PersistentVolumeClaim which should be created if not exist.<br />and the default value is 100Gi if it is empty.</p><br /> 2429 </td> 2430 </tr> 2431 <tr> 2432 <td> 2433 <code>createPolicy</code><br/> 2434 <em> 2435 <a href="#dataprotection.kubeblocks.io/v1alpha1.CreatePVCPolicy"> 2436 CreatePVCPolicy 2437 </a> 2438 </em> 2439 </td> 2440 <td> 2441 <em>(Optional)</em> 2442 <p>createPolicy defines the policy for creating the PersistentVolumeClaim, enum values:<br />- Never: do nothing if the PersistentVolumeClaim not exists.<br />- IfNotPresent: create the PersistentVolumeClaim if not present and the accessModes only contains ‘ReadWriteMany’.</p><br /> 2443 </td> 2444 </tr> 2445 <tr> 2446 <td> 2447 <code>persistentVolumeConfigMap</code><br/> 2448 <em> 2449 <a href="#dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeConfigMap"> 2450 PersistentVolumeConfigMap 2451 </a> 2452 </em> 2453 </td> 2454 <td> 2455 <em>(Optional)</em> 2456 <p>persistentVolumeConfigMap references the configmap which contains a persistentVolume template.<br />key must be “persistentVolume” and value is the “PersistentVolume” struct.<br />support the following built-in Objects:<br />- $(GENERATE_NAME): generate a specific format “<code>PVC NAME</code>-<code>PVC NAMESPACE</code>”.<br />if the PersistentVolumeClaim not exists and CreatePolicy is “IfNotPresent”, the controller<br />will create it by this template. this is a mutually exclusive setting with “storageClassName”.</p><br /> 2457 </td> 2458 </tr> 2459 </tbody> 2460 </table> 2461 <h3 id="dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeConfigMap">PersistentVolumeConfigMap 2462 </h3> 2463 <p> 2464 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.PersistentVolumeClaim">PersistentVolumeClaim</a>) 2465 </p> 2466 <div> 2467 </div> 2468 <table> 2469 <thead> 2470 <tr> 2471 <th>Field</th> 2472 <th>Description</th> 2473 </tr> 2474 </thead> 2475 <tbody> 2476 <tr> 2477 <td> 2478 <code>name</code><br/> 2479 <em> 2480 string 2481 </em> 2482 </td> 2483 <td> 2484 <p>the name of the persistentVolume ConfigMap.</p><br /> 2485 </td> 2486 </tr> 2487 <tr> 2488 <td> 2489 <code>namespace</code><br/> 2490 <em> 2491 string 2492 </em> 2493 </td> 2494 <td> 2495 <p>the namespace of the persistentVolume ConfigMap.</p><br /> 2496 </td> 2497 </tr> 2498 </tbody> 2499 </table> 2500 <h3 id="dataprotection.kubeblocks.io/v1alpha1.PhysicalConfig">PhysicalConfig 2501 </h3> 2502 <p> 2503 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolSpec">BackupToolSpec</a>) 2504 </p> 2505 <div> 2506 </div> 2507 <table> 2508 <thead> 2509 <tr> 2510 <th>Field</th> 2511 <th>Description</th> 2512 </tr> 2513 </thead> 2514 <tbody> 2515 <tr> 2516 <td> 2517 <code>BackupToolRestoreCommand</code><br/> 2518 <em> 2519 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupToolRestoreCommand"> 2520 BackupToolRestoreCommand 2521 </a> 2522 </em> 2523 </td> 2524 <td> 2525 <p> 2526 (Members of <code>BackupToolRestoreCommand</code> are embedded into this type.) 2527 </p> 2528 </td> 2529 </tr> 2530 <tr> 2531 <td> 2532 <code>relyOnLogfile</code><br/> 2533 <em> 2534 bool 2535 </em> 2536 </td> 2537 <td> 2538 <em>(Optional)</em> 2539 <p>relyOnLogfile defines whether the current recovery relies on log files</p><br /> 2540 </td> 2541 </tr> 2542 </tbody> 2543 </table> 2544 <h3 id="dataprotection.kubeblocks.io/v1alpha1.PodRestoreScope">PodRestoreScope 2545 (<code>string</code> alias)</h3> 2546 <p> 2547 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.LogicalConfig">LogicalConfig</a>) 2548 </p> 2549 <div> 2550 <p>PodRestoreScope defines the scope pod for restore from backup.</p><br /> 2551 </div> 2552 <h3 id="dataprotection.kubeblocks.io/v1alpha1.RestoreJobPhase">RestoreJobPhase 2553 (<code>string</code> alias)</h3> 2554 <p> 2555 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJobStatus">RestoreJobStatus</a>) 2556 </p> 2557 <div> 2558 <p>RestoreJobPhase The current phase. Valid values are New, InProgressPhy, InProgressLogic, Completed, Failed.</p><br /> 2559 </div> 2560 <table> 2561 <thead> 2562 <tr> 2563 <th>Value</th> 2564 <th>Description</th> 2565 </tr> 2566 </thead> 2567 <tbody><tr><td><p>"Completed"</p></td> 2568 <td></td> 2569 </tr><tr><td><p>"Failed"</p></td> 2570 <td></td> 2571 </tr><tr><td><p>"InProgressLogic"</p></td> 2572 <td></td> 2573 </tr><tr><td><p>"InProgressPhy"</p></td> 2574 <td></td> 2575 </tr><tr><td><p>"New"</p></td> 2576 <td></td> 2577 </tr></tbody> 2578 </table> 2579 <h3 id="dataprotection.kubeblocks.io/v1alpha1.RestoreJobSpec">RestoreJobSpec 2580 </h3> 2581 <p> 2582 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJob">RestoreJob</a>) 2583 </p> 2584 <div> 2585 <p>RestoreJobSpec defines the desired state of RestoreJob</p><br /> 2586 </div> 2587 <table> 2588 <thead> 2589 <tr> 2590 <th>Field</th> 2591 <th>Description</th> 2592 </tr> 2593 </thead> 2594 <tbody> 2595 <tr> 2596 <td> 2597 <code>backupJobName</code><br/> 2598 <em> 2599 string 2600 </em> 2601 </td> 2602 <td> 2603 <p>Specified one backupJob to restore.</p><br /> 2604 </td> 2605 </tr> 2606 <tr> 2607 <td> 2608 <code>target</code><br/> 2609 <em> 2610 <a href="#dataprotection.kubeblocks.io/v1alpha1.TargetCluster"> 2611 TargetCluster 2612 </a> 2613 </em> 2614 </td> 2615 <td> 2616 <p>the target database workload to restore</p><br /> 2617 </td> 2618 </tr> 2619 <tr> 2620 <td> 2621 <code>targetVolumes</code><br/> 2622 <em> 2623 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#volume-v1-core"> 2624 []Kubernetes core/v1.Volume 2625 </a> 2626 </em> 2627 </td> 2628 <td> 2629 <p>array of restore volumes .</p><br /> 2630 </td> 2631 </tr> 2632 <tr> 2633 <td> 2634 <code>targetVolumeMounts</code><br/> 2635 <em> 2636 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#volumemount-v1-core"> 2637 []Kubernetes core/v1.VolumeMount 2638 </a> 2639 </em> 2640 </td> 2641 <td> 2642 <p>array of restore volume mounts .</p><br /> 2643 </td> 2644 </tr> 2645 <tr> 2646 <td> 2647 <code>onFailAttempted</code><br/> 2648 <em> 2649 int32 2650 </em> 2651 </td> 2652 <td> 2653 <em>(Optional)</em> 2654 <p>count of backup stop retries on fail.</p><br /> 2655 </td> 2656 </tr> 2657 </tbody> 2658 </table> 2659 <h3 id="dataprotection.kubeblocks.io/v1alpha1.RestoreJobStatus">RestoreJobStatus 2660 </h3> 2661 <p> 2662 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJob">RestoreJob</a>) 2663 </p> 2664 <div> 2665 <p>RestoreJobStatus defines the observed state of RestoreJob</p><br /> 2666 </div> 2667 <table> 2668 <thead> 2669 <tr> 2670 <th>Field</th> 2671 <th>Description</th> 2672 </tr> 2673 </thead> 2674 <tbody> 2675 <tr> 2676 <td> 2677 <code>phase</code><br/> 2678 <em> 2679 <a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJobPhase"> 2680 RestoreJobPhase 2681 </a> 2682 </em> 2683 </td> 2684 <td> 2685 <em>(Optional)</em> 2686 </td> 2687 </tr> 2688 <tr> 2689 <td> 2690 <code>expiration</code><br/> 2691 <em> 2692 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 2693 Kubernetes meta/v1.Time 2694 </a> 2695 </em> 2696 </td> 2697 <td> 2698 <em>(Optional)</em> 2699 <p>The date and time when the Backup is eligible for garbage collection.<br />‘null’ means the Backup is NOT be cleaned except delete manual.</p><br /> 2700 </td> 2701 </tr> 2702 <tr> 2703 <td> 2704 <code>startTimestamp</code><br/> 2705 <em> 2706 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 2707 Kubernetes meta/v1.Time 2708 </a> 2709 </em> 2710 </td> 2711 <td> 2712 <em>(Optional)</em> 2713 <p>Date/time when the backup started being processed.</p><br /> 2714 </td> 2715 </tr> 2716 <tr> 2717 <td> 2718 <code>completionTimestamp</code><br/> 2719 <em> 2720 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#time-v1-meta"> 2721 Kubernetes meta/v1.Time 2722 </a> 2723 </em> 2724 </td> 2725 <td> 2726 <em>(Optional)</em> 2727 <p>Date/time when the backup finished being processed.</p><br /> 2728 </td> 2729 </tr> 2730 <tr> 2731 <td> 2732 <code>failureReason</code><br/> 2733 <em> 2734 string 2735 </em> 2736 </td> 2737 <td> 2738 <em>(Optional)</em> 2739 <p>Job failed reason.</p><br /> 2740 </td> 2741 </tr> 2742 </tbody> 2743 </table> 2744 <h3 id="dataprotection.kubeblocks.io/v1alpha1.RetentionSpec">RetentionSpec 2745 </h3> 2746 <p> 2747 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec">BackupPolicySpec</a>) 2748 </p> 2749 <div> 2750 </div> 2751 <table> 2752 <thead> 2753 <tr> 2754 <th>Field</th> 2755 <th>Description</th> 2756 </tr> 2757 </thead> 2758 <tbody> 2759 <tr> 2760 <td> 2761 <code>ttl</code><br/> 2762 <em> 2763 string 2764 </em> 2765 </td> 2766 <td> 2767 <em>(Optional)</em> 2768 <p>ttl is a time string ending with the ’d’|’D’|‘h’|‘H’ character to describe how long<br />the Backup should be retained. if not set, will be retained forever.</p><br /> 2769 </td> 2770 </tr> 2771 </tbody> 2772 </table> 2773 <h3 id="dataprotection.kubeblocks.io/v1alpha1.Schedule">Schedule 2774 </h3> 2775 <p> 2776 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec">BackupPolicySpec</a>) 2777 </p> 2778 <div> 2779 </div> 2780 <table> 2781 <thead> 2782 <tr> 2783 <th>Field</th> 2784 <th>Description</th> 2785 </tr> 2786 </thead> 2787 <tbody> 2788 <tr> 2789 <td> 2790 <code>startingDeadlineMinutes</code><br/> 2791 <em> 2792 int64 2793 </em> 2794 </td> 2795 <td> 2796 <em>(Optional)</em> 2797 <p>startingDeadlineMinutes defines the deadline in minutes for starting the backup job<br />if it misses scheduled time for any reason.</p><br /> 2798 </td> 2799 </tr> 2800 <tr> 2801 <td> 2802 <code>snapshot</code><br/> 2803 <em> 2804 <a href="#dataprotection.kubeblocks.io/v1alpha1.SchedulePolicy"> 2805 SchedulePolicy 2806 </a> 2807 </em> 2808 </td> 2809 <td> 2810 <em>(Optional)</em> 2811 <p>schedule policy for snapshot backup.</p><br /> 2812 </td> 2813 </tr> 2814 <tr> 2815 <td> 2816 <code>datafile</code><br/> 2817 <em> 2818 <a href="#dataprotection.kubeblocks.io/v1alpha1.SchedulePolicy"> 2819 SchedulePolicy 2820 </a> 2821 </em> 2822 </td> 2823 <td> 2824 <em>(Optional)</em> 2825 <p>schedule policy for datafile backup.</p><br /> 2826 </td> 2827 </tr> 2828 <tr> 2829 <td> 2830 <code>logfile</code><br/> 2831 <em> 2832 <a href="#dataprotection.kubeblocks.io/v1alpha1.SchedulePolicy"> 2833 SchedulePolicy 2834 </a> 2835 </em> 2836 </td> 2837 <td> 2838 <em>(Optional)</em> 2839 <p>schedule policy for logfile backup.</p><br /> 2840 </td> 2841 </tr> 2842 </tbody> 2843 </table> 2844 <h3 id="dataprotection.kubeblocks.io/v1alpha1.SchedulePolicy">SchedulePolicy 2845 </h3> 2846 <p> 2847 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.Schedule">Schedule</a>) 2848 </p> 2849 <div> 2850 </div> 2851 <table> 2852 <thead> 2853 <tr> 2854 <th>Field</th> 2855 <th>Description</th> 2856 </tr> 2857 </thead> 2858 <tbody> 2859 <tr> 2860 <td> 2861 <code>cronExpression</code><br/> 2862 <em> 2863 string 2864 </em> 2865 </td> 2866 <td> 2867 <p>the cron expression for schedule, the timezone is in UTC. see <a href="https://en.wikipedia.org/wiki/Cron">https://en.wikipedia.org/wiki/Cron</a>.</p><br /> 2868 </td> 2869 </tr> 2870 <tr> 2871 <td> 2872 <code>enable</code><br/> 2873 <em> 2874 bool 2875 </em> 2876 </td> 2877 <td> 2878 <p>enable or disable the schedule.</p><br /> 2879 </td> 2880 </tr> 2881 </tbody> 2882 </table> 2883 <h3 id="dataprotection.kubeblocks.io/v1alpha1.SnapshotPolicy">SnapshotPolicy 2884 </h3> 2885 <p> 2886 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySpec">BackupPolicySpec</a>) 2887 </p> 2888 <div> 2889 </div> 2890 <table> 2891 <thead> 2892 <tr> 2893 <th>Field</th> 2894 <th>Description</th> 2895 </tr> 2896 </thead> 2897 <tbody> 2898 <tr> 2899 <td> 2900 <code>BasePolicy</code><br/> 2901 <em> 2902 <a href="#dataprotection.kubeblocks.io/v1alpha1.BasePolicy"> 2903 BasePolicy 2904 </a> 2905 </em> 2906 </td> 2907 <td> 2908 <p> 2909 (Members of <code>BasePolicy</code> are embedded into this type.) 2910 </p> 2911 </td> 2912 </tr> 2913 <tr> 2914 <td> 2915 <code>hooks</code><br/> 2916 <em> 2917 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicyHook"> 2918 BackupPolicyHook 2919 </a> 2920 </em> 2921 </td> 2922 <td> 2923 <em>(Optional)</em> 2924 <p>execute hook commands for backup.</p><br /> 2925 </td> 2926 </tr> 2927 </tbody> 2928 </table> 2929 <h3 id="dataprotection.kubeblocks.io/v1alpha1.TargetCluster">TargetCluster 2930 </h3> 2931 <p> 2932 (<em>Appears on:</em><a href="#dataprotection.kubeblocks.io/v1alpha1.BasePolicy">BasePolicy</a>, <a href="#dataprotection.kubeblocks.io/v1alpha1.RestoreJobSpec">RestoreJobSpec</a>) 2933 </p> 2934 <div> 2935 <p>TargetCluster TODO (dsj): target cluster need redefined from Cluster API</p><br /> 2936 </div> 2937 <table> 2938 <thead> 2939 <tr> 2940 <th>Field</th> 2941 <th>Description</th> 2942 </tr> 2943 </thead> 2944 <tbody> 2945 <tr> 2946 <td> 2947 <code>labelsSelector</code><br/> 2948 <em> 2949 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#labelselector-v1-meta"> 2950 Kubernetes meta/v1.LabelSelector 2951 </a> 2952 </em> 2953 </td> 2954 <td> 2955 <p>labelsSelector is used to find matching pods.<br />Pods that match this label selector are counted to determine the number of pods<br />in their corresponding topology domain.</p><br /> 2956 </td> 2957 </tr> 2958 <tr> 2959 <td> 2960 <code>secret</code><br/> 2961 <em> 2962 <a href="#dataprotection.kubeblocks.io/v1alpha1.BackupPolicySecret"> 2963 BackupPolicySecret 2964 </a> 2965 </em> 2966 </td> 2967 <td> 2968 <em>(Optional)</em> 2969 <p>secret is used to connect to the target database cluster.<br />If not set, secret will be inherited from backup policy template.<br />if still not set, the controller will check if any system account for dataprotection has been created.</p><br /> 2970 </td> 2971 </tr> 2972 </tbody> 2973 </table> 2974 <hr/> 2975 <p><em> 2976 Generated with <code>gen-crd-api-reference-docs</code> 2977 </em></p>