oadp
dpa create
Create an OADP DataProtectionApplication (dpa) instance.
Syntax
cpd-cli oadp dpa create <dpa-instance-name> \
[--access-mode=ReadWrite|ReadOnly] \
[--backup-sync-period=<h,m,s>] \
--bucket=<object-storage-bucket-name> \
[--build-images] \
[--cacert=<certificate-bundle-path>] \
--config=<map<key,value>> \
[--cpdbr-velero-plugin-image=<cpdbr-velero-plugin-image>] \
[--credential=<map<key,value>>] \
[--dry-run=true|false] \
[--enable-node-agent=true|false] \
[--enable-restic=true|false] \
[--labels=<map<label,label,...>>] \
[--node-agent-pod-cpu-limit] \
[--node-agent-pod-cpu-request] \
[--node-agent-pod-mem-limit] \
[--node-agent-pod-mem-request] \
[--node-agent-timeout] \
[--prefix=<prefix-name>] \
--provider=<backup-storage-provider-name> \
[--restic-pod-cpu-limit=<restic-pod-cpu-limit>] \
[--restic-pod-cpu-request=<restic-pod-cpu-request>] \
[--restic-pod-mem-limit=<restic-pod-mem-limit>] \
[--restic-pod-mem-request=<restic-pod-mem-request>] \
[--restic-timeout=<h,m,s>] \
[--validation-frequency=<h,m,s>] \
[--velero-pod-cpu-limit=<velero-pod-cpu-limit>] \
[--velero-pod-cpu-request=<velero-pod-cpu-request>] \
[--velero-pod-mem-limit=<velero-pod-mem-limit>] \
[--velero-pod-mem-request=<velero-pod-mem-request>] \
[--wait] \
[--wait-timeout=<h,m,s>]
# Global options
[--add_dir_header=true|false] \
[--alsologtostderr=true|false] \
[--cpd-namespace=<cpd-namespace>] \
[--kubeconfig=<kubeconfig-paths> \
[--log-level=info|debug|warn|error|panic|trace] \
[--log-backtrace-at traceLocation=<integer>] \
[--log-dir=<log_directory>] \
[--log-file=<log_file_name>] \
[--log_file_max_size=<uint>] \
[--logtostderr=true|false] \
[--namespace=<namespace-name>] \
[--one-output=true|false] \
[--skip-headers=true|false] \
[--skip-log-headers=true|false] \
[--stderrthreshold severity=<integer>] \
[--v=<integer>] \
[--verbose \
[--vmodule moduleSpec=<pattern1, pattern2, and so on>]
Arguments
Table 1: Command arguments
| Argument | Description |
|---|---|
<dpa-instance-name> |
The name of the OADP DataProtectionApplication (dpa) instance to create. |
Table 2: Global options arguments
| Argument | Description |
|---|---|
<trace-location> |
The stack trace location |
<severity> |
The log severity level |
Options
Table 1: Command options
| Option | Description |
|---|---|
--access-mode |
The access mode for the backup
storage location.
|
--backup-sync-period |
Specify how often to synchronize
all backups in the object storage with backup API objects in the cluster ('h' for hours, 'm' for
minutes, 's' for seconds). Synchronization is disabled when the value is set to
0s.
|
--bucket |
The object storage bucket name
where backups are stored.
|
--build-images |
Specify whether to deploy a
registry for enabling the backup and restoration of
images.
|
--cacert |
The certificate bundle path to use
when verifying TLS connections.
|
--config |
The configuration key-value
pairs.
|
--cpdbr-velero-plugin-image |
Specify a cpdbr-velero-plugin
custom plugin image.
|
--credential |
The credential that is used as a
key-value pair where the key is the Kubernetes secret name and the value is the secret data key
name. Only one value is allowed.
|
--dry-run |
Executes a dry-run without running
the command.
|
--enable-node-agent |
Create a node-agent
daemonset.
|
--enable-restic |
Create a restic
daemonset.
|
|
|
Display command
help.
|
--labels |
Labels to apply to the
OADP DataProtectionApplication (for example,
l1=v1,l2=v2).
|
--node-agent-pod-cpu-limit |
Specify the CPU limit for the
node-agent pod. A value of 0 indicates unbounded.
|
--node-agent-pod-cpu-request |
Specify the CPU request value for
the node-agent pod. A value of 0 indicates unbounded.
|
--node-agent-pod-mem-limit |
Specify the memory limit for the
node-agent pod. A value of 0 indicates unbounded.
|
--node-agent-pod-mem-request |
Specify the memory request value
for the node-agent pod. A value of 0 indicates unbounded.
|
--node-agent-timeout |
Specify a node-agent pod timeout
duration ('h' for hours, 'm' for minutes, 's' for seconds)
|
--prefix |
The prefix under which all data is
to be stored within the bucket.
|
--provider |
The backup storage provider name
(for example, aws, azure, gcp).
|
--restic-pod-cpu-limit |
Specify the CPU limit for the
restic pod. A value of 0 indicates unbounded.
|
--restic-pod-cpu-request |
Specify the CPU request value for
the restic pod. A value of 0 indicates unbounded.
|
--restic-pod-mem-limit |
Specify the memory limit for the
restic pod. A value of 0 indicates unbounded.
|
--restic-pod-mem-request |
Specify the memory request value
for the restic pod. A value of 0 indicates unbounded.
|
--restic-timeout |
Specify a restic pod timeout
duration ('h' for hours, 'm' for minutes, 's' for seconds)
|
--validation-frequency |
How often to validate the backup
storage location ('h' for hours, 'm' for minutes, 's' for seconds). Validation is disabled when the
value is set to 0s.
|
--velero-pod-cpu-limit |
Specify a CPU limit for the Velero
pod. A value of 0 indicates unbounded.
|
--velero-pod-cpu-request |
Specify a CPU request value for
the Velero pod. A value of 0 indicates unbounded.
|
--velero-pod-mem-limit |
Specify a memory limit for the
Velero pod. A value of 0 indicates unbounded.
|
--velero-pod-mem-request |
Specify a memory request value for
the Velero pod. A value of 0 indicates unbounded.
|
--wait |
When set to "true", wait for the
operation to complete.
|
--wait-timeout |
The wait timeout setting ('h' for
hours, 'm' for minutes, 's' for seconds).
|
Global options
You can also use the following global options with this command:
Table 2: Command global options
| Option | Description |
|---|---|
--add_dir_header |
Add the file directory to the
header of log messages.
|
--alsologtostderr |
Log to standard error as well as
files.
Note: This option has no effect when
--logtostderr=true. |
--cpd-namespace |
The IBM Software Hub namespace in
which the utility operates.
|
--kubeconfig |
Paths to a kubeconfig. Only
required if out-of-cluster.
|
--log-level |
The command log
level.
|
--log-backtrace-at traceLocation |
When logging hits line file:N,
emit a stack trace.
|
--log-dir |
If non-empty, write log files in
this directory.
|
--log-file |
If non-empty, use this log
file.
|
--log_file_max_size |
The maximum size, in MB, that a
log file can grow to. If you specify 0, the maximum file size is
unlimited.
|
--logtostderr |
Log to standard error instead of
files.
|
--namespace
|
The namespace where OADP is
installed.
|
--one-output |
Specifies whether to only write
logs to their native severity level.
|
--skip-headers |
Specifies whether to avoid header
prefixes in log messages.
|
--skip-log-headers |
Specifies whether to avoid header
prefixes when opening log files.
Note: This option has no effect when
--logtostderr=true. |
--stderrthreshold severity |
Logs at or above the specified
threshold. Go to stderr when writing to files and stderr.
|
--v
|
Number for the log level
verbosity.
|
--verbose |
Logs include more detailed
messages.
|
--vmodule moduleSpec |
Comma-separated list of pattern=N
settings for file-filtered logging.
|
Examples
Note: The following examples use the recommended installation environment variables.
It is strongly recommended that you use a script to create environment variables with the correct values for your environment. For more information, see Setting up installation environment variables.
- Create an OADP DataProtectionApplication (dpa) instance.
-
cpd-cli oadp dpa create <dpa-instance-name> \ --namespace=oadp-operator \ --provider=aws \ --bucket=${BUCKET_NAME} \ --prefix=${BUCKET_PREFIX} \ --config=region=${REGION},s3ForcePathStyle=true,s3Url=${S3_URL} \ --credential=cloud-credentials=cloud \ --enable-restic \ --velero-pod-mem-limit=4Gi \ --restic-pod-mem-limit=32Gi \ --restic-pod-cpu-limit=2 \ --restic-timeout=72h \ --cpdbr-velero-plugin-image=${CPDBR_VELERO_PLUGIN_IMAGE_LOCATION} \ --wait