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: {}