1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-05-31 22:49:46 +02:00

Consolidate less commonly used repository storage options.

The following options are renamed as specified:

repo1-azure-ca-file -> repo1-storage-ca-file
repo1-azure-ca-path -> repo1-storage-ca-path
repo1-azure-host -> repo1-storage-host
repo1-azure-port -> repo1-storage-port
repo1-azure-verify-tls -> repo1-storage-verify-tls
repo1-s3-ca-file -> repo1-storage-ca-file
repo1-s3-ca-path -> repo1-storage-ca-path
repo1-s3-host -> repo1-storage-host
repo1-s3-port -> repo1-storage-port
repo1-s3-verify-tls -> repo1-storage-verify-tls

The old option names (e.g. repo1-s3-port) will continue to work for repo1, but repo2, etc. will require the new names.
This commit is contained in:
David Steele 2021-03-02 13:51:40 -05:00 committed by GitHub
parent e64999db77
commit d1aa765a9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 994 additions and 1476 deletions

View File

@ -12,6 +12,9 @@
# List of commands the option can be used with this option. An empty hash signifies that the command does not deviate from the
# option defaults. Otherwise, overrides can be specified.
#
# If another option is referenced (e.g. CFGDEF_COMMAND => CFGOPT_REPO_TYPE) then the list of commands will be copied from the
# referenced option.
#
# NOTE: If the option (A) has a dependency on another option (B) then the CFGCMD_ must also be specified in the other option
# (B), else it will still error on the option (A).
#
@ -260,15 +263,10 @@ use constant CFGOPT_REPO_HOST_USER => CFGOPT_RE
# Repository Azure
use constant CFGDEF_REPO_AZURE => CFGDEF_PREFIX_REPO . '-azure';
use constant CFGOPT_REPO_AZURE_ACCOUNT => CFGDEF_REPO_AZURE . '-account';
use constant CFGOPT_REPO_AZURE_CA_FILE => CFGDEF_REPO_AZURE . '-ca-file';
use constant CFGOPT_REPO_AZURE_CA_PATH => CFGDEF_REPO_AZURE . '-ca-path';
use constant CFGOPT_REPO_AZURE_CONTAINER => CFGDEF_REPO_AZURE . '-container';
use constant CFGOPT_REPO_AZURE_ENDPOINT => CFGDEF_REPO_AZURE . '-endpoint';
use constant CFGOPT_REPO_AZURE_HOST => CFGDEF_REPO_AZURE . '-host';
use constant CFGOPT_REPO_AZURE_KEY => CFGDEF_REPO_AZURE . '-key';
use constant CFGOPT_REPO_AZURE_KEY_TYPE => CFGDEF_REPO_AZURE . '-key-type';
use constant CFGOPT_REPO_AZURE_PORT => CFGDEF_REPO_AZURE . '-port';
use constant CFGOPT_REPO_AZURE_VERIFY_TLS => CFGDEF_REPO_AZURE . '-verify-tls';
# Repository S3
use constant CFGDEF_REPO_S3 => CFGDEF_PREFIX_REPO . '-s3';
@ -276,16 +274,19 @@ use constant CFGOPT_REPO_S3_KEY => CFGDEF_RE
use constant CFGOPT_REPO_S3_KEY_SECRET => CFGDEF_REPO_S3 . '-key-secret';
use constant CFGOPT_REPO_S3_KEY_TYPE => CFGDEF_REPO_S3 . '-key-type';
use constant CFGOPT_REPO_S3_BUCKET => CFGDEF_REPO_S3 . '-bucket';
use constant CFGOPT_REPO_S3_CA_FILE => CFGDEF_REPO_S3 . '-ca-file';
use constant CFGOPT_REPO_S3_CA_PATH => CFGDEF_REPO_S3 . '-ca-path';
use constant CFGOPT_REPO_S3_ENDPOINT => CFGDEF_REPO_S3 . '-endpoint';
use constant CFGOPT_REPO_S3_HOST => CFGDEF_REPO_S3 . '-host';
use constant CFGOPT_REPO_S3_PORT => CFGDEF_REPO_S3 . '-port';
use constant CFGOPT_REPO_S3_ROLE => CFGDEF_REPO_S3 . '-role';
use constant CFGOPT_REPO_S3_REGION => CFGDEF_REPO_S3 . '-region';
use constant CFGOPT_REPO_S3_TOKEN => CFGDEF_REPO_S3 . '-token';
use constant CFGOPT_REPO_S3_URI_STYLE => CFGDEF_REPO_S3 . '-uri-style';
use constant CFGOPT_REPO_S3_VERIFY_TLS => CFGDEF_REPO_S3 . '-verify-tls';
# Repository Storage
use constant CFGDEF_REPO_STORAGE => CFGDEF_PREFIX_REPO . '-storage';
use constant CFGOPT_REPO_STORAGE_CA_FILE => CFGDEF_REPO_STORAGE . '-ca-file';
use constant CFGOPT_REPO_STORAGE_CA_PATH => CFGDEF_REPO_STORAGE . '-ca-path';
use constant CFGOPT_REPO_STORAGE_HOST => CFGDEF_REPO_STORAGE . '-host';
use constant CFGOPT_REPO_STORAGE_PORT => CFGDEF_REPO_STORAGE . '-port';
use constant CFGOPT_REPO_STORAGE_VERIFY_TLS => CFGDEF_REPO_STORAGE . '-verify-tls';
# Archive options
#-----------------------------------------------------------------------------------------------------------------------------------
@ -2228,17 +2229,6 @@ my %hConfigDefine =
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_AZURE_CA_FILE =>
{
&CFGDEF_INHERIT => CFGOPT_REPO_AZURE_HOST,
},
&CFGOPT_REPO_AZURE_CA_PATH =>
{
&CFGDEF_TYPE => CFGDEF_TYPE_PATH,
&CFGDEF_INHERIT => CFGOPT_REPO_AZURE_HOST,
},
&CFGOPT_REPO_AZURE_CONTAINER =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
@ -2250,20 +2240,10 @@ my %hConfigDefine =
&CFGOPT_REPO_AZURE_ENDPOINT =>
{
&CFGDEF_INHERIT => CFGOPT_REPO_AZURE_HOST,
&CFGDEF_INHERIT => CFGOPT_REPO_AZURE_ACCOUNT,
&CFGDEF_DEFAULT => 'blob.core.windows.net',
},
&CFGOPT_REPO_AZURE_HOST =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
&CFGDEF_REQUIRED => false,
&CFGDEF_DEPEND => CFGOPT_REPO_AZURE_ACCOUNT,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_AZURE_KEY =>
{
&CFGDEF_INHERIT => CFGOPT_REPO_AZURE_ACCOUNT,
@ -2280,27 +2260,6 @@ my %hConfigDefine =
],
},
&CFGOPT_REPO_AZURE_PORT =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_DEFAULT => 443,
&CFGDEF_ALLOW_RANGE => [1, 65535],
&CFGDEF_DEPEND => CFGOPT_REPO_AZURE_ACCOUNT,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_AZURE_VERIFY_TLS =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN,
&CFGDEF_DEFAULT => true,
&CFGDEF_DEPEND => CFGOPT_REPO_AZURE_ACCOUNT,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_S3_BUCKET =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
@ -2318,25 +2277,6 @@ my %hConfigDefine =
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_S3_CA_FILE =>
{
&CFGDEF_INHERIT => CFGOPT_REPO_S3_HOST,
&CFGDEF_NAME_ALT =>
{
'repo-s3-ca-file' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
},
},
&CFGOPT_REPO_S3_CA_PATH =>
{
&CFGDEF_TYPE => CFGDEF_TYPE_PATH,
&CFGDEF_INHERIT => CFGOPT_REPO_S3_HOST,
&CFGDEF_NAME_ALT =>
{
'repo-s3-ca-path' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
},
},
&CFGOPT_REPO_S3_KEY_TYPE =>
{
&CFGDEF_INHERIT => CFGOPT_REPO_S3_BUCKET,
@ -2385,31 +2325,6 @@ my %hConfigDefine =
},
},
&CFGOPT_REPO_S3_HOST =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
&CFGDEF_REQUIRED => false,
&CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET,
&CFGDEF_NAME_ALT =>
{
'repo-s3-host' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
},
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_S3_PORT =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_DEFAULT => 443,
&CFGDEF_ALLOW_RANGE => [1, 65535],
&CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_S3_REGION,
{
&CFGDEF_INHERIT => CFGOPT_REPO_S3_BUCKET,
@ -2452,7 +2367,71 @@ my %hConfigDefine =
&CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET,
},
&CFGOPT_REPO_S3_VERIFY_TLS =>
&CFGOPT_REPO_STORAGE_CA_FILE =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
&CFGDEF_REQUIRED => false,
&CFGDEF_NAME_ALT =>
{
'repo?-azure-ca-file' => {&CFGDEF_INDEX => 1},
'repo-s3-ca-file' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
'repo?-s3-ca-file' => {&CFGDEF_INDEX => 1},
},
&CFGDEF_DEPEND => CFGOPT_REPO_STORAGE_VERIFY_TLS,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_STORAGE_CA_PATH =>
{
&CFGDEF_TYPE => CFGDEF_TYPE_PATH,
&CFGDEF_INHERIT => CFGOPT_REPO_STORAGE_CA_FILE,
&CFGDEF_NAME_ALT =>
{
'repo?-azure-ca-path' => {&CFGDEF_INDEX => 1},
'repo-s3-ca-path' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
'repo?-s3-ca-path' => {&CFGDEF_INDEX => 1},
},
},
&CFGOPT_REPO_STORAGE_HOST =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
&CFGDEF_REQUIRED => false,
&CFGDEF_NAME_ALT =>
{
'repo?-azure-host' => {&CFGDEF_INDEX => 1},
'repo-s3-host' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
'repo?-s3-host' => {&CFGDEF_INDEX => 1},
},
&CFGDEF_DEPEND =>
{
&CFGDEF_DEPEND_OPTION => CFGOPT_REPO_TYPE,
&CFGDEF_DEPEND_LIST => [CFGOPTVAL_REPO_TYPE_AZURE, CFGOPTVAL_REPO_TYPE_S3],
},
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_STORAGE_PORT =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
&CFGDEF_TYPE => CFGDEF_TYPE_INTEGER,
&CFGDEF_DEFAULT => 443,
&CFGDEF_ALLOW_RANGE => [1, 65535],
&CFGDEF_NAME_ALT =>
{
'repo?-azure-port' => {&CFGDEF_INDEX => 1},
'repo?-s3-port' => {&CFGDEF_INDEX => 1},
},
&CFGDEF_DEPEND => CFGOPT_REPO_STORAGE_HOST,
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
},
&CFGOPT_REPO_STORAGE_VERIFY_TLS =>
{
&CFGDEF_GROUP => CFGOPTGRP_REPO,
&CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL,
@ -2460,11 +2439,17 @@ my %hConfigDefine =
&CFGDEF_DEFAULT => true,
&CFGDEF_NAME_ALT =>
{
'repo?-azure-verify-tls' => {&CFGDEF_INDEX => 1},
'repo-s3-verify-ssl' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
'repo?-s3-verify-ssl' => {&CFGDEF_INDEX => 1, &CFGDEF_RESET => false},
'repo?-s3-verify-tls' => {&CFGDEF_INDEX => 1},
},
&CFGDEF_DEPEND =>
{
&CFGDEF_DEPEND_OPTION => CFGOPT_REPO_TYPE,
&CFGDEF_DEPEND_LIST => [CFGOPTVAL_REPO_TYPE_AZURE, CFGOPTVAL_REPO_TYPE_S3],
},
&CFGDEF_COMMAND => CFGOPT_REPO_TYPE,
&CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET,
},
&CFGOPT_REPO_TYPE =>

View File

@ -336,12 +336,6 @@ sub process
if (@stryNameAlt > 0)
{
if (@stryNameAlt != 1)
{
confess &log(
ERROR, "multiple alt names are not supported for option '${strOption}': " . join(', ', @stryNameAlt));
}
$oCommandOption->{&CONFIG_HELP_NAME_ALT} = \@stryNameAlt;
}
}

View File

@ -628,9 +628,9 @@ sub backrestConfig
delete($$oConfigClean{&CFGDEF_SECTION_GLOBAL}{&CFGOPT_LOG_LEVEL_STDERR});
delete($$oConfigClean{&CFGDEF_SECTION_GLOBAL}{&CFGOPT_LOG_TIMESTAMP});
# Don't show repo1-azure-host option. Since Azure behaves differently with Azurite (which we use for local testing) and
# the actual service we can't just fake /etc/hosts like we do for S3.
delete($$oConfigClean{&CFGDEF_SECTION_GLOBAL}{'repo1-azure-host'});
# Don't show repo1-storage-host option. Since Azure behaves differently with Azurite (which we use for local testing)
# and the actual service we can't just fake /etc/hosts like we do for S3.
delete($$oConfigClean{&CFGDEF_SECTION_GLOBAL}{'repo1-storage-host'});
if (keys(%{$$oConfigClean{&CFGDEF_SECTION_GLOBAL}}) == 0)
{

View File

@ -319,24 +319,6 @@
<example>pg-backup</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-ca-file" name="Azure Repository TLS CA File">
<summary>Azure repository TLS CA file.</summary>
<text>Use a CA file other than the system default.</text>
<example>/etc/pki/tls/certs/ca-bundle.crt</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-ca-path" name="Azure Respository TLS CA Path">
<summary>Azure repository TLS CA path.</summary>
<text>Use a CA path other than the system default.</text>
<example>/etc/pki/tls/certs</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-container" name="Azure Repository Container">
<summary>Azure repository container.</summary>
@ -352,20 +334,13 @@
<config-key id="repo-azure-endpoint" name="Azure Repository Endpoint">
<summary>Azure repository endpoint.</summary>
<text>Endpoint used to connect to the blob service. The default is generally correct unless using Azure Government.</text>
<text>Endpoint used to connect to the blob service. The default is generally correct unless using Azure Government.
For custom/test configurations the <setting>repo-storage-ca-file</setting>, <setting>repo-storage-ca-path</setting>, <setting>repo-storage-host</setting>, <setting>repo-storage-port</setting>, and <setting>repo-storage-verify-tls</setting> options may be useful.</text>
<example>blob.core.usgovcloudapi.net</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-host" name="Azure Repository Host">
<summary>Azure repository host.</summary>
<text>Connect to a host other than the default. This is typically used for testing.</text>
<example>127.0.0.1</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-key" name="Azure Repository Key">
<summary>Azure repository key.</summary>
@ -388,24 +363,6 @@
<example>sas</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-port" name="Azure Repository Server Port">
<summary>Azure repository server port.</summary>
<text>Port to use when connecting to the default server (or host if specified). This is typically used for testing.</text>
<example>10000</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-azure-verify-tls" name="Azure Repository Server Certificate Verify">
<summary>Azure repository server certificate verify.</summary>
<text>Disables verification of the Azure server certificate. This should only be used for testing or other scenarios where a certificate has been self-signed.</text>
<example>n</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-HOST KEY -->
<config-key id="repo-host" name="Repository Host">
<summary>Repository host when operating remotely via SSH.</summary>
@ -590,51 +547,17 @@
<example>pg-backup</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-CA-FILE KEY -->
<config-key id="repo-s3-ca-file" name="S3 SSL CA File">
<summary>S3 SSL CA File.</summary>
<text>Use a CA file other than the system default.</text>
<example>/etc/pki/tls/certs/ca-bundle.crt</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-CA-PATH KEY -->
<config-key id="repo-s3-ca-path" name="S3 SSL CA Path">
<summary>S3 SSL CA Path.</summary>
<text>Use a CA path other than the system default.</text>
<example>/etc/pki/tls/certs</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-ENDPOINT KEY -->
<config-key id="repo-s3-endpoint" name="S3 Repository Endpoint">
<summary>S3 repository endpoint.</summary>
<text>The AWS end point should be valid for the selected region.</text>
<text>The AWS endpoint should be valid for the selected region.
For custom/test configurations the <setting>repo-storage-ca-file</setting>, <setting>repo-storage-ca-path</setting>, <setting>repo-storage-host</setting>, <setting>repo-storage-port</setting>, and <setting>repo-storage-verify-tls</setting> options may be useful.</text>
<example>s3.amazonaws.com</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-HOST KEY -->
<config-key id="repo-s3-host" name="S3 Repository Host">
<summary>S3 repository host.</summary>
<text>Connect to a host other than the end point. This is typically used for testing.</text>
<example>127.0.0.1</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-PORT KEY -->
<config-key id="repo-s3-port" name="S3 Repository Port">
<summary>S3 repository port.</summary>
<text>Port to use when connecting to the endpoint (or host if specified).</text>
<example>9000</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-s3-role" name="S3 Repository Role">
<summary>S3 repository role.</summary>
@ -666,11 +589,47 @@
<example>path</example>
</config-key>
<!-- CONFIG - REPO SECTION - REPO-S3-VERIFY-TLS KEY -->
<config-key id="repo-s3-verify-tls" name="S3 Repository Verify TLS">
<summary>Verify S3 server certificate.</summary>
<!-- ======================================================================================================= -->
<config-key id="repo-storage-ca-file" name="Repository Storage CA File">
<summary>Repository storage CA file.</summary>
<text>Disables verification of the S3 server certificate. This should only be used for testing or other scenarios where a certificate has been self-signed.</text>
<text>Use a CA file other than the system default for storage (e.g. S3, Azure) certificates.</text>
<example>/etc/pki/tls/certs/ca-bundle.crt</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-storage-ca-path" name="Repository Storage TLS CA Path">
<summary>Repository storage CA path.</summary>
<text>Use a CA path other than the system default for storage (e.g. S3, Azure) certificates.</text>
<example>/etc/pki/tls/certs</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-storage-host" name="Repository Storage Host">
<summary>Repository storage host.</summary>
<text>Connect to a host other than the storage (e.g. S3, Azure) endpoint. This is typically used for testing.</text>
<example>127.0.0.1</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-storage-port" name="Repository Storage Port">
<summary>Repository storage port.</summary>
<text>Port to use when connecting to the storage (e.g. S3, Azure) endpoint (or host if specified).</text>
<example>9000</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-storage-verify-tls" name="Repository Storage Certificate Verify">
<summary>Repository storage certificate verify.</summary>
<text>This option provides the ability to enable/disable verification of the storage (e.g. S3, Azure) server TLS certificate. Disabling should only be used for testing or other scenarios where a certificate has been self-signed.</text>
<example>n</example>
</config-key>

View File

@ -37,6 +37,14 @@
</release-bug-list>
<release-improvement-list>
<release-item>
<release-item-contributor-list>
<release-item-reviewer id="cynthia.shang"/>
</release-item-contributor-list>
<p>Consolidate less commonly used repository storage options.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="michael.schout"/>

View File

@ -622,7 +622,7 @@
<backrest-config-option if="'{[azure-key-type]}' ne 'shared'" section="global" key="repo1-azure-key-type">{[azure-key-type]}</backrest-config-option>
<backrest-config-option section="global" key="repo1-azure-key">{[azure-key]}</backrest-config-option>
<backrest-config-option section="global" key="repo1-azure-container">{[azure-container]}</backrest-config-option>
<backrest-config-option if="'{[azure-local]}' eq 'y'" section="global" key="repo1-azure-host">blob.core.windows.net</backrest-config-option>
<backrest-config-option if="'{[azure-local]}' eq 'y'" section="global" key="repo1-storage-host">blob.core.windows.net</backrest-config-option>
<backrest-config-option section="global" key="process-max">4</backrest-config-option>
</backrest-config>
@ -657,6 +657,7 @@
<backrest-config-option section="global" key="repo1-s3-bucket">{[s3-bucket]}</backrest-config-option>
<backrest-config-option section="global" key="repo1-s3-endpoint">{[s3-endpoint]}</backrest-config-option>
<backrest-config-option section="global" key="repo1-s3-region">{[s3-region]}</backrest-config-option>
<backrest-config-option section="global" key="repo1-storage-host" remove="y"/>
<backrest-config-option section="global" key="process-max">4</backrest-config-option>
</backrest-config>

View File

@ -2307,30 +2307,6 @@ static const unsigned char helpDataPack[] =
0x6F, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F,
0x72, 0x79, 0x2E,
// repo-azure-ca-file option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x1D, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x54, 0x4C, 0x53,
0x20, 0x43, 0x41, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x2E,
pckTypeStr << 4 | 0x08, 0x2C, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x2E,
// repo-azure-ca-path option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x1D, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x54, 0x4C, 0x53,
0x20, 0x43, 0x41, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2E,
pckTypeStr << 4 | 0x08, 0x2C, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x2E,
// repo-azure-container option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
@ -2361,26 +2337,22 @@ static const unsigned char helpDataPack[] =
pckTypeStr << 4 | 0x08, 0x1A, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x65, 0x6E, 0x64,
0x70, 0x6F, 0x69, 0x6E, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x6D, // Description
pckTypeStr << 4 | 0x08, 0x96, 0x02, // Description
0x45, 0x6E, 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6F, 0x20, 0x63, 0x6F, 0x6E,
0x6E, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6C, 0x6F, 0x62, 0x20, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x2E, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x69, 0x73,
0x20, 0x67, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x6C, 0x6C, 0x79, 0x20, 0x63, 0x6F, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x75,
0x6E, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x47, 0x6F,
0x76, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x2E,
// repo-azure-host option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x16, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x68, 0x6F, 0x73,
0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x4D, // Description
0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x61, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x74,
0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74,
0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6C, 0x6C, 0x79, 0x20,
0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x2E,
0x76, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x2E, 0x0A, 0x0A,
0x46, 0x6F, 0x72, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x2F, 0x74, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x66,
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x2D,
0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x66, 0x69, 0x6C, 0x65, 0x2C, 0x20, 0x72, 0x65, 0x70,
0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x70, 0x61, 0x74, 0x68, 0x2C, 0x20, 0x72,
0x65, 0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x68, 0x6F, 0x73, 0x74, 0x2C, 0x20, 0x72, 0x65,
0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x70, 0x6F, 0x72, 0x74, 0x2C, 0x20, 0x61, 0x6E, 0x64,
0x20, 0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
0x2D, 0x74, 0x6C, 0x73, 0x20, 0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x6D, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20,
0x75, 0x73, 0x65, 0x66, 0x75, 0x6C, 0x2E,
// repo-azure-key option
// -------------------------------------------------------------------------------------------------------------------------
@ -2412,39 +2384,6 @@ static const unsigned char helpDataPack[] =
0x2A, 0x20, 0x73, 0x61, 0x73, 0x20, 0x2D, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73,
0x73, 0x20, 0x73, 0x69, 0x67, 0x6E, 0x61, 0x74, 0x75, 0x72, 0x65,
// repo-azure-port option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x1D, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x20, 0x70, 0x6F, 0x72, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x6D, // Description
0x50, 0x6F, 0x72, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x75, 0x73, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, 0x63, 0x6F, 0x6E,
0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6C, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x28, 0x6F, 0x72, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x69,
0x66, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x29, 0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69,
0x73, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6C, 0x6C, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72,
0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x2E,
// repo-azure-verify-tls option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x2B, // Summary
0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x76, 0x65, 0x72, 0x69,
0x66, 0x79, 0x2E,
pckTypeStr << 4 | 0x08, 0x98, 0x01, // Description
0x44, 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F,
0x6E, 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20,
0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20,
0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72,
0x20, 0x73, 0x63, 0x65, 0x6E, 0x61, 0x72, 0x69, 0x6F, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x20, 0x63,
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6E, 0x20,
0x73, 0x65, 0x6C, 0x66, 0x2D, 0x73, 0x69, 0x67, 0x6E, 0x65, 0x64, 0x2E,
// repo-cipher-pass option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
@ -2986,28 +2925,6 @@ static const unsigned char helpDataPack[] =
0x61, 0x6E, 0x20, 0x61, 0x6C, 0x73, 0x6F, 0x20, 0x62, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6E,
0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x2E,
// repo-s3-ca-file option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x0F, // Summary
0x53, 0x33, 0x20, 0x53, 0x53, 0x4C, 0x20, 0x43, 0x41, 0x20, 0x46, 0x69, 0x6C, 0x65, 0x2E,
pckTypeStr << 4 | 0x08, 0x2C, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x2E,
// repo-s3-ca-path option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x0F, // Summary
0x53, 0x33, 0x20, 0x53, 0x53, 0x4C, 0x20, 0x43, 0x41, 0x20, 0x50, 0x61, 0x74, 0x68, 0x2E,
pckTypeStr << 4 | 0x08, 0x2C, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x2E,
// repo-s3-endpoint option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
@ -3015,22 +2932,19 @@ static const unsigned char helpDataPack[] =
pckTypeStr << 4 | 0x08, 0x17, // Summary
0x53, 0x33, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x65, 0x6E, 0x64, 0x70, 0x6F, 0x69,
0x6E, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x3A, // Description
0x54, 0x68, 0x65, 0x20, 0x41, 0x57, 0x53, 0x20, 0x65, 0x6E, 0x64, 0x20, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x73, 0x68,
0x6F, 0x75, 0x6C, 0x64, 0x20, 0x62, 0x65, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x68,
0x65, 0x20, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x2E,
// repo-s3-host option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x13, // Summary
0x53, 0x33, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x4F, // Description
0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x61, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x74,
0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6E, 0x64, 0x20, 0x70, 0x6F, 0x69,
0x6E, 0x74, 0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6C, 0x6C,
0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x2E,
pckTypeStr << 4 | 0x08, 0xE2, 0x01, // Description
0x54, 0x68, 0x65, 0x20, 0x41, 0x57, 0x53, 0x20, 0x65, 0x6E, 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x73, 0x68, 0x6F,
0x75, 0x6C, 0x64, 0x20, 0x62, 0x65, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x68, 0x65,
0x20, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x2E, 0x0A, 0x0A,
0x46, 0x6F, 0x72, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x2F, 0x74, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x66,
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x2D,
0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x66, 0x69, 0x6C, 0x65, 0x2C, 0x20, 0x72, 0x65, 0x70,
0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x70, 0x61, 0x74, 0x68, 0x2C, 0x20, 0x72,
0x65, 0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x68, 0x6F, 0x73, 0x74, 0x2C, 0x20, 0x72, 0x65,
0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x70, 0x6F, 0x72, 0x74, 0x2C, 0x20, 0x61, 0x6E, 0x64,
0x20, 0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
0x2D, 0x74, 0x6C, 0x73, 0x20, 0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x6D, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20,
0x75, 0x73, 0x65, 0x66, 0x75, 0x6C, 0x2E,
// repo-s3-key option
// -------------------------------------------------------------------------------------------------------------------------
@ -3071,18 +2985,6 @@ static const unsigned char helpDataPack[] =
0x6C, 0x79, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x65, 0x6D, 0x70, 0x6F, 0x72, 0x61, 0x72,
0x79, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x73,
// repo-s3-port option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x13, // Summary
0x53, 0x33, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x70, 0x6F, 0x72, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x43, // Description
0x50, 0x6F, 0x72, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x75, 0x73, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, 0x63, 0x6F, 0x6E,
0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6E, 0x64, 0x70, 0x6F,
0x69, 0x6E, 0x74, 0x20, 0x28, 0x6F, 0x72, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x69, 0x66, 0x20, 0x73, 0x70, 0x65, 0x63,
0x69, 0x66, 0x69, 0x65, 0x64, 0x29, 0x2E,
// repo-s3-region option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
@ -3137,26 +3039,117 @@ static const unsigned char helpDataPack[] =
0x65, 0x70, 0x65, 0x6E, 0x64, 0x20, 0x62, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x55, 0x52, 0x49, 0x73,
0x2E,
// repo-s3-verify-tls option
// repo-storage-ca-file option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0B, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x1D, // Summary
0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x20, 0x53, 0x33, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x63, 0x65, 0x72,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2E,
pckTypeStr << 4 | 0x08, 0x95, 0x01, // Description
0x44, 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F,
0x6E, 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x33, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x63,
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x68, 0x6F,
0x75, 0x6C, 0x64, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72,
0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20, 0x73, 0x63,
0x65, 0x6E, 0x61, 0x72, 0x69, 0x6F, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x20, 0x63, 0x65, 0x72, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6E, 0x20, 0x73, 0x65, 0x6C,
0x66, 0x2D, 0x73, 0x69, 0x67, 0x6E, 0x65, 0x64, 0x2E,
pckTypeStr << 4 | 0x08, 0x1B, // Summary
0x52, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x43,
0x41, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x2E,
pckTypeStr << 4 | 0x08, 0x56, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x28, 0x65, 0x2E, 0x67,
0x2E, 0x20, 0x53, 0x33, 0x2C, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x29, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x65, 0x73, 0x2E,
pckTypeArray << 4, // Deprecated names begin
pckTypeStr << 4 | 0x08, 0x12, // repo-azure-ca-file
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x61, 0x7A, 0x75, 0x72, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x66, 0x69, 0x6C, 0x65,
pckTypeStr << 4 | 0x08, 0x0F, // repo-s3-ca-file
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x63, 0x61, 0x2D, 0x66, 0x69, 0x6C, 0x65,
0x00, // Deprecated names end
// repo-storage-ca-path option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0A, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x1B, // Summary
0x52, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x43,
0x41, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2E,
pckTypeStr << 4 | 0x08, 0x56, // Description
0x55, 0x73, 0x65, 0x20, 0x61, 0x20, 0x43, 0x41, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6C, 0x74, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x28, 0x65, 0x2E, 0x67,
0x2E, 0x20, 0x53, 0x33, 0x2C, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x29, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x65, 0x73, 0x2E,
pckTypeArray << 4, // Deprecated names begin
pckTypeStr << 4 | 0x08, 0x12, // repo-azure-ca-path
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x61, 0x7A, 0x75, 0x72, 0x65, 0x2D, 0x63, 0x61, 0x2D, 0x70, 0x61, 0x74, 0x68,
pckTypeStr << 4 | 0x08, 0x0F, // repo-s3-ca-path
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x63, 0x61, 0x2D, 0x70, 0x61, 0x74, 0x68,
0x00, // Deprecated names end
// repo-storage-host option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0A, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x18, // Summary
0x52, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x68,
0x6F, 0x73, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x67, // Description
0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x61, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x74,
0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65,
0x20, 0x28, 0x65, 0x2E, 0x67, 0x2E, 0x20, 0x53, 0x33, 0x2C, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x29, 0x20, 0x65, 0x6E,
0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x2E, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, 0x69,
0x63, 0x61, 0x6C, 0x6C, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x69,
0x6E, 0x67, 0x2E,
pckTypeArray << 4, // Deprecated names begin
pckTypeStr << 4 | 0x08, 0x0F, // repo-azure-host
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x61, 0x7A, 0x75, 0x72, 0x65, 0x2D, 0x68, 0x6F, 0x73, 0x74,
pckTypeStr << 4 | 0x08, 0x0C, // repo-s3-host
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x68, 0x6F, 0x73, 0x74,
0x00, // Deprecated names end
// repo-storage-port option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0A, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x18, // Summary
0x52, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x70,
0x6F, 0x72, 0x74, 0x2E,
pckTypeStr << 4 | 0x08, 0x5C, // Description
0x50, 0x6F, 0x72, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x75, 0x73, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, 0x63, 0x6F, 0x6E,
0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61,
0x67, 0x65, 0x20, 0x28, 0x65, 0x2E, 0x67, 0x2E, 0x20, 0x53, 0x33, 0x2C, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x29, 0x20,
0x65, 0x6E, 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x28, 0x6F, 0x72, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x69, 0x66,
0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x29, 0x2E,
pckTypeArray << 4, // Deprecated names begin
pckTypeStr << 4 | 0x08, 0x0F, // repo-azure-port
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x61, 0x7A, 0x75, 0x72, 0x65, 0x2D, 0x70, 0x6F, 0x72, 0x74,
pckTypeStr << 4 | 0x08, 0x0C, // repo-s3-port
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x70, 0x6F, 0x72, 0x74,
0x00, // Deprecated names end
// repo-storage-verify-tls option
// -------------------------------------------------------------------------------------------------------------------------
pckTypeStr << 4 | 0x0A, 0x0A, // Section
0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79,
pckTypeStr << 4 | 0x08, 0x26, // Summary
0x52, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x63,
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2E,
pckTypeStr << 4 | 0x08, 0xAF, 0x01, // Description
0x44, 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F,
0x6E, 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x20, 0x28, 0x65, 0x2E,
0x67, 0x2E, 0x20, 0x53, 0x33, 0x2C, 0x20, 0x41, 0x7A, 0x75, 0x72, 0x65, 0x29, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x20, 0x54, 0x4C, 0x53, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2E, 0x20, 0x54, 0x68,
0x69, 0x73, 0x20, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73,
0x65, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x20, 0x6F, 0x74,
0x68, 0x65, 0x72, 0x20, 0x73, 0x63, 0x65, 0x6E, 0x61, 0x72, 0x69, 0x6F, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20,
0x61, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65,
0x65, 0x6E, 0x20, 0x73, 0x65, 0x6C, 0x66, 0x2D, 0x73, 0x69, 0x67, 0x6E, 0x65, 0x64, 0x2E,
pckTypeArray << 4, // Deprecated names begin
pckTypeStr << 4 | 0x08, 0x15, // repo-azure-verify-tls
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x61, 0x7A, 0x75, 0x72, 0x65, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2D, 0x74,
0x6C, 0x73,
pckTypeStr << 4 | 0x08, 0x12, // repo-s3-verify-ssl
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2D, 0x73, 0x73, 0x6C,
pckTypeStr << 4 | 0x08, 0x12, // repo-s3-verify-tls
0x72, 0x65, 0x70, 0x6F, 0x2D, 0x73, 0x33, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2D, 0x74, 0x6C, 0x73,
0x00, // Deprecated names end
// repo-type option

View File

@ -264,8 +264,6 @@ helpRender(void)
strLstAdd(optionData[optionId].deprecatedNames, pckReadStrP(pckHelp));
pckReadArrayEndP(pckHelp);
ASSERT(strLstSize(optionData[optionId].deprecatedNames) == 1);
}
// Unpack command overrides
@ -458,7 +456,11 @@ helpRender(void)
// Output alternate name (call it deprecated so the user will know not to use it)
if (optionData[option.id].deprecatedNames != NULL)
strCatFmt(result, "\ndeprecated name: %s\n", strZ(strLstJoin(optionData[option.id].deprecatedNames, ", ")));
{
strCatFmt(
result, "\ndeprecated name%s: %s\n", strLstSize(optionData[option.id].deprecatedNames) > 1 ? "s" : "",
strZ(strLstJoin(optionData[option.id].deprecatedNames, ", ")));
}
}
}

View File

@ -209,7 +209,7 @@ Option constants
#define CFGOPT_TYPE "type"
STRING_DECLARE(CFGOPT_TYPE_STR);
#define CFG_OPTION_TOTAL 129
#define CFG_OPTION_TOTAL 124
/***********************************************************************************************************************************
Command enum
@ -322,15 +322,10 @@ typedef enum
cfgOptRemoteType,
cfgOptRepo,
cfgOptRepoAzureAccount,
cfgOptRepoAzureCaFile,
cfgOptRepoAzureCaPath,
cfgOptRepoAzureContainer,
cfgOptRepoAzureEndpoint,
cfgOptRepoAzureHost,
cfgOptRepoAzureKey,
cfgOptRepoAzureKeyType,
cfgOptRepoAzurePort,
cfgOptRepoAzureVerifyTls,
cfgOptRepoCipherPass,
cfgOptRepoCipherType,
cfgOptRepoHardlink,
@ -349,19 +344,19 @@ typedef enum
cfgOptRepoRetentionFull,
cfgOptRepoRetentionFullType,
cfgOptRepoS3Bucket,
cfgOptRepoS3CaFile,
cfgOptRepoS3CaPath,
cfgOptRepoS3Endpoint,
cfgOptRepoS3Host,
cfgOptRepoS3Key,
cfgOptRepoS3KeySecret,
cfgOptRepoS3KeyType,
cfgOptRepoS3Port,
cfgOptRepoS3Region,
cfgOptRepoS3Role,
cfgOptRepoS3Token,
cfgOptRepoS3UriStyle,
cfgOptRepoS3VerifyTls,
cfgOptRepoStorageCaFile,
cfgOptRepoStorageCaPath,
cfgOptRepoStorageHost,
cfgOptRepoStoragePort,
cfgOptRepoStorageVerifyTls,
cfgOptRepoType,
cfgOptResume,
cfgOptSckBlock,

View File

@ -269,7 +269,7 @@ cfgLoadUpdateOption(void)
// For each possible repo, error if an S3 bucket name contains dots
for (unsigned int repoIdx = 0; repoIdx < cfgOptionGroupIdxTotal(cfgOptGrpRepo); repoIdx++)
{
if (cfgOptionIdxTest(cfgOptRepoS3Bucket, repoIdx) && cfgOptionIdxBool(cfgOptRepoS3VerifyTls, repoIdx) &&
if (cfgOptionIdxTest(cfgOptRepoS3Bucket, repoIdx) && cfgOptionIdxBool(cfgOptRepoStorageVerifyTls, repoIdx) &&
strChr(cfgOptionIdxStr(cfgOptRepoS3Bucket, repoIdx), '.') != -1)
{
THROW_FMT(

File diff suppressed because it is too large Load Diff

View File

@ -362,10 +362,10 @@ storageRepoGet(unsigned int repoIdx, bool write)
strEqZ(cfgOptionIdxStr(cfgOptRepoAzureKeyType, repoIdx), STORAGE_AZURE_KEY_TYPE_SHARED) ?
storageAzureKeyTypeShared : storageAzureKeyTypeSas,
cfgOptionIdxStr(cfgOptRepoAzureKey, repoIdx), STORAGE_AZURE_BLOCKSIZE_MIN,
cfgOptionIdxStrNull(cfgOptRepoAzureHost, repoIdx), cfgOptionIdxStr(cfgOptRepoAzureEndpoint, repoIdx),
cfgOptionIdxUInt(cfgOptRepoAzurePort, repoIdx), ioTimeoutMs(), cfgOptionIdxBool(cfgOptRepoAzureVerifyTls, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoAzureCaFile, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoAzureCaPath, repoIdx));
cfgOptionIdxStrNull(cfgOptRepoStorageHost, repoIdx), cfgOptionIdxStr(cfgOptRepoAzureEndpoint, repoIdx),
cfgOptionIdxUInt(cfgOptRepoStoragePort, repoIdx), ioTimeoutMs(),
cfgOptionIdxBool(cfgOptRepoStorageVerifyTls, repoIdx), cfgOptionIdxStrNull(cfgOptRepoStorageCaFile, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoStorageCaPath, repoIdx));
}
// Use CIFS storage
else if (strEqZ(type, STORAGE_CIFS_TYPE))
@ -387,15 +387,15 @@ storageRepoGet(unsigned int repoIdx, bool write)
CHECK(strEqZ(type, STORAGE_S3_TYPE));
// Set the default port
unsigned int port = cfgOptionIdxUInt(cfgOptRepoS3Port, repoIdx);
unsigned int port = cfgOptionIdxUInt(cfgOptRepoStoragePort, repoIdx);
// Extract port from the endpoint and host if it is present
const String *endPoint = cfgOptionIdxHostPort(cfgOptRepoS3Endpoint, repoIdx, &port);
const String *host = cfgOptionIdxHostPort(cfgOptRepoS3Host, repoIdx, &port);
const String *host = cfgOptionIdxHostPort(cfgOptRepoStorageHost, repoIdx, &port);
// If the port option was set explicitly then use it in preference to appended ports
if (cfgOptionIdxSource(cfgOptRepoS3Port, repoIdx) != cfgSourceDefault)
port = cfgOptionIdxUInt(cfgOptRepoS3Port, repoIdx);
if (cfgOptionIdxSource(cfgOptRepoStoragePort, repoIdx) != cfgSourceDefault)
port = cfgOptionIdxUInt(cfgOptRepoStoragePort, repoIdx);
result = storageS3New(
cfgOptionIdxStr(cfgOptRepoPath, repoIdx), write, storageRepoPathExpression,
@ -407,8 +407,8 @@ storageRepoGet(unsigned int repoIdx, bool write)
storageS3KeyTypeShared : storageS3KeyTypeAuto,
cfgOptionIdxStrNull(cfgOptRepoS3Key, repoIdx), cfgOptionIdxStrNull(cfgOptRepoS3KeySecret, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoS3Token, repoIdx), cfgOptionIdxStrNull(cfgOptRepoS3Role, repoIdx),
STORAGE_S3_PARTSIZE_MIN, host, port, ioTimeoutMs(), cfgOptionIdxBool(cfgOptRepoS3VerifyTls, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoS3CaFile, repoIdx), cfgOptionIdxStrNull(cfgOptRepoS3CaPath, repoIdx));
STORAGE_S3_PARTSIZE_MIN, host, port, ioTimeoutMs(), cfgOptionIdxBool(cfgOptRepoStorageVerifyTls, repoIdx),
cfgOptionIdxStrNull(cfgOptRepoStorageCaFile, repoIdx), cfgOptionIdxStrNull(cfgOptRepoStorageCaPath, repoIdx));
}
}

View File

@ -2443,7 +2443,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-primary/pgbackrest.con
diff backup - option backup-standby reset - backup performed from primary (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --no-online --log-level-console=info --backup-standby --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: backup command begin [BACKREST-VERSION]: --backup-standby --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=info --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base-2/base --process-max=2 --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-tls --repo1-type=s3 --stanza=db --start-fast --type=diff
P00 INFO: backup command begin [BACKREST-VERSION]: --backup-standby --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=info --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base-2/base --process-max=2 --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-storage-verify-tls --repo1-type=s3 --stanza=db --start-fast --type=diff
P00 WARN: option 'repo1-retention-full' is not set for 'repo1-retention-full-type=count', the repository may run out of space
HINT: to retain full backups indefinitely (without warning), set option 'repo1-retention-full' to the maximum.
P00 WARN: option backup-standby is enabled but backup is offline - backups will be performed from the primary
@ -2452,7 +2452,7 @@ P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base-2/base/base/ba
P00 INFO: diff backup size = 9B
P00 INFO: new backup label = [BACKUP-DIFF-5]
P00 INFO: backup command end: completed successfully
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=info --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-tls --repo1-type=s3 --stanza=db
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=info --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-storage-verify-tls --repo1-type=s3 --stanza=db
P00 INFO: option 'repo1-retention-archive' is not set - archive logs will not be expired
P00 INFO: expire command end: completed successfully

View File

@ -29,7 +29,7 @@ P00 INFO: archive-get command end: aborted with exception [103]
stanza-create db - stanza create (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-tls --repo1-type=s3 --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-storage-verify-tls --repo1-type=s3 --stanza=db
P00 INFO: stanza-create for stanza 'db' on repo1
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-create command end: completed successfully

View File

@ -4,7 +4,7 @@ run 002 - rmt 1, cmp lz4, error connect, storage azure, enc 0
stanza-create db - create required data for stanza (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-create for stanza 'db' on repo1
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-create command end: completed successfully

View File

@ -4,14 +4,14 @@ run 002 - remote 1, storage azure, enc 1, cmp lz4
stanza-create db - fail on missing control file (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online --log-level-file=[LOG-LEVEL-FILE] stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 ERROR: [055]: raised from remote-0 protocol on 'db-primary': unable to open missing file '[TEST_PATH]/db-primary/db/base/global/pg_control' for read
P00 INFO: stanza-create command end: aborted with exception [055]
stanza-upgrade db - fail on stanza not initialized since archive.info is missing (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-upgrade
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade for stanza 'db' on repo1
P00 ERROR: [055]: unable to load info file '/archive/db/archive.info' or '/archive/db/archive.info.copy':
FileMissingError: unable to open missing file '/archive/db/archive.info' for read
@ -26,7 +26,7 @@ P00 INFO: stanza-upgrade command end: aborted with exception [055]
stanza-create db - successfully create the stanza (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-create for stanza 'db' on repo1
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-create command end: completed successfully
@ -76,7 +76,7 @@ backrest-checksum="[CHECKSUM]"
stanza-create db - do not fail on rerun of stanza-create - info files exist and DB section ok (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-create for stanza 'db' on repo1
P00 INFO: stanza 'db' already exists on repo1 and is valid
P00 DETAIL: statistics: STATISTICS
@ -127,7 +127,7 @@ backrest-checksum="[CHECKSUM]"
stanza-create db - fail on database mismatch and warn force option deprecated (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online --force stanza-create
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 WARN: option --force is no longer supported
P00 INFO: stanza-create for stanza 'db' on repo1
P00 ERROR: [028]: backup and archive info files exist but do not match the database
@ -181,7 +181,7 @@ backrest-checksum="[CHECKSUM]"
stanza-upgrade db - already up to date (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-upgrade
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade for stanza 'db' on repo1
P00 INFO: stanza 'db' on repo1 is already up to date
P00 DETAIL: statistics: STATISTICS
@ -249,7 +249,7 @@ P00 ERROR: [044]: PostgreSQL version 9.4, system-id 1000000000000000094 do not
stanza-upgrade db - successful upgrade creates additional history (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-upgrade
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade for stanza 'db' on repo1
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-upgrade command end: completed successfully
@ -310,7 +310,7 @@ P00 INFO: archive-get command end: completed successfully
full backup - create first full backup (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --repo1-retention-full=2 --no-online --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: backup command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-type=azure --stanza=db --start-fast --type=full
P00 INFO: backup command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db --start-fast --type=full
P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 51a8525d254c01f5edddda30b7fe697c7e44705c
P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 51a8525d254c01f5edddda30b7fe697c7e44705c
P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base/pg_xlog/000000010000000100000001 (16MB, 99%) checksum f92539dea1f9482e2946c1138eeeecdea29d7f19
@ -321,7 +321,7 @@ P00 INFO: full backup size = 48MB
P00 INFO: new backup label = [BACKUP-FULL-1]
P00 DETAIL: statistics: STATISTICS
P00 INFO: backup command end: completed successfully
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-type=azure --stanza=db
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 DETAIL: statistics: STATISTICS
P00 INFO: expire command end: completed successfully
@ -392,7 +392,7 @@ start-fast=y
stanza-upgrade db - successfully upgrade (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-upgrade
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade for stanza 'db' on repo1
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-upgrade command end: completed successfully
@ -449,7 +449,7 @@ backrest-checksum="[CHECKSUM]"
stanza-upgrade db - upgrade fails with mismatched db-ids (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-upgrade
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: stanza-upgrade for stanza 'db' on repo1
P00 ERROR: [028]: backup info file and archive info file do not match
archive: id = 2, version = 9.5, system-id = 1000000000000000095
@ -511,7 +511,7 @@ backrest-checksum="[CHECKSUM]"
diff backup - diff changed to full backup (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --repo1-retention-full=2 --no-online --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: backup command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-type=azure --stanza=db --start-fast --type=diff
P00 INFO: backup command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level=3 --compress-level-network=1 --compress-type=lz4 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --job-retry=0 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --no-online --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db --start-fast --type=diff
P00 WARN: no prior backup exists, diff backup has been changed to full
P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 51a8525d254c01f5edddda30b7fe697c7e44705c
P01 INFO: backup file db-primary:[TEST_PATH]/db-primary/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 51a8525d254c01f5edddda30b7fe697c7e44705c
@ -523,7 +523,7 @@ P00 INFO: full backup size = 48MB
P00 INFO: new backup label = [BACKUP-FULL-2]
P00 DETAIL: statistics: STATISTICS
P00 INFO: backup command end: completed successfully
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-type=azure --stanza=db
P00 INFO: expire command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --config=[TEST_PATH]/backup/pgbackrest.conf --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-log-timestamp --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-retention-full=2 --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 INFO: repo1: remove archive path /archive/db/9.3-1
P00 DETAIL: statistics: STATISTICS
P00 INFO: expire command end: completed successfully
@ -595,7 +595,7 @@ start-fast=y
stanza-delete db - fail on missing stop file (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --repo=1 --stanza=db stanza-delete
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-delete command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo=1 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-delete command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo=1 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 ERROR: [055]: stop file does not exist for stanza 'db'
HINT: has the pgbackrest stop command been run on this server for this stanza?
P00 DETAIL: statistics: STATISTICS
@ -620,7 +620,7 @@ P00 INFO: stop command end: completed successfully
stanza-delete db - successfully delete the stanza (backup host)
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --repo=1 --stanza=db stanza-delete
------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: stanza-delete command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo=1 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key=<redacted> --no-repo1-azure-verify-tls --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-type=azure --stanza=db
P00 INFO: stanza-delete command begin [BACKREST-VERSION]: --buffer-size=[BUFFER-SIZE] --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --exec-id=[EXEC-ID] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=[LOG-LEVEL-FILE] --log-level-stderr=off --log-path=[TEST_PATH]/backup/log[] --no-log-timestamp --pg1-host=db-primary --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-primary/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-primary/db/base --protocol-timeout=60 --repo=1 --repo1-azure-account=<redacted> --repo1-azure-container=azContainer --repo1-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-storage-host=azure --no-repo1-storage-verify-tls --repo1-type=azure --stanza=db
P00 DETAIL: statistics: STATISTICS
P00 INFO: stanza-delete command end: completed successfully

View File

@ -161,8 +161,8 @@ sub setup
$self->backrestExeHelper() .
' --config=' . $oHostBackup->backrestConfig() . ' --stanza=' . $self->stanza() . ' --log-level-console=off' .
' --log-level-stderr=error' .
($oConfigParam->{strStorage} ne POSIX ? " --no-repo1-$oConfigParam->{strStorage}-verify-tls" .
" --repo1-$oConfigParam->{strStorage}-host=" . $oHostObject->ipGet() : ''),
($oConfigParam->{strStorage} ne POSIX ?
" --no-repo1-storage-verify-tls --repo1-$oConfigParam->{strStorage}-host=" . $oHostObject->ipGet() : ''),
$oConfigParam->{strStorage} eq POSIX ? STORAGE_POSIX : STORAGE_OBJECT);
# Create db-standby config

View File

@ -189,17 +189,11 @@ testRun(void)
"Repository Options:\n"
"\n"
" --repo-azure-account azure repository account\n"
" --repo-azure-ca-file azure repository TLS CA file\n"
" --repo-azure-ca-path azure repository TLS CA path\n"
" --repo-azure-container azure repository container\n"
" --repo-azure-endpoint azure repository endpoint\n"
" [default=blob.core.windows.net]\n"
" --repo-azure-host azure repository host\n"
" --repo-azure-key azure repository key\n"
" --repo-azure-key-type azure repository key type [default=shared]\n"
" --repo-azure-port azure repository server port [default=443]\n"
" --repo-azure-verify-tls azure repository server certificate verify\n"
" [default=y]\n"
" --repo-cipher-pass repository cipher passphrase\n"
" [current=<redacted>]\n"
" --repo-cipher-type cipher used to encrypt the repository\n"
@ -221,19 +215,20 @@ testRun(void)
" --repo-path path where backups and archive are stored\n"
" [default=/var/lib/pgbackrest]\n"
" --repo-s3-bucket S3 repository bucket\n"
" --repo-s3-ca-file S3 SSL CA File\n"
" --repo-s3-ca-path S3 SSL CA Path\n"
" --repo-s3-endpoint S3 repository endpoint\n"
" --repo-s3-host S3 repository host\n"
" --repo-s3-key S3 repository access key\n"
" --repo-s3-key-secret S3 repository secret access key\n"
" --repo-s3-key-type S3 repository key type [default=shared]\n"
" --repo-s3-port S3 repository port [default=443]\n"
" --repo-s3-region S3 repository region\n"
" --repo-s3-role S3 repository role\n"
" --repo-s3-token S3 repository security token\n"
" --repo-s3-uri-style S3 URI Style [default=host]\n"
" --repo-s3-verify-tls verify S3 server certificate [default=y]\n"
" --repo-storage-ca-file repository storage CA file\n"
" --repo-storage-ca-path repository storage CA path\n"
" --repo-storage-host repository storage host\n"
" --repo-storage-port repository storage port [default=443]\n"
" --repo-storage-verify-tls repository storage certificate verify\n"
" [default=y]\n"
" --repo-type type of storage used for the repository\n"
" [default=posix]\n"
"\n"
@ -310,12 +305,21 @@ testRun(void)
TEST_RESULT_STR(helpRender(), strNewFmt("%s\ncurrent: 32768\ndefault: 1048576\n", optionHelp), " check text");
// -------------------------------------------------------------------------------------------------------------------------
#define HELP_OPTION \
"%s - 'archive-push' command - 'repo-storage-host' option help\n" \
"\n" \
"Repository storage host.\n" \
"\n" \
"Connect to a host other than the storage (e.g. S3, Azure) endpoint. This is\n" \
"typically used for testing.\n" \
"\n"
#define HELP_OPTION_DEPRECATED_NAMES \
"deprecated names: repo-azure-host, repo-s3-host\n"
optionHelp = strZ(strNewFmt(
"%s - 'archive-push' command - 'repo-s3-host' option help\n"
"\n"
"S3 repository host.\n"
"\n"
"Connect to a host other than the end point. This is typically used for testing.\n",
HELP_OPTION
HELP_OPTION_DEPRECATED_NAMES,
helpVersion));
argList = strLstNew();
@ -327,11 +331,18 @@ testRun(void)
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)), "help for archive-push command, repo1-s3-host option");
TEST_RESULT_STR_Z(helpRender(), optionHelp, " check text");
optionHelp = strZ(strNewFmt(
HELP_OPTION
"current: s3-host\n"
"\n"
HELP_OPTION_DEPRECATED_NAMES,
helpVersion));
strLstAddZ(argList, "--repo1-type=s3");
strLstAddZ(argList, "--repo1-s3-host=s3-host");
TEST_RESULT_VOID(
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)), "help for archive-push command, repo1-s3-host option");
TEST_RESULT_STR(helpRender(), strNewFmt("%s\ncurrent: s3-host\n", optionHelp), " check text");
TEST_RESULT_STR_Z(helpRender(), optionHelp, " check text");
// -------------------------------------------------------------------------------------------------------------------------
optionHelp = strZ(strNewFmt(

View File

@ -872,11 +872,11 @@ testRun(void)
strLstAdd(argList, strNew("--pg1-path=/path/to/db"));
strLstAdd(argList, strNew("--no-config"));
strLstAdd(argList, strNew("--stanza=db"));
strLstAdd(argList, strNew("--repo1-s3-host=xxx"));
strLstAdd(argList, strNew("--repo1-s3-bucket=xxx"));
strLstAdd(argList, strNew(TEST_COMMAND_BACKUP));
TEST_ERROR(
configParse(storageTest, strLstSize(argList), strLstPtr(argList), false), OptionInvalidError,
"option 'repo1-s3-host' not valid without option 'repo1-type' = 's3'");
"option 'repo1-s3-bucket' not valid without option 'repo1-type' = 's3'");
// -------------------------------------------------------------------------------------------------------------------------
argList = strLstNew();
@ -1219,22 +1219,22 @@ testRun(void)
unsigned int port = 55555;
cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("host.com")) ;
TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Host, &port), "host.com", "check plain host");
cfgOptionSet(cfgOptRepoStorageHost, cfgSourceConfig, varNewStrZ("host.com")) ;
TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoStorageHost, &port), "host.com", "check plain host");
TEST_RESULT_UINT(port, 55555, "check that port was not updated");
cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("myhost.com:777")) ;
TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Host, &port), "myhost.com", "check host with port");
cfgOptionSet(cfgOptRepoStorageHost, cfgSourceConfig, varNewStrZ("myhost.com:777")) ;
TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoStorageHost, &port), "myhost.com", "check host with port");
TEST_RESULT_UINT(port, 777, "check that port was updated");
cfgOptionSet(cfgOptRepoS3Endpoint, cfgSourceConfig, NULL);
TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Endpoint, &port), NULL, "check null host");
TEST_RESULT_UINT(port, 777, "check that port was not updated");
cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("myhost.com:777:888")) ;
cfgOptionSet(cfgOptRepoStorageHost, cfgSourceConfig, varNewStrZ("myhost.com:777:888")) ;
TEST_ERROR(
cfgOptionHostPort(cfgOptRepoS3Host, &port), OptionInvalidError,
"'myhost.com:777:888' is not valid for option 'repo1-s3-host'"
cfgOptionHostPort(cfgOptRepoStorageHost, &port), OptionInvalidError,
"'myhost.com:777:888' is not valid for option 'repo1-storage-host'"
"\nHINT: is more than one port specified?");
TEST_RESULT_UINT(port, 777, "check that port was not updated");
@ -1634,22 +1634,57 @@ testRun(void)
testOptionFind("backup-ssh-port", cfgOptRepoHostPort, 0, false, false, true);
testOptionFind("backup-user", cfgOptRepoHostUser, 0, false, false, true);
testOptionFind("repo1-azure-ca-file", cfgOptRepoStorageCaFile, 0, false, false, true);
testOptionFind("reset-repo1-azure-ca-file", cfgOptRepoStorageCaFile, 0, false, true, true);
testOptionFind("repo1-azure-ca-path", cfgOptRepoStorageCaPath, 0, false, false, true);
testOptionFind("reset-repo1-azure-ca-path", cfgOptRepoStorageCaPath, 0, false, true, true);
testOptionFind("repo1-azure-host", cfgOptRepoStorageHost, 0, false, false, true);
testOptionFind("reset-repo1-azure-host", cfgOptRepoStorageHost, 0, false, true, true);
testOptionFind("repo1-azure-port", cfgOptRepoStoragePort, 0, false, false, true);
testOptionFind("reset-repo1-azure-port", cfgOptRepoStoragePort, 0, false, true, true);
testOptionFind("repo1-azure-verify-tls", cfgOptRepoStorageVerifyTls, 0, false, false, true);
testOptionFind("no-repo1-azure-verify-tls", cfgOptRepoStorageVerifyTls, 0, true, false, true);
testOptionFind("reset-repo1-azure-verify-tls", cfgOptRepoStorageVerifyTls, 0, false, true, true);
testOptionFind("repo-cipher-pass", cfgOptRepoCipherPass, 0, false, false, true);
testOptionFind("repo-cipher-type", cfgOptRepoCipherType, 0, false, false, true);
testOptionFind("repo-path", cfgOptRepoPath, 0, false, false, true);
testOptionFind("repo-type", cfgOptRepoType, 0, false, false, true);
testOptionFind("repo-s3-bucket", cfgOptRepoS3Bucket, 0, false, false, true);
testOptionFind("repo-s3-ca-file", cfgOptRepoS3CaFile, 0, false, false, true);
testOptionFind("repo-s3-ca-path", cfgOptRepoS3CaPath, 0, false, false, true);
testOptionFind("repo-s3-ca-file", cfgOptRepoStorageCaFile, 0, false, false, true);
testOptionFind("repo1-s3-ca-file", cfgOptRepoStorageCaFile, 0, false, false, true);
testOptionFind("reset-repo1-s3-ca-file", cfgOptRepoStorageCaFile, 0, false, true, true);
testOptionFind("repo-s3-ca-path", cfgOptRepoStorageCaPath, 0, false, false, true);
testOptionFind("repo1-s3-ca-path", cfgOptRepoStorageCaPath, 0, false, false, true);
testOptionFind("reset-repo1-s3-ca-path", cfgOptRepoStorageCaPath, 0, false, true, true);
testOptionFind("repo-s3-endpoint", cfgOptRepoS3Endpoint, 0, false, false, true);
testOptionFind("repo-s3-host", cfgOptRepoS3Host, 0, false, false, true);
testOptionFind("repo-s3-host", cfgOptRepoStorageHost, 0, false, false, true);
testOptionFind("repo1-s3-host", cfgOptRepoStorageHost, 0, false, false, true);
testOptionFind("reset-repo1-s3-host", cfgOptRepoStorageHost, 0, false, true, true);
testOptionFind("repo-s3-key", cfgOptRepoS3Key, 0, false, false, true);
testOptionFind("repo-s3-key-secret", cfgOptRepoS3KeySecret, 0, false, false, true);
testOptionFind("repo1-s3-port", cfgOptRepoStoragePort, 0, false, false, true);
testOptionFind("reset-repo1-s3-port", cfgOptRepoStoragePort, 0, false, true, true);
testOptionFind("repo-s3-region", cfgOptRepoS3Region, 0, false, false, true);
testOptionFind("repo-s3-verify-ssl", cfgOptRepoS3VerifyTls, 0, false, false, true);
testOptionFind("repo1-s3-verify-ssl", cfgOptRepoS3VerifyTls, 0, false, false, true);
testOptionFind("no-repo-s3-verify-ssl", cfgOptRepoS3VerifyTls, 0, true, false, true);
testOptionFind("repo-s3-verify-ssl", cfgOptRepoStorageVerifyTls, 0, false, false, true);
testOptionFind("repo1-s3-verify-ssl", cfgOptRepoStorageVerifyTls, 0, false, false, true);
testOptionFind("no-repo-s3-verify-ssl", cfgOptRepoStorageVerifyTls, 0, true, false, true);
testOptionFind("repo1-s3-verify-tls", cfgOptRepoStorageVerifyTls, 0, false, false, true);
testOptionFind("no-repo1-s3-verify-tls", cfgOptRepoStorageVerifyTls, 0, true, false, true);
testOptionFind("reset-repo1-s3-verify-tls", cfgOptRepoStorageVerifyTls, 0, false, true, true);
// PostreSQL options
// -------------------------------------------------------------------------------------------------------------------------

View File

@ -288,9 +288,9 @@ testRun(void)
hrnCfgArgRawZ(argList, cfgOptRepoType, STORAGE_AZURE_TYPE);
hrnCfgArgRawZ(argList, cfgOptRepoPath, "/");
hrnCfgArgRawZ(argList, cfgOptRepoAzureContainer, TEST_CONTAINER);
hrnCfgArgRaw(argList, cfgOptRepoAzureHost, hrnServerHost());
hrnCfgArgRawFmt(argList, cfgOptRepoAzurePort, "%u", hrnServerPort(0));
hrnCfgArgRawBool(argList, cfgOptRepoAzureVerifyTls, testContainer());
hrnCfgArgRaw(argList, cfgOptRepoStorageHost, hrnServerHost());
hrnCfgArgRawFmt(argList, cfgOptRepoStoragePort, "%u", hrnServerPort(0));
hrnCfgArgRawBool(argList, cfgOptRepoStorageVerifyTls, testContainer());
hrnCfgEnvRawZ(cfgOptRepoAzureAccount, TEST_ACCOUNT);
hrnCfgEnvRawZ(cfgOptRepoAzureKey, TEST_KEY_SHARED);
harnessCfgLoad(cfgCmdArchivePush, argList);

View File

@ -232,7 +232,7 @@ testRun(void)
// TLS can only be verified in a container
if (!testContainer())
hrnCfgArgRawBool(commonArgWithoutEndpointList, cfgOptRepoS3VerifyTls, false);
hrnCfgArgRawBool(commonArgWithoutEndpointList, cfgOptRepoStorageVerifyTls, false);
// Config settings that are required for every test (with endpoint)
StringList *commonArgList = strLstDup(commonArgWithoutEndpointList);
@ -319,8 +319,8 @@ testRun(void)
argList = strLstDup(commonArgWithoutEndpointList);
hrnCfgArgRawZ(argList, cfgOptRepoS3Endpoint, "custom.endpoint:333");
hrnCfgArgRawZ(argList, cfgOptRepoS3CaPath, "/path/to/cert");
hrnCfgArgRawFmt(argList, cfgOptRepoS3CaFile, "%s/" HRN_SERVER_CERT_PREFIX ".crt", testRepoPath());
hrnCfgArgRawZ(argList, cfgOptRepoStorageCaPath, "/path/to/cert");
hrnCfgArgRawFmt(argList, cfgOptRepoStorageCaFile, "%s/" HRN_SERVER_CERT_PREFIX ".crt", testRepoPath());
hrnCfgEnvRaw(cfgOptRepoS3Token, securityToken);
harnessCfgLoad(cfgCmdArchivePush, argList);
@ -384,7 +384,7 @@ testRun(void)
TEST_TITLE("config with keys, token, and host with custom port");
StringList *argList = strLstDup(commonArgList);
hrnCfgArgRawFmt(argList, cfgOptRepoS3Host, "%s:%u", strZ(host), port);
hrnCfgArgRawFmt(argList, cfgOptRepoStorageHost, "%s:%u", strZ(host), port);
hrnCfgEnvRaw(cfgOptRepoS3Token, securityToken);
harnessCfgLoad(cfgCmdArchivePush, argList);
@ -441,7 +441,7 @@ testRun(void)
hrnServerScriptClose(service);
argList = strLstDup(commonArgList);
hrnCfgArgRawFmt(argList, cfgOptRepoS3Host, "%s:%u", strZ(host), port);
hrnCfgArgRawFmt(argList, cfgOptRepoStorageHost, "%s:%u", strZ(host), port);
hrnCfgArgRaw(argList, cfgOptRepoS3Role, credRole);
hrnCfgArgRawZ(argList, cfgOptRepoS3KeyType, STORAGE_S3_KEY_TYPE_AUTO);
harnessCfgLoad(cfgCmdArchivePush, argList);
@ -1010,8 +1010,8 @@ testRun(void)
argList = strLstDup(commonArgList);
hrnCfgArgRawZ(argList, cfgOptRepoS3UriStyle, STORAGE_S3_URI_STYLE_PATH);
hrnCfgArgRaw(argList, cfgOptRepoS3Host, host);
hrnCfgArgRawFmt(argList, cfgOptRepoS3Port, "%u", port);
hrnCfgArgRaw(argList, cfgOptRepoStorageHost, host);
hrnCfgArgRawFmt(argList, cfgOptRepoStoragePort, "%u", port);
hrnCfgEnvRemoveRaw(cfgOptRepoS3Token);
harnessCfgLoad(cfgCmdArchivePush, argList);