mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-07-06 17:52:21 +02:00
feat: expose showAdditionalCommandArgs and listAdditionalCommandArgs
An ObjectStore lets users tack extra command-line flags onto four of the six barman-cloud-* invocations the plugin shells out to: barman-cloud-backup (data.additionalCommandArgs), -wal-archive (wal.archiveAdditionalCommandArgs), -wal-restore (wal.restoreAdditionalCommandArgs), and -restore (data.restoreAdditionalCommandArgs, PR #914). The remaining two -- barman-cloud-backup-show (post-write verification) and barman-cloud-backup-list (retention pruning) -- had no equivalent, which is the gap reported in #712. On strictly-vhost S3-compatible endpoints users need `--addressing-style=virtual` on every cloud command, and currently those two reject the user-provided args, marking otherwise-successful backups as failed and silently disabling retention pruning. The library-side change adds the two new fields and helpers (sister PR in cloudnative-pg/barman-cloud) and threads them through GetBackupList / GetBackupByName. This plugin commit just exposes them via the CRD and documents the new shape. ## Sister PR (must merge first) The CRD field schema is generated from the BarmanObjectStoreConfiguration Go type in cloudnative-pg/barman-cloud. The sister PR there adds: - DataBackupConfiguration.ShowAdditionalCommandArgs []string - DataBackupConfiguration.ListAdditionalCommandArgs []string - AppendShowAdditionalCommandArgs / AppendListAdditionalCommandArgs helpers Once that PR merges and a barman-cloud release is cut, controller-gen here picks up the new fields automatically. Until then a developer running \`go test ./...\` against this branch needs a local replace directive in go.mod pointing at the barman-cloud branch (omitted from this commit). Closes #712 Signed-off-by: David Almgren <dalmgren@coreweave.com>
This commit is contained in:
parent
bae384f691
commit
77113f68df
@ -176,6 +176,37 @@ spec:
|
||||
format: int32
|
||||
minimum: 1
|
||||
type: integer
|
||||
listAdditionalCommandArgs:
|
||||
description: |-
|
||||
ListAdditionalCommandArgs represents additional arguments that can be appended
|
||||
to the 'barman-cloud-backup-list' command-line invocation. This command is
|
||||
used internally for retention-policy enforcement; flags relevant to the
|
||||
underlying S3 client (e.g. `--addressing-style=virtual` for strictly
|
||||
virtual-hosted S3-compatible endpoints) generally belong here as well.
|
||||
|
||||
Note:
|
||||
It's essential to ensure that the provided arguments are valid and supported
|
||||
by the 'barman-cloud-backup-list' command, to avoid potential errors or
|
||||
unintended behavior during execution.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
showAdditionalCommandArgs:
|
||||
description: |-
|
||||
ShowAdditionalCommandArgs represents additional arguments that can be appended
|
||||
to the 'barman-cloud-backup-show' command-line invocation. This command is
|
||||
used after a successful upload to verify and record metadata about the
|
||||
freshly-written backup, so flags relevant to the underlying S3 client
|
||||
(e.g. `--addressing-style=virtual` for strictly virtual-hosted S3-compatible
|
||||
endpoints) generally belong here as well.
|
||||
|
||||
Note:
|
||||
It's essential to ensure that the provided arguments are valid and supported
|
||||
by the 'barman-cloud-backup-show' command, to avoid potential errors or
|
||||
unintended behavior during execution.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
destinationPath:
|
||||
description: |-
|
||||
|
||||
@ -175,6 +175,37 @@ spec:
|
||||
format: int32
|
||||
minimum: 1
|
||||
type: integer
|
||||
listAdditionalCommandArgs:
|
||||
description: |-
|
||||
ListAdditionalCommandArgs represents additional arguments that can be appended
|
||||
to the 'barman-cloud-backup-list' command-line invocation. This command is
|
||||
used internally for retention-policy enforcement; flags relevant to the
|
||||
underlying S3 client (e.g. `--addressing-style=virtual` for strictly
|
||||
virtual-hosted S3-compatible endpoints) generally belong here as well.
|
||||
|
||||
Note:
|
||||
It's essential to ensure that the provided arguments are valid and supported
|
||||
by the 'barman-cloud-backup-list' command, to avoid potential errors or
|
||||
unintended behavior during execution.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
showAdditionalCommandArgs:
|
||||
description: |-
|
||||
ShowAdditionalCommandArgs represents additional arguments that can be appended
|
||||
to the 'barman-cloud-backup-show' command-line invocation. This command is
|
||||
used after a successful upload to verify and record metadata about the
|
||||
freshly-written backup, so flags relevant to the underlying S3 client
|
||||
(e.g. `--addressing-style=virtual` for strictly virtual-hosted S3-compatible
|
||||
endpoints) generally belong here as well.
|
||||
|
||||
Note:
|
||||
It's essential to ensure that the provided arguments are valid and supported
|
||||
by the 'barman-cloud-backup-show' command, to avoid potential errors or
|
||||
unintended behavior during execution.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
destinationPath:
|
||||
description: |-
|
||||
|
||||
@ -32,15 +32,22 @@ spec:
|
||||
[...]
|
||||
```
|
||||
|
||||
## Extra Options for Backup and WAL Archiving
|
||||
## Extra Options for Backup, WAL Archiving, Show, and List
|
||||
|
||||
You can pass additional command-line arguments to `barman-cloud-backup` and
|
||||
`barman-cloud-wal-archive` using the `additionalCommandArgs` field in the
|
||||
`ObjectStore` configuration.
|
||||
You can pass additional command-line arguments to each barman-cloud
|
||||
invocation the plugin shells out to, using the matching
|
||||
`additionalCommandArgs` fields in the `ObjectStore` configuration.
|
||||
|
||||
- `.spec.configuration.data.additionalCommandArgs`: for `barman-cloud-backup`
|
||||
- `.spec.configuration.data.showAdditionalCommandArgs`: for `barman-cloud-backup-show` (post-write verification)
|
||||
- `.spec.configuration.data.listAdditionalCommandArgs`: for `barman-cloud-backup-list` (retention pruning)
|
||||
- `.spec.configuration.wal.archiveAdditionalCommandArgs`: for `barman-cloud-wal-archive`
|
||||
|
||||
If you need a flag that applies to every cloud command — such as
|
||||
`--addressing-style=virtual` for an S3-compatible endpoint that only
|
||||
accepts virtual-hosted-style requests — set it on all of the above so
|
||||
both writes and the post-write read-back / retention steps honor it.
|
||||
|
||||
Each field accepts a list of string arguments. If an argument is already
|
||||
configured elsewhere in the plugin, the duplicate will be ignored.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user