github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/dataprotection.kubeblocks.io_backuprepos.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: backuprepos.dataprotection.kubeblocks.io
     9  spec:
    10    group: dataprotection.kubeblocks.io
    11    names:
    12      categories:
    13      - kubeblocks
    14      kind: BackupRepo
    15      listKind: BackupRepoList
    16      plural: backuprepos
    17      singular: backuprepo
    18    scope: Cluster
    19    versions:
    20    - additionalPrinterColumns:
    21      - jsonPath: .status.phase
    22        name: STATUS
    23        type: string
    24      - jsonPath: .spec.storageProviderRef
    25        name: STORAGEPROVIDER
    26        type: string
    27      - jsonPath: .spec.accessMethod
    28        name: ACCESSMETHOD
    29        type: string
    30      - jsonPath: .status.isDefault
    31        name: DEFAULT
    32        type: boolean
    33      - jsonPath: .metadata.creationTimestamp
    34        name: AGE
    35        type: date
    36      name: v1alpha1
    37      schema:
    38        openAPIV3Schema:
    39          description: BackupRepo is the Schema for the backuprepos API
    40          properties:
    41            apiVersion:
    42              description: 'APIVersion defines the versioned schema of this representation
    43                of an object. Servers should convert recognized schemas to the latest
    44                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    45              type: string
    46            kind:
    47              description: 'Kind is a string value representing the REST resource this
    48                object represents. Servers may infer this from the endpoint the client
    49                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    50              type: string
    51            metadata:
    52              type: object
    53            spec:
    54              description: BackupRepoSpec defines the desired state of BackupRepo
    55              properties:
    56                accessMethod:
    57                  default: Mount
    58                  description: Specifies the access method of the backup repo.
    59                  enum:
    60                  - Mount
    61                  - Tool
    62                  type: string
    63                config:
    64                  additionalProperties:
    65                    type: string
    66                  description: Non-secret configurations for the storage provider.
    67                  type: object
    68                credential:
    69                  description: A secret that contains the credentials needed by the
    70                    storage provider.
    71                  properties:
    72                    name:
    73                      description: name is unique within a namespace to reference a
    74                        secret resource.
    75                      type: string
    76                    namespace:
    77                      description: namespace defines the space within which the secret
    78                        name must be unique.
    79                      type: string
    80                  type: object
    81                  x-kubernetes-map-type: atomic
    82                pvReclaimPolicy:
    83                  description: The reclaim policy for the PV created by this backup
    84                    repo.
    85                  enum:
    86                  - Delete
    87                  - Retain
    88                  type: string
    89                storageProviderRef:
    90                  description: The storage provider used by this backup repo.
    91                  type: string
    92                  x-kubernetes-validations:
    93                  - message: StorageProviderRef is immutable
    94                    rule: self == oldSelf
    95                volumeCapacity:
    96                  anyOf:
    97                  - type: integer
    98                  - type: string
    99                  description: The requested capacity for the PVC created by this backup
   100                    repo.
   101                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   102                  x-kubernetes-int-or-string: true
   103              required:
   104              - pvReclaimPolicy
   105              - storageProviderRef
   106              type: object
   107            status:
   108              description: BackupRepoStatus defines the observed state of BackupRepo
   109              properties:
   110                backupPVCName:
   111                  description: backupPVCName is the name of the PVC used to store backup
   112                    data.
   113                  type: string
   114                conditions:
   115                  description: conditions describes the current state of the repo.
   116                  items:
   117                    description: "Condition contains details for one aspect of the current
   118                      state of this API Resource. --- This struct is intended for direct
   119                      use as an array at the field path .status.conditions.  For example,
   120                      \n type FooStatus struct{ // Represents the observations of a
   121                      foo's current state. // Known .status.conditions.type are: \"Available\",
   122                      \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
   123                      // +listType=map // +listMapKey=type Conditions []metav1.Condition
   124                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
   125                      protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
   126                    properties:
   127                      lastTransitionTime:
   128                        description: lastTransitionTime is the last time the condition
   129                          transitioned from one status to another. This should be when
   130                          the underlying condition changed.  If that is not known, then
   131                          using the time when the API field changed is acceptable.
   132                        format: date-time
   133                        type: string
   134                      message:
   135                        description: message is a human readable message indicating
   136                          details about the transition. This may be an empty string.
   137                        maxLength: 32768
   138                        type: string
   139                      observedGeneration:
   140                        description: observedGeneration represents the .metadata.generation
   141                          that the condition was set based upon. For instance, if .metadata.generation
   142                          is currently 12, but the .status.conditions[x].observedGeneration
   143                          is 9, the condition is out of date with respect to the current
   144                          state of the instance.
   145                        format: int64
   146                        minimum: 0
   147                        type: integer
   148                      reason:
   149                        description: reason contains a programmatic identifier indicating
   150                          the reason for the condition's last transition. Producers
   151                          of specific condition types may define expected values and
   152                          meanings for this field, and whether the values are considered
   153                          a guaranteed API. The value should be a CamelCase string.
   154                          This field may not be empty.
   155                        maxLength: 1024
   156                        minLength: 1
   157                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   158                        type: string
   159                      status:
   160                        description: status of the condition, one of True, False, Unknown.
   161                        enum:
   162                        - "True"
   163                        - "False"
   164                        - Unknown
   165                        type: string
   166                      type:
   167                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
   168                          --- Many .condition.type values are consistent across resources
   169                          like Available, but because arbitrary conditions can be useful
   170                          (see .node.status.conditions), the ability to deconflict is
   171                          important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   172                        maxLength: 316
   173                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
   174                        type: string
   175                    required:
   176                    - lastTransitionTime
   177                    - message
   178                    - reason
   179                    - status
   180                    - type
   181                    type: object
   182                  type: array
   183                generatedCSIDriverSecret:
   184                  description: generatedCSIDriverSecret references the generated secret
   185                    used by the CSI driver.
   186                  properties:
   187                    name:
   188                      description: name is unique within a namespace to reference a
   189                        secret resource.
   190                      type: string
   191                    namespace:
   192                      description: namespace defines the space within which the secret
   193                        name must be unique.
   194                      type: string
   195                  type: object
   196                  x-kubernetes-map-type: atomic
   197                generatedStorageClassName:
   198                  description: generatedStorageClassName indicates the generated storage
   199                    class name.
   200                  type: string
   201                isDefault:
   202                  description: isDefault indicates whether this backup repo is the default
   203                    one.
   204                  type: boolean
   205                observedGeneration:
   206                  description: observedGeneration is the latest generation observed
   207                    by the controller.
   208                  format: int64
   209                  type: integer
   210                phase:
   211                  allOf:
   212                  - enum:
   213                    - PreChecking
   214                    - Failed
   215                    - Ready
   216                    - Deleting
   217                  - enum:
   218                    - PreChecking
   219                    - Failed
   220                    - Ready
   221                    - Deleting
   222                  description: Backup repo reconciliation phases. Valid values are PreChecking,
   223                    Failed, Ready, Deleting.
   224                  type: string
   225                toolConfigSecretName:
   226                  description: toolConfigSecretName is the name of the secret containing
   227                    the configuration for the access tool.
   228                  type: string
   229              type: object
   230          type: object
   231      served: true
   232      storage: true
   233      subresources:
   234        status: {}