From d1aa765a9d5f290738c1de00c5ea99d5f6056ba5 Mon Sep 17 00:00:00 2001 From: David Steele Date: Tue, 2 Mar 2021 13:51:40 -0500 Subject: [PATCH] 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. --- build/lib/pgBackRestBuild/Config/Data.pm | 183 +-- doc/lib/pgBackRestDoc/Common/DocConfig.pm | 6 - doc/lib/pgBackRestDoc/Common/DocExecute.pm | 6 +- doc/xml/reference.xml | 133 +- doc/xml/release.xml | 8 + doc/xml/user-guide.xml | 3 +- src/command/help/help.auto.c | 263 ++-- src/command/help/help.c | 8 +- src/config/config.auto.h | 17 +- src/config/load.c | 2 +- src/config/parse.auto.c | 1649 +++++++------------- src/storage/helper.c | 20 +- test/expect/mock-all-002.log | 4 +- test/expect/mock-archive-002.log | 2 +- test/expect/mock-archive-stop-002.log | 2 +- test/expect/mock-stanza-002.log | 30 +- test/lib/pgBackRestTest/Env/HostEnvTest.pm | 4 +- test/src/module/command/helpTest.c | 45 +- test/src/module/config/parseTest.c | 65 +- test/src/module/storage/azureTest.c | 6 +- test/src/module/storage/s3Test.c | 14 +- 21 files changed, 994 insertions(+), 1476 deletions(-) diff --git a/build/lib/pgBackRestBuild/Config/Data.pm b/build/lib/pgBackRestBuild/Config/Data.pm index 7213457ee..9c4fd3ff1 100644 --- a/build/lib/pgBackRestBuild/Config/Data.pm +++ b/build/lib/pgBackRestBuild/Config/Data.pm @@ -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 => diff --git a/doc/lib/pgBackRestDoc/Common/DocConfig.pm b/doc/lib/pgBackRestDoc/Common/DocConfig.pm index eda83c28c..401982b33 100644 --- a/doc/lib/pgBackRestDoc/Common/DocConfig.pm +++ b/doc/lib/pgBackRestDoc/Common/DocConfig.pm @@ -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; } } diff --git a/doc/lib/pgBackRestDoc/Common/DocExecute.pm b/doc/lib/pgBackRestDoc/Common/DocExecute.pm index 28ed4a289..eceb71307 100644 --- a/doc/lib/pgBackRestDoc/Common/DocExecute.pm +++ b/doc/lib/pgBackRestDoc/Common/DocExecute.pm @@ -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) { diff --git a/doc/xml/reference.xml b/doc/xml/reference.xml index e02f32752..dea3c9866 100644 --- a/doc/xml/reference.xml +++ b/doc/xml/reference.xml @@ -319,24 +319,6 @@ pg-backup - - - Azure repository TLS CA file. - - Use a CA file other than the system default. - - /etc/pki/tls/certs/ca-bundle.crt - - - - - Azure repository TLS CA path. - - Use a CA path other than the system default. - - /etc/pki/tls/certs - - Azure repository container. @@ -352,20 +334,13 @@ Azure repository endpoint. - Endpoint used to connect to the blob service. The default is generally correct unless using Azure Government. + Endpoint used to connect to the blob service. The default is generally correct unless using Azure Government. + + For custom/test configurations the repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, and repo-storage-verify-tls options may be useful. blob.core.usgovcloudapi.net - - - Azure repository host. - - Connect to a host other than the default. This is typically used for testing. - - 127.0.0.1 - - Azure repository key. @@ -388,24 +363,6 @@ sas - - - Azure repository server port. - - Port to use when connecting to the default server (or host if specified). This is typically used for testing. - - 10000 - - - - - Azure repository server certificate verify. - - Disables verification of the Azure server certificate. This should only be used for testing or other scenarios where a certificate has been self-signed. - - n - - Repository host when operating remotely via SSH. @@ -590,51 +547,17 @@ pg-backup - - - S3 SSL CA File. - - Use a CA file other than the system default. - - /etc/pki/tls/certs/ca-bundle.crt - - - - - S3 SSL CA Path. - - Use a CA path other than the system default. - - /etc/pki/tls/certs - - S3 repository endpoint. - The AWS end point should be valid for the selected region. + The AWS endpoint should be valid for the selected region. + + For custom/test configurations the repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, and repo-storage-verify-tls options may be useful. s3.amazonaws.com - - - S3 repository host. - - Connect to a host other than the end point. This is typically used for testing. - - 127.0.0.1 - - - - - S3 repository port. - - Port to use when connecting to the endpoint (or host if specified). - - 9000 - - S3 repository role. @@ -666,11 +589,47 @@ path - - - Verify S3 server certificate. + + + Repository storage CA file. - Disables verification of the S3 server certificate. This should only be used for testing or other scenarios where a certificate has been self-signed. + Use a CA file other than the system default for storage (e.g. S3, Azure) certificates. + + /etc/pki/tls/certs/ca-bundle.crt + + + + + Repository storage CA path. + + Use a CA path other than the system default for storage (e.g. S3, Azure) certificates. + + /etc/pki/tls/certs + + + + + Repository storage host. + + Connect to a host other than the storage (e.g. S3, Azure) endpoint. This is typically used for testing. + + 127.0.0.1 + + + + + Repository storage port. + + Port to use when connecting to the storage (e.g. S3, Azure) endpoint (or host if specified). + + 9000 + + + + + Repository storage certificate verify. + + 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. n diff --git a/doc/xml/release.xml b/doc/xml/release.xml index 5a8347e42..e3c4a847b 100644 --- a/doc/xml/release.xml +++ b/doc/xml/release.xml @@ -37,6 +37,14 @@ + + + + + +

Consolidate less commonly used repository storage options.

+
+ diff --git a/doc/xml/user-guide.xml b/doc/xml/user-guide.xml index 8ca3d9949..675422645 100644 --- a/doc/xml/user-guide.xml +++ b/doc/xml/user-guide.xml @@ -622,7 +622,7 @@ {[azure-key-type]} {[azure-key]} {[azure-container]} - blob.core.windows.net + blob.core.windows.net 4 @@ -657,6 +657,7 @@ {[s3-bucket]} {[s3-endpoint]} {[s3-region]} + 4 diff --git a/src/command/help/help.auto.c b/src/command/help/help.auto.c index e8a0ad66b..8b1221a82 100644 --- a/src/command/help/help.auto.c +++ b/src/command/help/help.auto.c @@ -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 diff --git a/src/command/help/help.c b/src/command/help/help.c index 4407da51a..90dc21990 100644 --- a/src/command/help/help.c +++ b/src/command/help/help.c @@ -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, ", "))); + } } } diff --git a/src/config/config.auto.h b/src/config/config.auto.h index 4de49686c..57489dbad 100644 --- a/src/config/config.auto.h +++ b/src/config/config.auto.h @@ -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, diff --git a/src/config/load.c b/src/config/load.c index 5cb6c992c..e1c8f8734 100644 --- a/src/config/load.c +++ b/src/config/load.c @@ -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( diff --git a/src/config/parse.auto.c b/src/config/parse.auto.c index 0287300b4..d265f67c0 100644 --- a/src/config/parse.auto.c +++ b/src/config/parse.auto.c @@ -3092,146 +3092,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-azure-ca-file"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeString), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "azure" - ), - ), - ), - - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-azure-ca-path"), - PARSE_RULE_OPTION_TYPE(cfgOptTypePath), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "azure" - ), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -3307,8 +3167,9 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ( PARSE_RULE_OPTION_NAME("repo-azure-endpoint"), PARSE_RULE_OPTION_TYPE(cfgOptTypeString), - PARSE_RULE_OPTION_REQUIRED(false), + PARSE_RULE_OPTION_REQUIRED(true), PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), + PARSE_RULE_OPTION_SECURE(true), PARSE_RULE_OPTION_GROUP_MEMBER(true), PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), @@ -3374,76 +3235,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-azure-host"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeString), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "azure" - ), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -3593,151 +3384,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-azure-port"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeInteger), - PARSE_RULE_OPTION_REQUIRED(true), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_ALLOW_RANGE(1, 65535), - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "azure" - ), - - PARSE_RULE_OPTION_OPTIONAL_DEFAULT("443"), - ), - ), - - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-azure-verify-tls"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeBoolean), - PARSE_RULE_OPTION_REQUIRED(true), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "azure" - ), - - PARSE_RULE_OPTION_OPTIONAL_DEFAULT("1"), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -4542,146 +4188,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-s3-ca-file"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeString), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "s3" - ), - ), - ), - - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-s3-ca-path"), - PARSE_RULE_OPTION_TYPE(cfgOptTypePath), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "s3" - ), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -4752,76 +4258,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-s3-host"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeString), - PARSE_RULE_OPTION_REQUIRED(false), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "s3" - ), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -5042,79 +4478,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = ), ), - // ----------------------------------------------------------------------------------------------------------------------------- - PARSE_RULE_OPTION - ( - PARSE_RULE_OPTION_NAME("repo-s3-port"), - PARSE_RULE_OPTION_TYPE(cfgOptTypeInteger), - PARSE_RULE_OPTION_REQUIRED(true), - PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), - PARSE_RULE_OPTION_GROUP_MEMBER(true), - PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), - - PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) - PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST - ( - PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) - PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) - PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) - PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) - PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) - PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) - ), - - PARSE_RULE_OPTION_OPTIONAL_LIST - ( - PARSE_RULE_OPTION_OPTIONAL_ALLOW_RANGE(1, 65535), - PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST - ( - cfgOptRepoType, - "s3" - ), - - PARSE_RULE_OPTION_OPTIONAL_DEFAULT("443"), - ), - ), - // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( @@ -5407,7 +4770,294 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = // ----------------------------------------------------------------------------------------------------------------------------- PARSE_RULE_OPTION ( - PARSE_RULE_OPTION_NAME("repo-s3-verify-tls"), + PARSE_RULE_OPTION_NAME("repo-storage-ca-file"), + PARSE_RULE_OPTION_TYPE(cfgOptTypeString), + PARSE_RULE_OPTION_REQUIRED(false), + PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), + PARSE_RULE_OPTION_GROUP_MEMBER(true), + PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), + + PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_OPTIONAL_LIST + ( + PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST + ( + cfgOptRepoType, + "azure", + "s3" + ), + ), + ), + + // ----------------------------------------------------------------------------------------------------------------------------- + PARSE_RULE_OPTION + ( + PARSE_RULE_OPTION_NAME("repo-storage-ca-path"), + PARSE_RULE_OPTION_TYPE(cfgOptTypePath), + PARSE_RULE_OPTION_REQUIRED(false), + PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), + PARSE_RULE_OPTION_GROUP_MEMBER(true), + PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), + + PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_OPTIONAL_LIST + ( + PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST + ( + cfgOptRepoType, + "azure", + "s3" + ), + ), + ), + + // ----------------------------------------------------------------------------------------------------------------------------- + PARSE_RULE_OPTION + ( + PARSE_RULE_OPTION_NAME("repo-storage-host"), + PARSE_RULE_OPTION_TYPE(cfgOptTypeString), + PARSE_RULE_OPTION_REQUIRED(false), + PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), + PARSE_RULE_OPTION_GROUP_MEMBER(true), + PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), + + PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_OPTIONAL_LIST + ( + PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST + ( + cfgOptRepoType, + "azure", + "s3" + ), + ), + ), + + // ----------------------------------------------------------------------------------------------------------------------------- + PARSE_RULE_OPTION + ( + PARSE_RULE_OPTION_NAME("repo-storage-port"), + PARSE_RULE_OPTION_TYPE(cfgOptTypeInteger), + PARSE_RULE_OPTION_REQUIRED(true), + PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), + PARSE_RULE_OPTION_GROUP_MEMBER(true), + PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo), + + PARSE_RULE_OPTION_COMMAND_ROLE_DEFAULT_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdExpire) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaDelete) + PARSE_RULE_OPTION_COMMAND(cfgCmdStanzaUpgrade) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_ASYNC_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_LOCAL_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdBackup) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_COMMAND_ROLE_REMOTE_VALID_LIST + ( + PARSE_RULE_OPTION_COMMAND(cfgCmdArchiveGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdArchivePush) + PARSE_RULE_OPTION_COMMAND(cfgCmdCheck) + PARSE_RULE_OPTION_COMMAND(cfgCmdInfo) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoCreate) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoGet) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoLs) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoPut) + PARSE_RULE_OPTION_COMMAND(cfgCmdRepoRm) + PARSE_RULE_OPTION_COMMAND(cfgCmdRestore) + PARSE_RULE_OPTION_COMMAND(cfgCmdVerify) + ), + + PARSE_RULE_OPTION_OPTIONAL_LIST + ( + PARSE_RULE_OPTION_OPTIONAL_ALLOW_RANGE(1, 65535), + PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST + ( + cfgOptRepoType, + "azure", + "s3" + ), + + PARSE_RULE_OPTION_OPTIONAL_DEFAULT("443"), + ), + ), + + // ----------------------------------------------------------------------------------------------------------------------------- + PARSE_RULE_OPTION + ( + PARSE_RULE_OPTION_NAME("repo-storage-verify-tls"), PARSE_RULE_OPTION_TYPE(cfgOptTypeBoolean), PARSE_RULE_OPTION_REQUIRED(true), PARSE_RULE_OPTION_SECTION(cfgSectionGlobal), @@ -5469,6 +5119,7 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] = PARSE_RULE_OPTION_OPTIONAL_DEPEND_LIST ( cfgOptRepoType, + "azure", "s3" ), @@ -8476,84 +8127,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureAccount, }, - // repo-azure-ca-file option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-azure-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "reset-repo1-azure-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "repo2-azure-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "reset-repo2-azure-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "repo3-azure-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "reset-repo3-azure-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "repo4-azure-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - { - .name = "reset-repo4-azure-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaFile, - }, - - // repo-azure-ca-path option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-azure-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "reset-repo1-azure-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "repo2-azure-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "reset-repo2-azure-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "repo3-azure-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "reset-repo3-azure-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "repo4-azure-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - { - .name = "reset-repo4-azure-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureCaPath, - }, - // repo-azure-container option // ----------------------------------------------------------------------------------------------------------------------------- { @@ -8632,45 +8205,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureEndpoint, }, - // repo-azure-host option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-azure-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "reset-repo1-azure-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "repo2-azure-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "reset-repo2-azure-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "repo3-azure-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "reset-repo3-azure-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "repo4-azure-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - { - .name = "reset-repo4-azure-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureHost, - }, - // repo-azure-key option // ----------------------------------------------------------------------------------------------------------------------------- { @@ -8749,96 +8283,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureKeyType, }, - // repo-azure-port option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-azure-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "reset-repo1-azure-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "repo2-azure-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "reset-repo2-azure-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "repo3-azure-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "reset-repo3-azure-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "repo4-azure-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - { - .name = "reset-repo4-azure-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzurePort, - }, - - // repo-azure-verify-tls option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-azure-verify-tls", - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "no-repo1-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "reset-repo1-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "repo2-azure-verify-tls", - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "no-repo2-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "reset-repo2-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "repo3-azure-verify-tls", - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "no-repo3-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "reset-repo3-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "repo4-azure-verify-tls", - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "no-repo4-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - { - .name = "reset-repo4-azure-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoAzureVerifyTls, - }, - // repo-cipher-pass option and deprecations // ----------------------------------------------------------------------------------------------------------------------------- { @@ -9638,94 +9082,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Bucket, }, - // repo-s3-ca-file option and deprecations - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-s3-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "reset-repo1-s3-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "repo-s3-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "repo2-s3-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "reset-repo2-s3-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "repo3-s3-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "reset-repo3-s3-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "repo4-s3-ca-file", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - { - .name = "reset-repo4-s3-ca-file", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaFile, - }, - - // repo-s3-ca-path option and deprecations - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-s3-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "reset-repo1-s3-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "repo-s3-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "repo2-s3-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "reset-repo2-s3-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "repo3-s3-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "reset-repo3-s3-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "repo4-s3-ca-path", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - { - .name = "reset-repo4-s3-ca-path", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3CaPath, - }, - // repo-s3-endpoint option and deprecations // ----------------------------------------------------------------------------------------------------------------------------- { @@ -9770,50 +9126,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Endpoint, }, - // repo-s3-host option and deprecations - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-s3-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "reset-repo1-s3-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "repo-s3-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "repo2-s3-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "reset-repo2-s3-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "repo3-s3-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "reset-repo3-s3-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "repo4-s3-host", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - { - .name = "reset-repo4-s3-host", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Host, - }, - // repo-s3-key option and deprecations // ----------------------------------------------------------------------------------------------------------------------------- { @@ -9941,45 +9253,6 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3KeyType, }, - // repo-s3-port option - // ----------------------------------------------------------------------------------------------------------------------------- - { - .name = "repo1-s3-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "reset-repo1-s3-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "repo2-s3-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "reset-repo2-s3-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "repo3-s3-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "reset-repo3-s3-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "repo4-s3-port", - .has_arg = required_argument, - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - { - .name = "reset-repo4-s3-port", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3Port, - }, - // repo-s3-region option and deprecations // ----------------------------------------------------------------------------------------------------------------------------- { @@ -10141,71 +9414,338 @@ static const struct option optionList[] = .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3UriStyle, }, - // repo-s3-verify-tls option and deprecations + // repo-storage-ca-file option and deprecations // ----------------------------------------------------------------------------------------------------------------------------- { - .name = "repo1-s3-verify-tls", - .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "repo1-storage-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, }, { - .name = "no-repo1-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "reset-repo1-storage-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, }, { - .name = "reset-repo1-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "repo-s3-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "repo1-azure-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "reset-repo1-azure-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "repo1-s3-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "reset-repo1-s3-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "repo2-storage-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "reset-repo2-storage-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "repo3-storage-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "reset-repo3-storage-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "repo4-storage-ca-file", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + { + .name = "reset-repo4-storage-ca-file", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaFile, + }, + + // repo-storage-ca-path option and deprecations + // ----------------------------------------------------------------------------------------------------------------------------- + { + .name = "repo1-storage-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo1-storage-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo-s3-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo1-azure-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo1-azure-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo1-s3-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo1-s3-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo2-storage-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo2-storage-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo3-storage-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo3-storage-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "repo4-storage-ca-path", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + { + .name = "reset-repo4-storage-ca-path", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageCaPath, + }, + + // repo-storage-host option and deprecations + // ----------------------------------------------------------------------------------------------------------------------------- + { + .name = "repo1-storage-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo1-storage-host", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo-s3-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo1-azure-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo1-azure-host", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo1-s3-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo1-s3-host", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo2-storage-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo2-storage-host", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo3-storage-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo3-storage-host", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "repo4-storage-host", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + { + .name = "reset-repo4-storage-host", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageHost, + }, + + // repo-storage-port option and deprecations + // ----------------------------------------------------------------------------------------------------------------------------- + { + .name = "repo1-storage-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo1-storage-port", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "repo1-azure-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo1-azure-port", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "repo1-s3-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo1-s3-port", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "repo2-storage-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo2-storage-port", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "repo3-storage-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo3-storage-port", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "repo4-storage-port", + .has_arg = required_argument, + .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + { + .name = "reset-repo4-storage-port", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStoragePort, + }, + + // repo-storage-verify-tls option and deprecations + // ----------------------------------------------------------------------------------------------------------------------------- + { + .name = "repo1-storage-verify-tls", + .val = PARSE_OPTION_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "no-repo1-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "reset-repo1-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { .name = "repo-s3-verify-ssl", - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { .name = "no-repo-s3-verify-ssl", - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "repo1-azure-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "no-repo1-azure-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "reset-repo1-azure-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { .name = "repo1-s3-verify-ssl", - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { .name = "no-repo1-s3-verify-ssl", - .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "repo2-s3-verify-tls", - .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "repo1-s3-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "no-repo2-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "no-repo1-s3-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "reset-repo2-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "reset-repo1-s3-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_DEPRECATE_FLAG | PARSE_RESET_FLAG | (0 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "repo3-s3-verify-tls", - .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "repo2-storage-verify-tls", + .val = PARSE_OPTION_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "no-repo3-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "no-repo2-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "reset-repo3-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "reset-repo2-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (1 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "repo4-s3-verify-tls", - .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "repo3-storage-verify-tls", + .val = PARSE_OPTION_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "no-repo4-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "no-repo3-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, { - .name = "reset-repo4-s3-verify-tls", - .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoS3VerifyTls, + .name = "reset-repo3-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (2 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "repo4-storage-verify-tls", + .val = PARSE_OPTION_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "no-repo4-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_NEGATE_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, + }, + { + .name = "reset-repo4-storage-verify-tls", + .val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | (3 << PARSE_KEY_IDX_SHIFT) | cfgOptRepoStorageVerifyTls, }, // repo-type option and deprecations @@ -10566,15 +10106,10 @@ static const ConfigOption optionResolveOrder[] = cfgOptPgHostUser, cfgOptRecoveryOption, cfgOptRepoAzureAccount, - cfgOptRepoAzureCaFile, - cfgOptRepoAzureCaPath, cfgOptRepoAzureContainer, cfgOptRepoAzureEndpoint, - cfgOptRepoAzureHost, cfgOptRepoAzureKey, cfgOptRepoAzureKeyType, - cfgOptRepoAzurePort, - cfgOptRepoAzureVerifyTls, cfgOptRepoCipherPass, cfgOptRepoHost, cfgOptRepoHostCmd, @@ -10584,17 +10119,17 @@ static const ConfigOption optionResolveOrder[] = cfgOptRepoHostPort, cfgOptRepoHostUser, cfgOptRepoS3Bucket, - cfgOptRepoS3CaFile, - cfgOptRepoS3CaPath, cfgOptRepoS3Endpoint, - cfgOptRepoS3Host, cfgOptRepoS3KeyType, - cfgOptRepoS3Port, cfgOptRepoS3Region, cfgOptRepoS3Role, cfgOptRepoS3Token, cfgOptRepoS3UriStyle, - cfgOptRepoS3VerifyTls, + cfgOptRepoStorageCaFile, + cfgOptRepoStorageCaPath, + cfgOptRepoStorageHost, + cfgOptRepoStoragePort, + cfgOptRepoStorageVerifyTls, cfgOptTarget, cfgOptTargetAction, cfgOptTargetExclusive, diff --git a/src/storage/helper.c b/src/storage/helper.c index b9ca359bc..24d21a837 100644 --- a/src/storage/helper.c +++ b/src/storage/helper.c @@ -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)); } } diff --git a/test/expect/mock-all-002.log b/test/expect/mock-all-002.log index 008d7d10f..1ff1d42cc 100644 --- a/test/expect/mock-all-002.log +++ b/test/expect/mock-all-002.log @@ -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= --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key= --repo1-s3-key-secret= --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= --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key= --repo1-s3-key-secret= --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= --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key= --repo1-s3-key-secret= --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= --repo1-cipher-type=aes-256-cbc --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key= --repo1-s3-key-secret= --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 diff --git a/test/expect/mock-archive-002.log b/test/expect/mock-archive-002.log index daf9abe21..eae5af5db 100644 --- a/test/expect/mock-archive-002.log +++ b/test/expect/mock-archive-002.log @@ -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= --repo1-s3-key-secret= --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= --repo1-s3-key-secret= --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 diff --git a/test/expect/mock-archive-stop-002.log b/test/expect/mock-archive-stop-002.log index 25f3d0d72..ea6c5012b 100644 --- a/test/expect/mock-archive-stop-002.log +++ b/test/expect/mock-archive-stop-002.log @@ -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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --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= --repo1-azure-container=azContainer --repo1-azure-key= --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 diff --git a/test/expect/mock-stanza-002.log b/test/expect/mock-stanza-002.log index 6d160bae4..a46e3b28b 100644 --- a/test/expect/mock-stanza-002.log +++ b/test/expect/mock-stanza-002.log @@ -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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-host=azure --repo1-azure-key= --no-repo1-azure-verify-tls --repo1-cipher-pass= --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= --repo1-azure-container=azContainer --repo1-azure-key= --repo1-cipher-pass= --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 diff --git a/test/lib/pgBackRestTest/Env/HostEnvTest.pm b/test/lib/pgBackRestTest/Env/HostEnvTest.pm index 8a3832768..63c45220a 100644 --- a/test/lib/pgBackRestTest/Env/HostEnvTest.pm +++ b/test/lib/pgBackRestTest/Env/HostEnvTest.pm @@ -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 diff --git a/test/src/module/command/helpTest.c b/test/src/module/command/helpTest.c index 0c9511c1b..2b4e5498c 100644 --- a/test/src/module/command/helpTest.c +++ b/test/src/module/command/helpTest.c @@ -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=]\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( diff --git a/test/src/module/config/parseTest.c b/test/src/module/config/parseTest.c index ffd1a6eda..76b22651d 100644 --- a/test/src/module/config/parseTest.c +++ b/test/src/module/config/parseTest.c @@ -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 // ------------------------------------------------------------------------------------------------------------------------- diff --git a/test/src/module/storage/azureTest.c b/test/src/module/storage/azureTest.c index 0a39b581f..0fcb1988b 100644 --- a/test/src/module/storage/azureTest.c +++ b/test/src/module/storage/azureTest.c @@ -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); diff --git a/test/src/module/storage/s3Test.c b/test/src/module/storage/s3Test.c index 333bb960e..a6d078c33 100644 --- a/test/src/module/storage/s3Test.c +++ b/test/src/module/storage/s3Test.c @@ -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);