You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-06-16 23:47:38 +02:00
Add repo-create, repo-get, repo-put, and repo-rm commands.
These commands are generally useful but more importantly they allow removing LibC by providing the Perl integration tests an alternate way to work with repository storage. All the commands are currently internal only and should not be used on production repositories.
This commit is contained in:
@ -89,8 +89,16 @@ use constant CFGCMD_HELP => 'help';
|
|||||||
push @EXPORT, qw(CFGCMD_HELP);
|
push @EXPORT, qw(CFGCMD_HELP);
|
||||||
use constant CFGCMD_INFO => 'info';
|
use constant CFGCMD_INFO => 'info';
|
||||||
push @EXPORT, qw(CFGCMD_INFO);
|
push @EXPORT, qw(CFGCMD_INFO);
|
||||||
|
use constant CFGCMD_REPO_CREATE => 'repo-create';
|
||||||
|
push @EXPORT, qw(CFGCMD_REPO_CREATE);
|
||||||
|
use constant CFGCMD_REPO_GET => 'repo-get';
|
||||||
|
push @EXPORT, qw(CFGCMD_REPO_GET);
|
||||||
use constant CFGCMD_REPO_LS => 'repo-ls';
|
use constant CFGCMD_REPO_LS => 'repo-ls';
|
||||||
push @EXPORT, qw(CFGCMD_REPO_LS);
|
push @EXPORT, qw(CFGCMD_REPO_LS);
|
||||||
|
use constant CFGCMD_REPO_PUT => 'repo-put';
|
||||||
|
push @EXPORT, qw(CFGCMD_REPO_PUT);
|
||||||
|
use constant CFGCMD_REPO_RM => 'repo-rm';
|
||||||
|
push @EXPORT, qw(CFGCMD_REPO_RM);
|
||||||
use constant CFGCMD_RESTORE => 'restore';
|
use constant CFGCMD_RESTORE => 'restore';
|
||||||
push @EXPORT, qw(CFGCMD_RESTORE);
|
push @EXPORT, qw(CFGCMD_RESTORE);
|
||||||
use constant CFGCMD_STANZA_CREATE => 'stanza-create';
|
use constant CFGCMD_STANZA_CREATE => 'stanza-create';
|
||||||
@ -152,8 +160,14 @@ use constant CFGOPT_REMOTE_TYPE => 'remote-t
|
|||||||
|
|
||||||
# Command-line only storage options
|
# Command-line only storage options
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
use constant CFGOPT_CIPHER_PASS => 'cipher-pass';
|
||||||
|
push @EXPORT, qw(CFGOPT_CIPHER_PASS);
|
||||||
use constant CFGOPT_FILTER => 'filter';
|
use constant CFGOPT_FILTER => 'filter';
|
||||||
push @EXPORT, qw(CFGOPT_FILTER);
|
push @EXPORT, qw(CFGOPT_FILTER);
|
||||||
|
use constant CFGOPT_IGNORE_MISSING => 'ignore-missing';
|
||||||
|
push @EXPORT, qw(CFGOPT_IGNORE_MISSING);
|
||||||
|
use constant CFGOPT_RAW => 'raw';
|
||||||
|
push @EXPORT, qw(CFGOPT_RAW);
|
||||||
use constant CFGOPT_RECURSE => 'recurse';
|
use constant CFGOPT_RECURSE => 'recurse';
|
||||||
push @EXPORT, qw(CFGOPT_RECURSE);
|
push @EXPORT, qw(CFGOPT_RECURSE);
|
||||||
use constant CFGOPT_SORT => 'sort';
|
use constant CFGOPT_SORT => 'sort';
|
||||||
@ -621,6 +635,20 @@ my $rhCommandDefine =
|
|||||||
&CFGDEF_LOG_LEVEL_DEFAULT => DEBUG,
|
&CFGDEF_LOG_LEVEL_DEFAULT => DEBUG,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
&CFGCMD_REPO_CREATE =>
|
||||||
|
{
|
||||||
|
&CFGDEF_INTERNAL => true,
|
||||||
|
&CFGDEF_LOG_FILE => false,
|
||||||
|
},
|
||||||
|
|
||||||
|
&CFGCMD_REPO_GET =>
|
||||||
|
{
|
||||||
|
&CFGDEF_INTERNAL => true,
|
||||||
|
&CFGDEF_LOG_FILE => false,
|
||||||
|
&CFGDEF_LOG_LEVEL_DEFAULT => DEBUG,
|
||||||
|
&CFGDEF_PARAMETER_ALLOWED => true,
|
||||||
|
},
|
||||||
|
|
||||||
&CFGCMD_REPO_LS =>
|
&CFGCMD_REPO_LS =>
|
||||||
{
|
{
|
||||||
&CFGDEF_INTERNAL => true,
|
&CFGDEF_INTERNAL => true,
|
||||||
@ -629,6 +657,22 @@ my $rhCommandDefine =
|
|||||||
&CFGDEF_PARAMETER_ALLOWED => true,
|
&CFGDEF_PARAMETER_ALLOWED => true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
&CFGCMD_REPO_PUT =>
|
||||||
|
{
|
||||||
|
&CFGDEF_INTERNAL => true,
|
||||||
|
&CFGDEF_LOG_FILE => false,
|
||||||
|
&CFGDEF_LOG_LEVEL_DEFAULT => DEBUG,
|
||||||
|
&CFGDEF_PARAMETER_ALLOWED => true,
|
||||||
|
},
|
||||||
|
|
||||||
|
&CFGCMD_REPO_RM =>
|
||||||
|
{
|
||||||
|
&CFGDEF_INTERNAL => true,
|
||||||
|
&CFGDEF_LOG_FILE => false,
|
||||||
|
&CFGDEF_LOG_LEVEL_DEFAULT => DEBUG,
|
||||||
|
&CFGDEF_PARAMETER_ALLOWED => true,
|
||||||
|
},
|
||||||
|
|
||||||
&CFGCMD_RESTORE =>
|
&CFGCMD_RESTORE =>
|
||||||
{
|
{
|
||||||
},
|
},
|
||||||
@ -686,7 +730,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -797,6 +845,26 @@ my %hConfigDefine =
|
|||||||
{
|
{
|
||||||
&CFGDEF_REQUIRED => false
|
&CFGDEF_REQUIRED => false
|
||||||
},
|
},
|
||||||
|
&CFGCMD_REPO_CREATE =>
|
||||||
|
{
|
||||||
|
&CFGDEF_REQUIRED => false
|
||||||
|
},
|
||||||
|
&CFGCMD_REPO_GET =>
|
||||||
|
{
|
||||||
|
&CFGDEF_REQUIRED => false
|
||||||
|
},
|
||||||
|
&CFGCMD_REPO_LS =>
|
||||||
|
{
|
||||||
|
&CFGDEF_REQUIRED => false
|
||||||
|
},
|
||||||
|
&CFGCMD_REPO_PUT =>
|
||||||
|
{
|
||||||
|
&CFGDEF_REQUIRED => false
|
||||||
|
},
|
||||||
|
&CFGCMD_REPO_RM =>
|
||||||
|
{
|
||||||
|
&CFGDEF_REQUIRED => false
|
||||||
|
},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1000,7 +1068,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1025,7 +1097,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1035,6 +1111,18 @@ my %hConfigDefine =
|
|||||||
|
|
||||||
# Command-line only storage options
|
# Command-line only storage options
|
||||||
#-------------------------------------------------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
&CFGOPT_CIPHER_PASS =>
|
||||||
|
{
|
||||||
|
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
|
||||||
|
&CFGDEF_INTERNAL => true,
|
||||||
|
&CFGDEF_REQUIRED => false,
|
||||||
|
&CFGDEF_COMMAND =>
|
||||||
|
{
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
&CFGOPT_FILTER =>
|
&CFGOPT_FILTER =>
|
||||||
{
|
{
|
||||||
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
|
&CFGDEF_TYPE => CFGDEF_TYPE_STRING,
|
||||||
@ -1045,6 +1133,27 @@ my %hConfigDefine =
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
&CFGOPT_IGNORE_MISSING =>
|
||||||
|
{
|
||||||
|
&CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN,
|
||||||
|
&CFGDEF_DEFAULT => false,
|
||||||
|
&CFGDEF_COMMAND =>
|
||||||
|
{
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
&CFGOPT_RAW =>
|
||||||
|
{
|
||||||
|
&CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN,
|
||||||
|
&CFGDEF_DEFAULT => false,
|
||||||
|
&CFGDEF_COMMAND =>
|
||||||
|
{
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
&CFGOPT_RECURSE =>
|
&CFGOPT_RECURSE =>
|
||||||
{
|
{
|
||||||
&CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN,
|
&CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN,
|
||||||
@ -1052,6 +1161,7 @@ my %hConfigDefine =
|
|||||||
&CFGDEF_COMMAND =>
|
&CFGDEF_COMMAND =>
|
||||||
{
|
{
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1115,7 +1225,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1135,7 +1249,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_ARCHIVE_PUSH => {},
|
&CFGCMD_ARCHIVE_PUSH => {},
|
||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
&CFGCMD_STANZA_UPGRADE => {},
|
&CFGCMD_STANZA_UPGRADE => {},
|
||||||
@ -1202,7 +1320,9 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1222,7 +1342,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1245,7 +1369,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1289,7 +1417,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1312,7 +1444,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_BACKUP => {},
|
&CFGCMD_BACKUP => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1403,7 +1539,11 @@ my %hConfigDefine =
|
|||||||
&CFGDEF_INTERNAL => true,
|
&CFGDEF_INTERNAL => true,
|
||||||
},
|
},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE =>
|
&CFGCMD_STANZA_CREATE =>
|
||||||
{
|
{
|
||||||
@ -1439,7 +1579,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_ARCHIVE_PUSH => {},
|
&CFGCMD_ARCHIVE_PUSH => {},
|
||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_START => {},
|
&CFGCMD_START => {},
|
||||||
&CFGCMD_STOP => {},
|
&CFGCMD_STOP => {},
|
||||||
@ -1677,7 +1821,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1805,7 +1953,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1881,7 +2033,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1905,7 +2061,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1929,7 +2089,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
@ -1952,7 +2116,11 @@ my %hConfigDefine =
|
|||||||
&CFGCMD_CHECK => {},
|
&CFGCMD_CHECK => {},
|
||||||
&CFGCMD_EXPIRE => {},
|
&CFGCMD_EXPIRE => {},
|
||||||
&CFGCMD_INFO => {},
|
&CFGCMD_INFO => {},
|
||||||
|
&CFGCMD_REPO_CREATE => {},
|
||||||
|
&CFGCMD_REPO_GET => {},
|
||||||
&CFGCMD_REPO_LS => {},
|
&CFGCMD_REPO_LS => {},
|
||||||
|
&CFGCMD_REPO_PUT => {},
|
||||||
|
&CFGCMD_REPO_RM => {},
|
||||||
&CFGCMD_RESTORE => {},
|
&CFGCMD_RESTORE => {},
|
||||||
&CFGCMD_STANZA_CREATE => {},
|
&CFGCMD_STANZA_CREATE => {},
|
||||||
&CFGCMD_STANZA_DELETE => {},
|
&CFGCMD_STANZA_DELETE => {},
|
||||||
|
@ -894,6 +894,17 @@
|
|||||||
|
|
||||||
<operation-general title="General Options">
|
<operation-general title="General Options">
|
||||||
<option-list>
|
<option-list>
|
||||||
|
<!-- OPERATION - GENERAL - CIPHER-PASS OPTION -->
|
||||||
|
<option id="cipher-pass" name="Ad Hoc Cipher Passphrase">
|
||||||
|
<summary>Cipher passphrase for current command.</summary>
|
||||||
|
|
||||||
|
<text>Specify an ad hoc cipher passphrase for the current command.
|
||||||
|
|
||||||
|
<b>FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY.</b></text>
|
||||||
|
|
||||||
|
<example>zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO</example>
|
||||||
|
</option>
|
||||||
|
|
||||||
<!-- OPERATION - GENERAL - CONFIG OPTION -->
|
<!-- OPERATION - GENERAL - CONFIG OPTION -->
|
||||||
<option id="config" name="Config">
|
<option id="config" name="Config">
|
||||||
<summary><backrest/> configuration file.</summary>
|
<summary><backrest/> configuration file.</summary>
|
||||||
@ -923,6 +934,15 @@
|
|||||||
<example>/conf/pgbackrest</example>
|
<example>/conf/pgbackrest</example>
|
||||||
</option>
|
</option>
|
||||||
|
|
||||||
|
<!-- OPERATION - GENERAL - RAW -->
|
||||||
|
<option id="raw" name="Raw Data">
|
||||||
|
<summary>Do not transform data.</summary>
|
||||||
|
|
||||||
|
<text>Do not transform (i.e, encrypt, decompress, etc.) data for the current command.</text>
|
||||||
|
|
||||||
|
<example>y</example>
|
||||||
|
</option>
|
||||||
|
|
||||||
<!-- OPERATION - GENERAL - STANZA OPTION -->
|
<!-- OPERATION - GENERAL - STANZA OPTION -->
|
||||||
<option id="stanza" name="Stanza">
|
<option id="stanza" name="Stanza">
|
||||||
<summary>Defines the stanza.</summary>
|
<summary>Defines the stanza.</summary>
|
||||||
@ -1057,6 +1077,53 @@
|
|||||||
</command-example-list>
|
</command-example-list>
|
||||||
</command>
|
</command>
|
||||||
|
|
||||||
|
<!-- OPERATION - REPO-CREATE COMMAND -->
|
||||||
|
<command id="repo-create" name="Create Repository">
|
||||||
|
<summary>Create the repository.</summary>
|
||||||
|
|
||||||
|
<text>Creates the bucket if <setting>repo-type=s3</setting>.
|
||||||
|
|
||||||
|
<b>FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY.</b></text>
|
||||||
|
|
||||||
|
<command-example-list>
|
||||||
|
<command-example title="Create repository">
|
||||||
|
<text><code-block title="">
|
||||||
|
{[backrest-exe]} repo-create
|
||||||
|
</code-block>
|
||||||
|
|
||||||
|
Create the repository.</text>
|
||||||
|
</command-example>
|
||||||
|
</command-example-list>
|
||||||
|
</command>
|
||||||
|
|
||||||
|
<!-- OPERATION - REPO-GET COMMAND -->
|
||||||
|
<command id="repo-get" name="Repository Get File">
|
||||||
|
<summary>Get a file from the repository.</summary>
|
||||||
|
|
||||||
|
<text>Similar to the unix <cmd>cat</cmd> command but options are different.</text>
|
||||||
|
|
||||||
|
<option-list>
|
||||||
|
<!-- OPERATION - REPO-GET COMMAND - IGNORE-MISSING OPTION -->
|
||||||
|
<option id="ignore-missing" name="Ignore Missing">
|
||||||
|
<summary>Ignore missing source file.</summary>
|
||||||
|
|
||||||
|
<text>Exit with 1 if the source file is missing but don't throw an error.</text>
|
||||||
|
|
||||||
|
<example>y</example>
|
||||||
|
</option>
|
||||||
|
</option-list>
|
||||||
|
|
||||||
|
<command-example-list>
|
||||||
|
<command-example title="Get a file from the repository">
|
||||||
|
<text><code-block title="">
|
||||||
|
{[backrest-exe]} repo-get backup/demo/file.txt
|
||||||
|
</code-block>
|
||||||
|
|
||||||
|
Get a file from the demo stanza.</text>
|
||||||
|
</command-example>
|
||||||
|
</command-example-list>
|
||||||
|
</command>
|
||||||
|
|
||||||
<!-- OPERATION - REPO-LS COMMAND -->
|
<!-- OPERATION - REPO-LS COMMAND -->
|
||||||
<command id="repo-ls" name="Repository List Paths/Files">
|
<command id="repo-ls" name="Repository List Paths/Files">
|
||||||
<summary>List paths/files in the repository.</summary>
|
<summary>List paths/files in the repository.</summary>
|
||||||
@ -1121,6 +1188,55 @@
|
|||||||
</command-example-list>
|
</command-example-list>
|
||||||
</command>
|
</command>
|
||||||
|
|
||||||
|
<!-- OPERATION - REPO-PUT COMMAND -->
|
||||||
|
<command id="repo-put" name="Repository Put File">
|
||||||
|
<summary>Put a file in the repository.</summary>
|
||||||
|
|
||||||
|
<text>Similar to the unix <cmd>tee</cmd> command but options and behavior are different.
|
||||||
|
|
||||||
|
<b>FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY.</b></text>
|
||||||
|
|
||||||
|
<command-example-list>
|
||||||
|
<command-example title="Put a file in the repository">
|
||||||
|
<text><code-block title="">
|
||||||
|
cat file.txt {[backrest-exe]} repo-put backup/demo/file.txt
|
||||||
|
</code-block>
|
||||||
|
|
||||||
|
Put a file in the demo stanza.</text>
|
||||||
|
</command-example>
|
||||||
|
</command-example-list>
|
||||||
|
</command>
|
||||||
|
|
||||||
|
<!-- OPERATION - RM COMMAND -->
|
||||||
|
<command id="repo-rm" name="Repository Remove Paths/Files">
|
||||||
|
<summary>Remove paths/files in the repository.</summary>
|
||||||
|
|
||||||
|
<text>Similar to the unix <cmd>rm</cmd> command but options are different.
|
||||||
|
|
||||||
|
<b>FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY.</b></text>
|
||||||
|
|
||||||
|
<option-list>
|
||||||
|
<!-- OPERATION - RM COMMAND - RECURSE OPTION -->
|
||||||
|
<option id="recurse" name="Recurse Subpaths">
|
||||||
|
<summary>Remove all sub file/paths.</summary>
|
||||||
|
|
||||||
|
<text>All subpaths and their files will be removed.</text>
|
||||||
|
|
||||||
|
<example>y</example>
|
||||||
|
</option>
|
||||||
|
</option-list>
|
||||||
|
|
||||||
|
<command-example-list>
|
||||||
|
<command-example title="Remove backup">
|
||||||
|
<text><code-block title="">
|
||||||
|
{[backrest-exe]} rm --recurse backup/demo/20190718-155825F
|
||||||
|
</code-block>
|
||||||
|
|
||||||
|
Remove 20190718-155825F backup in the demo stanza.</text>
|
||||||
|
</command-example>
|
||||||
|
</command-example-list>
|
||||||
|
</command>
|
||||||
|
|
||||||
<!-- OPERATION - RESTORE COMMAND -->
|
<!-- OPERATION - RESTORE COMMAND -->
|
||||||
<command id="restore" name="Restore">
|
<command id="restore" name="Restore">
|
||||||
<summary>Restore a database cluster.</summary>
|
<summary>Restore a database cluster.</summary>
|
||||||
|
@ -245,9 +245,6 @@
|
|||||||
chmod 600 /root/.ssh/*
|
chmod 600 /root/.ssh/*
|
||||||
</variable>
|
</variable>
|
||||||
|
|
||||||
<variable key="minio-client-install">wget https://dl.min.io/client/mc/release/linux-amd64/mc -qO /usr/bin/mc && \
|
|
||||||
chmod 755 /usr/bin/mc</variable>
|
|
||||||
|
|
||||||
<variable key="copy-ca-cert">COPY {[fake-cert-path-relative]}/ca.crt {[ca-cert-path]}/pgbackrest-ca.crt</variable>
|
<variable key="copy-ca-cert">COPY {[fake-cert-path-relative]}/ca.crt {[ca-cert-path]}/pgbackrest-ca.crt</variable>
|
||||||
</variable-list>
|
</variable-list>
|
||||||
|
|
||||||
@ -293,8 +290,6 @@
|
|||||||
update-locale LANG=en_US.UTF-8
|
update-locale LANG=en_US.UTF-8
|
||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
|
|
||||||
RUN {[minio-client-install]}
|
|
||||||
|
|
||||||
ENTRYPOINT service ssh restart && bash
|
ENTRYPOINT service ssh restart && bash
|
||||||
</host-define>
|
</host-define>
|
||||||
|
|
||||||
@ -324,8 +319,6 @@
|
|||||||
RUN adduser -n {[host-user]} && \
|
RUN adduser -n {[host-user]} && \
|
||||||
echo '{[host-user]} ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/{[host-user]}
|
echo '{[host-user]} ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/{[host-user]}
|
||||||
|
|
||||||
RUN {[minio-client-install]}
|
|
||||||
|
|
||||||
ENTRYPOINT /usr/sbin/sshd -D
|
ENTRYPOINT /usr/sbin/sshd -D
|
||||||
</host-define>
|
</host-define>
|
||||||
|
|
||||||
@ -375,8 +368,6 @@
|
|||||||
ln -s /usr/lib/systemd/system/systemd-user-sessions.service \
|
ln -s /usr/lib/systemd/system/systemd-user-sessions.service \
|
||||||
/etc/systemd/system/default.target.wants/systemd-user-sessions.service
|
/etc/systemd/system/default.target.wants/systemd-user-sessions.service
|
||||||
|
|
||||||
RUN {[minio-client-install]}
|
|
||||||
|
|
||||||
CMD ["/usr/sbin/init"]
|
CMD ["/usr/sbin/init"]
|
||||||
</host-define>
|
</host-define>
|
||||||
|
|
||||||
@ -592,23 +583,6 @@
|
|||||||
<block-define id="s3-setup">
|
<block-define id="s3-setup">
|
||||||
<p><backrest/> supports locating repositories in <proper>S3-compatible</proper> object stores. The bucket used to store the repository must be created in advance &mdash; <backrest/> will not do it automatically. The repository can be located in the bucket root (<path>/</path>) but it's usually best to place it in a subpath so object store logs or other data can also be stored in the bucket without conflicts.</p>
|
<p><backrest/> supports locating repositories in <proper>S3-compatible</proper> object stores. The bucket used to store the repository must be created in advance &mdash; <backrest/> will not do it automatically. The repository can be located in the bucket root (<path>/</path>) but it's usually best to place it in a subpath so object store logs or other data can also be stored in the bucket without conflicts.</p>
|
||||||
|
|
||||||
<execute-list if="'{[s3-local]}' eq 'y'" host="{[s3-setup-host]}" show="n">
|
|
||||||
<title>Create the bucket</title>
|
|
||||||
|
|
||||||
<!-- Set host entries to redirect AWS to local s3 server -->
|
|
||||||
<execute user="root" user-force="y" show="n">
|
|
||||||
<exe-cmd>echo "{[host-s3-ip]} {[s3-bucket]}.{[s3-endpoint]} {[s3-endpoint]}" | tee -a /etc/hosts</exe-cmd>
|
|
||||||
</execute>
|
|
||||||
|
|
||||||
<execute show='n'>
|
|
||||||
<exe-cmd>mc config host add demo https://{[host-s3-ip]} {[s3-key]} {[s3-key-secret]} --insecure</exe-cmd>
|
|
||||||
</execute>
|
|
||||||
|
|
||||||
<execute if="'{[s3-setup-create-bucket]}' eq 'y'" show='n'>
|
|
||||||
<exe-cmd>mc mb demo/{[s3-bucket]} --insecure</exe-cmd>
|
|
||||||
</execute>
|
|
||||||
</execute-list>
|
|
||||||
|
|
||||||
<backrest-config host="{[s3-setup-host]}" file="{[backrest-config-demo]}" owner="{[s3-setup-config-owner]}">
|
<backrest-config host="{[s3-setup-host]}" file="{[backrest-config-demo]}" owner="{[s3-setup-config-owner]}">
|
||||||
<title>Configure <proper>S3</proper></title>
|
<title>Configure <proper>S3</proper></title>
|
||||||
|
|
||||||
@ -623,6 +597,19 @@
|
|||||||
<backrest-config-option section="global" key="process-max">4</backrest-config-option>
|
<backrest-config-option section="global" key="process-max">4</backrest-config-option>
|
||||||
</backrest-config>
|
</backrest-config>
|
||||||
|
|
||||||
|
<execute-list if="'{[s3-local]}' eq 'y'" host="{[s3-setup-host]}" show="n">
|
||||||
|
<title>Create the bucket</title>
|
||||||
|
|
||||||
|
<!-- Set host entries to redirect AWS to local s3 server -->
|
||||||
|
<execute user="root" user-force="y" show="n">
|
||||||
|
<exe-cmd>echo "{[host-s3-ip]} {[s3-bucket]}.{[s3-endpoint]} {[s3-endpoint]}" | tee -a /etc/hosts</exe-cmd>
|
||||||
|
</execute>
|
||||||
|
|
||||||
|
<execute user="{[s3-setup-user]}" if="'{[s3-setup-create-bucket]}' eq 'y'" show='n'>
|
||||||
|
<exe-cmd>{[project-exe]} repo-create</exe-cmd>
|
||||||
|
</execute>
|
||||||
|
</execute-list>
|
||||||
|
|
||||||
<admonition type="note">The region and endpoint will need to be configured to where the bucket is located. The values given here are for the <id>{[s3-region]}</id> region.</admonition>
|
<admonition type="note">The region and endpoint will need to be configured to where the bucket is located. The values given here are for the <id>{[s3-region]}</id> region.</admonition>
|
||||||
</block-define>
|
</block-define>
|
||||||
|
|
||||||
@ -1036,6 +1023,7 @@
|
|||||||
|
|
||||||
<block id="s3-setup">
|
<block id="s3-setup">
|
||||||
<block-variable-replace key="s3-setup-host">{[host-pg1]}</block-variable-replace>
|
<block-variable-replace key="s3-setup-host">{[host-pg1]}</block-variable-replace>
|
||||||
|
<block-variable-replace key="s3-setup-user">postgres</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-config-owner">postgres:postgres</block-variable-replace>
|
<block-variable-replace key="s3-setup-config-owner">postgres:postgres</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-create-bucket">y</block-variable-replace>
|
<block-variable-replace key="s3-setup-create-bucket">y</block-variable-replace>
|
||||||
</block>
|
</block>
|
||||||
@ -2066,6 +2054,7 @@
|
|||||||
|
|
||||||
<block id="s3-setup">
|
<block id="s3-setup">
|
||||||
<block-variable-replace key="s3-setup-host">{[host-pg1]}</block-variable-replace>
|
<block-variable-replace key="s3-setup-host">{[host-pg1]}</block-variable-replace>
|
||||||
|
<block-variable-replace key="s3-setup-user">postgres</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-config-owner">postgres:postgres</block-variable-replace>
|
<block-variable-replace key="s3-setup-config-owner">postgres:postgres</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-create-bucket">y</block-variable-replace>
|
<block-variable-replace key="s3-setup-create-bucket">y</block-variable-replace>
|
||||||
</block>
|
</block>
|
||||||
@ -2330,6 +2319,7 @@
|
|||||||
|
|
||||||
<block id="s3-setup" if="'{[s3-all]}' eq 'y'">
|
<block id="s3-setup" if="'{[s3-all]}' eq 'y'">
|
||||||
<block-variable-replace key="s3-setup-host">{[host-repo1]}</block-variable-replace>
|
<block-variable-replace key="s3-setup-host">{[host-repo1]}</block-variable-replace>
|
||||||
|
<block-variable-replace key="s3-setup-user">{[br-user]}</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-config-owner">{[br-user]}:{[br-group]}</block-variable-replace>
|
<block-variable-replace key="s3-setup-config-owner">{[br-user]}:{[br-group]}</block-variable-replace>
|
||||||
<block-variable-replace key="s3-setup-create-bucket">n</block-variable-replace>
|
<block-variable-replace key="s3-setup-create-bucket">n</block-variable-replace>
|
||||||
</block>
|
</block>
|
||||||
|
@ -123,7 +123,11 @@ sub libcAutoExportTag
|
|||||||
'CFGCMD_EXPIRE',
|
'CFGCMD_EXPIRE',
|
||||||
'CFGCMD_HELP',
|
'CFGCMD_HELP',
|
||||||
'CFGCMD_INFO',
|
'CFGCMD_INFO',
|
||||||
|
'CFGCMD_REPO_CREATE',
|
||||||
|
'CFGCMD_REPO_GET',
|
||||||
'CFGCMD_REPO_LS',
|
'CFGCMD_REPO_LS',
|
||||||
|
'CFGCMD_REPO_PUT',
|
||||||
|
'CFGCMD_REPO_RM',
|
||||||
'CFGCMD_RESTORE',
|
'CFGCMD_RESTORE',
|
||||||
'CFGCMD_STANZA_CREATE',
|
'CFGCMD_STANZA_CREATE',
|
||||||
'CFGCMD_STANZA_DELETE',
|
'CFGCMD_STANZA_DELETE',
|
||||||
@ -140,6 +144,7 @@ sub libcAutoExportTag
|
|||||||
'CFGOPT_BACKUP_STANDBY',
|
'CFGOPT_BACKUP_STANDBY',
|
||||||
'CFGOPT_BUFFER_SIZE',
|
'CFGOPT_BUFFER_SIZE',
|
||||||
'CFGOPT_CHECKSUM_PAGE',
|
'CFGOPT_CHECKSUM_PAGE',
|
||||||
|
'CFGOPT_CIPHER_PASS',
|
||||||
'CFGOPT_CMD_SSH',
|
'CFGOPT_CMD_SSH',
|
||||||
'CFGOPT_COMPRESS',
|
'CFGOPT_COMPRESS',
|
||||||
'CFGOPT_COMPRESS_LEVEL',
|
'CFGOPT_COMPRESS_LEVEL',
|
||||||
@ -155,6 +160,7 @@ sub libcAutoExportTag
|
|||||||
'CFGOPT_FILTER',
|
'CFGOPT_FILTER',
|
||||||
'CFGOPT_FORCE',
|
'CFGOPT_FORCE',
|
||||||
'CFGOPT_HOST_ID',
|
'CFGOPT_HOST_ID',
|
||||||
|
'CFGOPT_IGNORE_MISSING',
|
||||||
'CFGOPT_LINK_ALL',
|
'CFGOPT_LINK_ALL',
|
||||||
'CFGOPT_LINK_MAP',
|
'CFGOPT_LINK_MAP',
|
||||||
'CFGOPT_LOCK_PATH',
|
'CFGOPT_LOCK_PATH',
|
||||||
@ -259,6 +265,7 @@ sub libcAutoExportTag
|
|||||||
'CFGOPT_PROCESS',
|
'CFGOPT_PROCESS',
|
||||||
'CFGOPT_PROCESS_MAX',
|
'CFGOPT_PROCESS_MAX',
|
||||||
'CFGOPT_PROTOCOL_TIMEOUT',
|
'CFGOPT_PROTOCOL_TIMEOUT',
|
||||||
|
'CFGOPT_RAW',
|
||||||
'CFGOPT_RECOVERY_OPTION',
|
'CFGOPT_RECOVERY_OPTION',
|
||||||
'CFGOPT_RECURSE',
|
'CFGOPT_RECURSE',
|
||||||
'CFGOPT_REMOTE_TYPE',
|
'CFGOPT_REMOTE_TYPE',
|
||||||
|
@ -66,7 +66,11 @@ SRCS = \
|
|||||||
command/control/start.c \
|
command/control/start.c \
|
||||||
command/control/stop.c \
|
command/control/stop.c \
|
||||||
command/local/local.c \
|
command/local/local.c \
|
||||||
|
command/repo/create.c \
|
||||||
|
command/repo/get.c \
|
||||||
command/repo/ls.c \
|
command/repo/ls.c \
|
||||||
|
command/repo/put.c \
|
||||||
|
command/repo/rm.c \
|
||||||
command/restore/file.c \
|
command/restore/file.c \
|
||||||
command/restore/protocol.c \
|
command/restore/protocol.c \
|
||||||
command/restore/restore.c \
|
command/restore/restore.c \
|
||||||
@ -282,9 +286,21 @@ command/local/local.o: command/local/local.c build.auto.h command/archive/get/pr
|
|||||||
command/remote/remote.o: command/remote/remote.c build.auto.h command/control/common.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleRead.h common/io/handleWrite.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h config/protocol.h db/protocol.h protocol/client.h protocol/command.h protocol/helper.h protocol/server.h storage/remote/protocol.h
|
command/remote/remote.o: command/remote/remote.c build.auto.h command/control/common.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleRead.h common/io/handleWrite.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h config/protocol.h db/protocol.h protocol/client.h protocol/command.h protocol/helper.h protocol/server.h storage/remote/protocol.h
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/remote/remote.c -o command/remote/remote.o
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/remote/remote.c -o command/remote/remote.o
|
||||||
|
|
||||||
|
command/repo/create.o: command/repo/create.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/http/client.h common/io/http/header.h common/io/http/query.h common/io/read.h common/io/read.intern.h common/io/write.h common/io/write.intern.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/read.intern.h storage/s3/storage.h storage/s3/storage.intern.h storage/storage.h storage/storage.intern.h storage/write.h storage/write.intern.h version.h
|
||||||
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/create.c -o command/repo/create.o
|
||||||
|
|
||||||
|
command/repo/get.o: command/repo/get.c build.auto.h common/assert.h common/crypto/cipherBlock.h common/crypto/common.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleWrite.h common/io/io.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
||||||
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/get.c -o command/repo/get.o
|
||||||
|
|
||||||
command/repo/ls.o: command/repo/ls.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleWrite.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/json.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
command/repo/ls.o: command/repo/ls.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleWrite.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/json.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/ls.c -o command/repo/ls.o
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/ls.c -o command/repo/ls.o
|
||||||
|
|
||||||
|
command/repo/put.o: command/repo/put.c build.auto.h common/assert.h common/crypto/cipherBlock.h common/crypto/common.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/handleRead.h common/io/io.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
||||||
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/put.c -o command/repo/put.o
|
||||||
|
|
||||||
|
command/repo/rm.o: command/repo/rm.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
||||||
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/repo/rm.c -o command/repo/rm.o
|
||||||
|
|
||||||
command/restore/file.o: command/restore/file.c build.auto.h command/restore/file.h common/assert.h common/compress/helper.h common/crypto/cipherBlock.h common/crypto/common.h common/crypto/hash.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/filter/size.h common/io/io.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
command/restore/file.o: command/restore/file.c build.auto.h command/restore/file.h common/assert.h common/compress/helper.h common/crypto/cipherBlock.h common/crypto/common.h common/crypto/hash.h common/debug.h common/error.auto.h common/error.h common/io/filter/filter.h common/io/filter/group.h common/io/filter/size.h common/io/io.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/restore/file.c -o command/restore/file.o
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c command/restore/file.c -o command/restore/file.o
|
||||||
|
|
||||||
@ -504,7 +520,7 @@ info/infoPg.o: info/infoPg.c build.auto.h common/assert.h common/crypto/common.h
|
|||||||
info/manifest.o: info/manifest.c build.auto.h command/backup/common.h common/assert.h common/compress/helper.h common/crypto/cipherBlock.h common/crypto/common.h common/crypto/hash.h common/debug.h common/error.auto.h common/error.h common/ini.h common/io/filter/filter.h common/io/filter/group.h common/io/read.h common/io/write.h common/log.h common/logLevel.h common/macro.h common/memContext.h common/object.h common/regExp.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/json.h common/type/keyValue.h common/type/list.h common/type/mcv.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h info/info.h info/manifest.h postgres/interface.h postgres/version.h storage/info.h storage/read.h storage/storage.h storage/write.h version.h
|
info/manifest.o: info/manifest.c build.auto.h command/backup/common.h common/assert.h common/compress/helper.h common/crypto/cipherBlock.h common/crypto/common.h common/crypto/hash.h common/debug.h common/error.auto.h common/error.h common/ini.h common/io/filter/filter.h common/io/filter/group.h common/io/read.h common/io/write.h common/log.h common/logLevel.h common/macro.h common/memContext.h common/object.h common/regExp.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/json.h common/type/keyValue.h common/type/list.h common/type/mcv.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h info/info.h info/manifest.h postgres/interface.h postgres/version.h storage/info.h storage/read.h storage/storage.h storage/write.h version.h
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c info/manifest.c -o info/manifest.o
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c info/manifest.c -o info/manifest.o
|
||||||
|
|
||||||
main.o: main.c build.auto.h command/archive/get/get.h command/archive/push/push.h command/backup/backup.h command/check/check.h command/command.h command/control/start.h command/control/stop.h command/expire/expire.h command/help/help.h command/info/info.h command/local/local.h command/remote/remote.h command/repo/ls.h command/restore/restore.h command/stanza/create.h command/stanza/delete.h command/stanza/upgrade.h common/assert.h common/debug.h common/error.auto.h common/error.h common/exit.h common/io/filter/filter.h common/io/filter/group.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h config/load.h postgres/interface.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h version.h
|
main.o: main.c build.auto.h command/archive/get/get.h command/archive/push/push.h command/backup/backup.h command/check/check.h command/command.h command/control/start.h command/control/stop.h command/expire/expire.h command/help/help.h command/info/info.h command/local/local.h command/remote/remote.h command/repo/create.h command/repo/get.h command/repo/ls.h command/repo/put.h command/repo/rm.h command/restore/restore.h command/stanza/create.h command/stanza/delete.h command/stanza/upgrade.h common/assert.h common/debug.h common/error.auto.h common/error.h common/exit.h common/io/filter/filter.h common/io/filter/group.h common/io/read.h common/io/write.h common/lock.h common/log.h common/logLevel.h common/memContext.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h config/config.auto.h config/config.h config/define.auto.h config/define.h config/load.h postgres/interface.h storage/helper.h storage/info.h storage/read.h storage/storage.h storage/write.h version.h
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c main.c -o main.o
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(CMAKE) -c main.c -o main.o
|
||||||
|
|
||||||
postgres/client.o: postgres/client.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/log.h common/logLevel.h common/macro.h common/memContext.h common/object.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h common/wait.h postgres/client.h
|
postgres/client.o: postgres/client.c build.auto.h common/assert.h common/debug.h common/error.auto.h common/error.h common/log.h common/logLevel.h common/macro.h common/memContext.h common/object.h common/stackTrace.h common/time.h common/type/buffer.h common/type/convert.h common/type/keyValue.h common/type/list.h common/type/param.h common/type/string.h common/type/stringList.h common/type/stringz.h common/type/variant.h common/type/variantList.h common/wait.h postgres/client.h
|
||||||
|
30
src/command/repo/create.c
Normal file
30
src/command/repo/create.c
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Create Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#include "build.auto.h"
|
||||||
|
|
||||||
|
#include "common/debug.h"
|
||||||
|
#include "common/log.h"
|
||||||
|
#include "common/memContext.h"
|
||||||
|
#include "config/config.h"
|
||||||
|
#include "storage/helper.h"
|
||||||
|
#include "storage/s3/storage.intern.h"
|
||||||
|
|
||||||
|
/**********************************************************************************************************************************/
|
||||||
|
void
|
||||||
|
cmdRepoCreate(void)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_VOID(logLevelDebug);
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
if (strEq(storageType(storageRepo()), STORAGE_S3_TYPE_STR))
|
||||||
|
{
|
||||||
|
storageS3Request(
|
||||||
|
(StorageS3 *)storageDriver(storageRepoWrite()), HTTP_VERB_PUT_STR, FSLASH_STR, NULL, NULL, true, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN_VOID();
|
||||||
|
}
|
13
src/command/repo/create.h
Normal file
13
src/command/repo/create.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Create Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#ifndef COMMAND_REPO_CREATE_H
|
||||||
|
#define COMMAND_REPO_CREATE_H
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Functions
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
// Create the repository (create path, bucket, etc.)
|
||||||
|
void cmdRepoCreate(void);
|
||||||
|
|
||||||
|
#endif
|
117
src/command/repo/get.c
Normal file
117
src/command/repo/get.c
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Get Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#include "build.auto.h"
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "common/crypto/cipherBlock.h"
|
||||||
|
#include "common/debug.h"
|
||||||
|
#include "common/io/handleWrite.h"
|
||||||
|
#include "common/io/io.h"
|
||||||
|
#include "common/log.h"
|
||||||
|
#include "common/memContext.h"
|
||||||
|
#include "config/config.h"
|
||||||
|
#include "storage/helper.h"
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Write source file to destination IO
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
int
|
||||||
|
storageGetProcess(IoWrite *destination)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_BEGIN(logLevelDebug)
|
||||||
|
FUNCTION_LOG_PARAM(IO_READ, destination);
|
||||||
|
FUNCTION_LOG_END();
|
||||||
|
|
||||||
|
// Get source file
|
||||||
|
const String *file = NULL;
|
||||||
|
|
||||||
|
if (strLstSize(cfgCommandParam()) == 1)
|
||||||
|
file = strLstGet(cfgCommandParam(), 0);
|
||||||
|
else
|
||||||
|
THROW(ParamRequiredError, "source file required");
|
||||||
|
|
||||||
|
// Assume the file is missing
|
||||||
|
int result = 1;
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
IoRead *source = storageReadIo(storageNewReadP(storageRepo(), file, .ignoreMissing = cfgOptionBool(cfgOptIgnoreMissing)));
|
||||||
|
|
||||||
|
// Add decryption if needed
|
||||||
|
if (!cfgOptionBool(cfgOptRaw))
|
||||||
|
{
|
||||||
|
CipherType repoCipherType = cipherType(cfgOptionStr(cfgOptRepoCipherType));
|
||||||
|
|
||||||
|
if (repoCipherType != cipherTypeNone)
|
||||||
|
{
|
||||||
|
// Check for a passphrase parameter
|
||||||
|
const String *cipherPass = cfgOptionStr(cfgOptCipherPass);
|
||||||
|
|
||||||
|
// If not passed as a parameter use the repo passphrase
|
||||||
|
if (cipherPass == NULL)
|
||||||
|
cipherPass = cfgOptionStr(cfgOptRepoCipherPass);
|
||||||
|
|
||||||
|
// Add encryption filter
|
||||||
|
cipherBlockFilterGroupAdd(ioReadFilterGroup(source), repoCipherType, cipherModeDecrypt, cipherPass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open source
|
||||||
|
if (ioReadOpen(source))
|
||||||
|
{
|
||||||
|
// Open the destination file now that we know the source exists and is readable
|
||||||
|
ioWriteOpen(destination);
|
||||||
|
|
||||||
|
// Copy data from source to destination
|
||||||
|
Buffer *buffer = bufNew(ioBufferSize());
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
ioRead(source, buffer);
|
||||||
|
ioWrite(destination, buffer);
|
||||||
|
bufUsedZero(buffer);
|
||||||
|
}
|
||||||
|
while (!ioReadEof(source));
|
||||||
|
|
||||||
|
// Close the source and destination
|
||||||
|
ioReadClose(source);
|
||||||
|
ioWriteClose(destination);
|
||||||
|
|
||||||
|
// Source file exists
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN(INT, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************************************************************************************/
|
||||||
|
int
|
||||||
|
cmdStorageGet(void)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_VOID(logLevelDebug);
|
||||||
|
|
||||||
|
// Assume the file is missing
|
||||||
|
int result = 1;
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
TRY_BEGIN()
|
||||||
|
{
|
||||||
|
result = storageGetProcess(ioHandleWriteNew(STRDEF("stdout"), STDOUT_FILENO));
|
||||||
|
}
|
||||||
|
// Ignore write errors because it's possible (even likely) that this output is being piped to something like head which
|
||||||
|
// will exit when it gets what it needs and leave us writing to a broken pipe. It would be better to just ignore the broken
|
||||||
|
// pipe error but currently we don't store system error codes.
|
||||||
|
CATCH(FileWriteError)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
TRY_END();
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN(INT, result);
|
||||||
|
}
|
13
src/command/repo/get.h
Normal file
13
src/command/repo/get.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Get Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#ifndef COMMAND_STORAGE_GET_H
|
||||||
|
#define COMMAND_STORAGE_GET_H
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Functions
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
// Get a file from the repository
|
||||||
|
int cmdStorageGet(void);
|
||||||
|
|
||||||
|
#endif
|
96
src/command/repo/put.c
Normal file
96
src/command/repo/put.c
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Put Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#include "build.auto.h"
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "common/crypto/cipherBlock.h"
|
||||||
|
#include "common/debug.h"
|
||||||
|
#include "common/io/handleRead.h"
|
||||||
|
#include "common/io/io.h"
|
||||||
|
#include "common/log.h"
|
||||||
|
#include "common/memContext.h"
|
||||||
|
#include "config/config.h"
|
||||||
|
#include "storage/helper.h"
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Write source IO to destination file
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
void
|
||||||
|
storagePutProcess(IoRead *source)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_BEGIN(logLevelDebug)
|
||||||
|
FUNCTION_LOG_PARAM(IO_READ, source);
|
||||||
|
FUNCTION_LOG_END();
|
||||||
|
|
||||||
|
// Get destination file
|
||||||
|
const String *file = NULL;
|
||||||
|
|
||||||
|
if (strLstSize(cfgCommandParam()) == 1)
|
||||||
|
file = strLstGet(cfgCommandParam(), 0);
|
||||||
|
else
|
||||||
|
THROW(ParamRequiredError, "destination file required");
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
StorageWrite *destination = storageNewWriteP(storageRepoWrite(), file);
|
||||||
|
|
||||||
|
// Add encryption if needed
|
||||||
|
if (!cfgOptionBool(cfgOptRaw))
|
||||||
|
{
|
||||||
|
CipherType repoCipherType = cipherType(cfgOptionStr(cfgOptRepoCipherType));
|
||||||
|
|
||||||
|
if (repoCipherType != cipherTypeNone)
|
||||||
|
{
|
||||||
|
// Check for a passphrase parameter
|
||||||
|
const String *cipherPass = cfgOptionStr(cfgOptCipherPass);
|
||||||
|
|
||||||
|
// If not passed as a parameter use the repo passphrase
|
||||||
|
if (cipherPass == NULL)
|
||||||
|
cipherPass = cfgOptionStr(cfgOptRepoCipherPass);
|
||||||
|
|
||||||
|
// Add encryption filter
|
||||||
|
cipherBlockFilterGroupAdd(
|
||||||
|
ioWriteFilterGroup(storageWriteIo(destination)), repoCipherType, cipherModeEncrypt, cipherPass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open source and destination
|
||||||
|
ioReadOpen(source);
|
||||||
|
ioWriteOpen(storageWriteIo(destination));
|
||||||
|
|
||||||
|
// Copy data from source to destination
|
||||||
|
Buffer *buffer = bufNew(ioBufferSize());
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
ioRead(source, buffer);
|
||||||
|
ioWrite(storageWriteIo(destination), buffer);
|
||||||
|
bufUsedZero(buffer);
|
||||||
|
}
|
||||||
|
while (!ioReadEof(source));
|
||||||
|
|
||||||
|
// Close the source and destination
|
||||||
|
ioReadClose(source);
|
||||||
|
ioWriteClose(storageWriteIo(destination));
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN_VOID();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************************************************************************************/
|
||||||
|
void
|
||||||
|
cmdStoragePut(void)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_VOID(logLevelDebug);
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
storagePutProcess(ioHandleReadNew(STRDEF("stdin"), STDIN_FILENO, IO_TIMEOUT_DEFAULT));
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN_VOID();
|
||||||
|
}
|
13
src/command/repo/put.h
Normal file
13
src/command/repo/put.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Put Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#ifndef COMMAND_STORAGE_PUT_H
|
||||||
|
#define COMMAND_STORAGE_PUT_H
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Functions
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
// Put a file into the repository
|
||||||
|
void cmdStoragePut(void);
|
||||||
|
|
||||||
|
#endif
|
49
src/command/repo/rm.c
Normal file
49
src/command/repo/rm.c
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Remove Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#include "build.auto.h"
|
||||||
|
|
||||||
|
#include "common/debug.h"
|
||||||
|
#include "common/log.h"
|
||||||
|
#include "common/memContext.h"
|
||||||
|
#include "config/config.h"
|
||||||
|
#include "storage/helper.h"
|
||||||
|
|
||||||
|
/**********************************************************************************************************************************/
|
||||||
|
void
|
||||||
|
cmdStorageRemove(void)
|
||||||
|
{
|
||||||
|
FUNCTION_LOG_VOID(logLevelDebug);
|
||||||
|
|
||||||
|
// Get path
|
||||||
|
const String *path = NULL;
|
||||||
|
|
||||||
|
if (strLstSize(cfgCommandParam()) == 1)
|
||||||
|
path = strLstGet(cfgCommandParam(), 0);
|
||||||
|
else if (strLstSize(cfgCommandParam()) > 1)
|
||||||
|
THROW(ParamInvalidError, "only one path may be specified");
|
||||||
|
|
||||||
|
MEM_CONTEXT_TEMP_BEGIN()
|
||||||
|
{
|
||||||
|
// Check if this is a file
|
||||||
|
StorageInfo info = storageInfoP(storageRepo(), path, .ignoreMissing = true);
|
||||||
|
|
||||||
|
if (info.exists && info.type == storageTypeFile)
|
||||||
|
{
|
||||||
|
storageRemoveP(storageRepoWrite(), path);
|
||||||
|
}
|
||||||
|
// Else try to remove a path
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool recurse = cfgOptionBool(cfgOptRecurse);
|
||||||
|
|
||||||
|
if (!recurse && strLstSize(storageListP(storageRepo(), path)) > 0)
|
||||||
|
THROW(OptionInvalidError, CFGOPT_RECURSE " option must be used to delete non-empty path");
|
||||||
|
|
||||||
|
storagePathRemoveP(storageRepoWrite(), path, .recurse = recurse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MEM_CONTEXT_TEMP_END();
|
||||||
|
|
||||||
|
FUNCTION_LOG_RETURN_VOID();
|
||||||
|
}
|
13
src/command/repo/rm.h
Normal file
13
src/command/repo/rm.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/***********************************************************************************************************************************
|
||||||
|
Repository Remove Command
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#ifndef COMMAND_STORAGE_REMOVE_H
|
||||||
|
#define COMMAND_STORAGE_REMOVE_H
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Functions
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
// Remove paths/files from the repository
|
||||||
|
void cmdStorageRemove(void);
|
||||||
|
|
||||||
|
#endif
|
@ -10,6 +10,11 @@ Common IO functions.
|
|||||||
|
|
||||||
#include <common/io/read.h>
|
#include <common/io/read.h>
|
||||||
|
|
||||||
|
/***********************************************************************************************************************************
|
||||||
|
Default IO timeout to use when nothing else is configured
|
||||||
|
***********************************************************************************************************************************/
|
||||||
|
#define IO_TIMEOUT_DEFAULT 60000
|
||||||
|
|
||||||
/***********************************************************************************************************************************
|
/***********************************************************************************************************************************
|
||||||
Functions
|
Functions
|
||||||
***********************************************************************************************************************************/
|
***********************************************************************************************************************************/
|
||||||
|
@ -14,7 +14,11 @@ STRING_EXTERN(CFGCMD_CHECK_STR, CFGCMD_CHECK
|
|||||||
STRING_EXTERN(CFGCMD_EXPIRE_STR, CFGCMD_EXPIRE);
|
STRING_EXTERN(CFGCMD_EXPIRE_STR, CFGCMD_EXPIRE);
|
||||||
STRING_EXTERN(CFGCMD_HELP_STR, CFGCMD_HELP);
|
STRING_EXTERN(CFGCMD_HELP_STR, CFGCMD_HELP);
|
||||||
STRING_EXTERN(CFGCMD_INFO_STR, CFGCMD_INFO);
|
STRING_EXTERN(CFGCMD_INFO_STR, CFGCMD_INFO);
|
||||||
|
STRING_EXTERN(CFGCMD_REPO_CREATE_STR, CFGCMD_REPO_CREATE);
|
||||||
|
STRING_EXTERN(CFGCMD_REPO_GET_STR, CFGCMD_REPO_GET);
|
||||||
STRING_EXTERN(CFGCMD_REPO_LS_STR, CFGCMD_REPO_LS);
|
STRING_EXTERN(CFGCMD_REPO_LS_STR, CFGCMD_REPO_LS);
|
||||||
|
STRING_EXTERN(CFGCMD_REPO_PUT_STR, CFGCMD_REPO_PUT);
|
||||||
|
STRING_EXTERN(CFGCMD_REPO_RM_STR, CFGCMD_REPO_RM);
|
||||||
STRING_EXTERN(CFGCMD_RESTORE_STR, CFGCMD_RESTORE);
|
STRING_EXTERN(CFGCMD_RESTORE_STR, CFGCMD_RESTORE);
|
||||||
STRING_EXTERN(CFGCMD_STANZA_CREATE_STR, CFGCMD_STANZA_CREATE);
|
STRING_EXTERN(CFGCMD_STANZA_CREATE_STR, CFGCMD_STANZA_CREATE);
|
||||||
STRING_EXTERN(CFGCMD_STANZA_DELETE_STR, CFGCMD_STANZA_DELETE);
|
STRING_EXTERN(CFGCMD_STANZA_DELETE_STR, CFGCMD_STANZA_DELETE);
|
||||||
@ -119,6 +123,32 @@ static ConfigCommandData configCommandData[CFG_COMMAND_TOTAL] = CONFIG_COMMAND_L
|
|||||||
CONFIG_COMMAND_PARAMETER_ALLOWED(false)
|
CONFIG_COMMAND_PARAMETER_ALLOWED(false)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CONFIG_COMMAND
|
||||||
|
(
|
||||||
|
CONFIG_COMMAND_NAME(CFGCMD_REPO_CREATE)
|
||||||
|
|
||||||
|
CONFIG_COMMAND_INTERNAL(true)
|
||||||
|
CONFIG_COMMAND_LOG_FILE(false)
|
||||||
|
CONFIG_COMMAND_LOG_LEVEL_DEFAULT(logLevelInfo)
|
||||||
|
CONFIG_COMMAND_LOCK_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_REMOTE_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_TYPE(lockTypeNone)
|
||||||
|
CONFIG_COMMAND_PARAMETER_ALLOWED(false)
|
||||||
|
)
|
||||||
|
|
||||||
|
CONFIG_COMMAND
|
||||||
|
(
|
||||||
|
CONFIG_COMMAND_NAME(CFGCMD_REPO_GET)
|
||||||
|
|
||||||
|
CONFIG_COMMAND_INTERNAL(true)
|
||||||
|
CONFIG_COMMAND_LOG_FILE(false)
|
||||||
|
CONFIG_COMMAND_LOG_LEVEL_DEFAULT(logLevelDebug)
|
||||||
|
CONFIG_COMMAND_LOCK_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_REMOTE_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_TYPE(lockTypeNone)
|
||||||
|
CONFIG_COMMAND_PARAMETER_ALLOWED(true)
|
||||||
|
)
|
||||||
|
|
||||||
CONFIG_COMMAND
|
CONFIG_COMMAND
|
||||||
(
|
(
|
||||||
CONFIG_COMMAND_NAME(CFGCMD_REPO_LS)
|
CONFIG_COMMAND_NAME(CFGCMD_REPO_LS)
|
||||||
@ -132,6 +162,32 @@ static ConfigCommandData configCommandData[CFG_COMMAND_TOTAL] = CONFIG_COMMAND_L
|
|||||||
CONFIG_COMMAND_PARAMETER_ALLOWED(true)
|
CONFIG_COMMAND_PARAMETER_ALLOWED(true)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CONFIG_COMMAND
|
||||||
|
(
|
||||||
|
CONFIG_COMMAND_NAME(CFGCMD_REPO_PUT)
|
||||||
|
|
||||||
|
CONFIG_COMMAND_INTERNAL(true)
|
||||||
|
CONFIG_COMMAND_LOG_FILE(false)
|
||||||
|
CONFIG_COMMAND_LOG_LEVEL_DEFAULT(logLevelDebug)
|
||||||
|
CONFIG_COMMAND_LOCK_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_REMOTE_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_TYPE(lockTypeNone)
|
||||||
|
CONFIG_COMMAND_PARAMETER_ALLOWED(true)
|
||||||
|
)
|
||||||
|
|
||||||
|
CONFIG_COMMAND
|
||||||
|
(
|
||||||
|
CONFIG_COMMAND_NAME(CFGCMD_REPO_RM)
|
||||||
|
|
||||||
|
CONFIG_COMMAND_INTERNAL(true)
|
||||||
|
CONFIG_COMMAND_LOG_FILE(false)
|
||||||
|
CONFIG_COMMAND_LOG_LEVEL_DEFAULT(logLevelDebug)
|
||||||
|
CONFIG_COMMAND_LOCK_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_REMOTE_REQUIRED(false)
|
||||||
|
CONFIG_COMMAND_LOCK_TYPE(lockTypeNone)
|
||||||
|
CONFIG_COMMAND_PARAMETER_ALLOWED(true)
|
||||||
|
)
|
||||||
|
|
||||||
CONFIG_COMMAND
|
CONFIG_COMMAND
|
||||||
(
|
(
|
||||||
CONFIG_COMMAND_NAME(CFGCMD_RESTORE)
|
CONFIG_COMMAND_NAME(CFGCMD_RESTORE)
|
||||||
@ -236,6 +292,7 @@ STRING_EXTERN(CFGOPT_ARCHIVE_TIMEOUT_STR, CFGOPT_ARCHI
|
|||||||
STRING_EXTERN(CFGOPT_BACKUP_STANDBY_STR, CFGOPT_BACKUP_STANDBY);
|
STRING_EXTERN(CFGOPT_BACKUP_STANDBY_STR, CFGOPT_BACKUP_STANDBY);
|
||||||
STRING_EXTERN(CFGOPT_BUFFER_SIZE_STR, CFGOPT_BUFFER_SIZE);
|
STRING_EXTERN(CFGOPT_BUFFER_SIZE_STR, CFGOPT_BUFFER_SIZE);
|
||||||
STRING_EXTERN(CFGOPT_CHECKSUM_PAGE_STR, CFGOPT_CHECKSUM_PAGE);
|
STRING_EXTERN(CFGOPT_CHECKSUM_PAGE_STR, CFGOPT_CHECKSUM_PAGE);
|
||||||
|
STRING_EXTERN(CFGOPT_CIPHER_PASS_STR, CFGOPT_CIPHER_PASS);
|
||||||
STRING_EXTERN(CFGOPT_CMD_SSH_STR, CFGOPT_CMD_SSH);
|
STRING_EXTERN(CFGOPT_CMD_SSH_STR, CFGOPT_CMD_SSH);
|
||||||
STRING_EXTERN(CFGOPT_COMPRESS_STR, CFGOPT_COMPRESS);
|
STRING_EXTERN(CFGOPT_COMPRESS_STR, CFGOPT_COMPRESS);
|
||||||
STRING_EXTERN(CFGOPT_COMPRESS_LEVEL_STR, CFGOPT_COMPRESS_LEVEL);
|
STRING_EXTERN(CFGOPT_COMPRESS_LEVEL_STR, CFGOPT_COMPRESS_LEVEL);
|
||||||
@ -251,6 +308,7 @@ STRING_EXTERN(CFGOPT_EXCLUDE_STR, CFGOPT_EXCLU
|
|||||||
STRING_EXTERN(CFGOPT_FILTER_STR, CFGOPT_FILTER);
|
STRING_EXTERN(CFGOPT_FILTER_STR, CFGOPT_FILTER);
|
||||||
STRING_EXTERN(CFGOPT_FORCE_STR, CFGOPT_FORCE);
|
STRING_EXTERN(CFGOPT_FORCE_STR, CFGOPT_FORCE);
|
||||||
STRING_EXTERN(CFGOPT_HOST_ID_STR, CFGOPT_HOST_ID);
|
STRING_EXTERN(CFGOPT_HOST_ID_STR, CFGOPT_HOST_ID);
|
||||||
|
STRING_EXTERN(CFGOPT_IGNORE_MISSING_STR, CFGOPT_IGNORE_MISSING);
|
||||||
STRING_EXTERN(CFGOPT_LINK_ALL_STR, CFGOPT_LINK_ALL);
|
STRING_EXTERN(CFGOPT_LINK_ALL_STR, CFGOPT_LINK_ALL);
|
||||||
STRING_EXTERN(CFGOPT_LINK_MAP_STR, CFGOPT_LINK_MAP);
|
STRING_EXTERN(CFGOPT_LINK_MAP_STR, CFGOPT_LINK_MAP);
|
||||||
STRING_EXTERN(CFGOPT_LOCK_PATH_STR, CFGOPT_LOCK_PATH);
|
STRING_EXTERN(CFGOPT_LOCK_PATH_STR, CFGOPT_LOCK_PATH);
|
||||||
@ -355,6 +413,7 @@ STRING_EXTERN(CFGOPT_PG8_USER_STR, CFGOPT_PG8_U
|
|||||||
STRING_EXTERN(CFGOPT_PROCESS_STR, CFGOPT_PROCESS);
|
STRING_EXTERN(CFGOPT_PROCESS_STR, CFGOPT_PROCESS);
|
||||||
STRING_EXTERN(CFGOPT_PROCESS_MAX_STR, CFGOPT_PROCESS_MAX);
|
STRING_EXTERN(CFGOPT_PROCESS_MAX_STR, CFGOPT_PROCESS_MAX);
|
||||||
STRING_EXTERN(CFGOPT_PROTOCOL_TIMEOUT_STR, CFGOPT_PROTOCOL_TIMEOUT);
|
STRING_EXTERN(CFGOPT_PROTOCOL_TIMEOUT_STR, CFGOPT_PROTOCOL_TIMEOUT);
|
||||||
|
STRING_EXTERN(CFGOPT_RAW_STR, CFGOPT_RAW);
|
||||||
STRING_EXTERN(CFGOPT_RECOVERY_OPTION_STR, CFGOPT_RECOVERY_OPTION);
|
STRING_EXTERN(CFGOPT_RECOVERY_OPTION_STR, CFGOPT_RECOVERY_OPTION);
|
||||||
STRING_EXTERN(CFGOPT_RECURSE_STR, CFGOPT_RECURSE);
|
STRING_EXTERN(CFGOPT_RECURSE_STR, CFGOPT_RECURSE);
|
||||||
STRING_EXTERN(CFGOPT_REMOTE_TYPE_STR, CFGOPT_REMOTE_TYPE);
|
STRING_EXTERN(CFGOPT_REMOTE_TYPE_STR, CFGOPT_REMOTE_TYPE);
|
||||||
@ -478,6 +537,14 @@ static ConfigOptionData configOptionData[CFG_OPTION_TOTAL] = CONFIG_OPTION_LIST
|
|||||||
CONFIG_OPTION_DEFINE_ID(cfgDefOptChecksumPage)
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptChecksumPage)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CONFIG_OPTION
|
||||||
|
(
|
||||||
|
CONFIG_OPTION_NAME(CFGOPT_CIPHER_PASS)
|
||||||
|
CONFIG_OPTION_INDEX(0)
|
||||||
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptCipherPass)
|
||||||
|
)
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
CONFIG_OPTION
|
CONFIG_OPTION
|
||||||
(
|
(
|
||||||
@ -598,6 +665,14 @@ static ConfigOptionData configOptionData[CFG_OPTION_TOTAL] = CONFIG_OPTION_LIST
|
|||||||
CONFIG_OPTION_DEFINE_ID(cfgDefOptHostId)
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptHostId)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CONFIG_OPTION
|
||||||
|
(
|
||||||
|
CONFIG_OPTION_NAME(CFGOPT_IGNORE_MISSING)
|
||||||
|
CONFIG_OPTION_INDEX(0)
|
||||||
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptIgnoreMissing)
|
||||||
|
)
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
CONFIG_OPTION
|
CONFIG_OPTION
|
||||||
(
|
(
|
||||||
@ -1430,6 +1505,14 @@ static ConfigOptionData configOptionData[CFG_OPTION_TOTAL] = CONFIG_OPTION_LIST
|
|||||||
CONFIG_OPTION_DEFINE_ID(cfgDefOptProtocolTimeout)
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptProtocolTimeout)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CONFIG_OPTION
|
||||||
|
(
|
||||||
|
CONFIG_OPTION_NAME(CFGOPT_RAW)
|
||||||
|
CONFIG_OPTION_INDEX(0)
|
||||||
|
CONFIG_OPTION_DEFINE_ID(cfgDefOptRaw)
|
||||||
|
)
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
CONFIG_OPTION
|
CONFIG_OPTION
|
||||||
(
|
(
|
||||||
|
@ -23,8 +23,16 @@ Command constants
|
|||||||
STRING_DECLARE(CFGCMD_HELP_STR);
|
STRING_DECLARE(CFGCMD_HELP_STR);
|
||||||
#define CFGCMD_INFO "info"
|
#define CFGCMD_INFO "info"
|
||||||
STRING_DECLARE(CFGCMD_INFO_STR);
|
STRING_DECLARE(CFGCMD_INFO_STR);
|
||||||
|
#define CFGCMD_REPO_CREATE "repo-create"
|
||||||
|
STRING_DECLARE(CFGCMD_REPO_CREATE_STR);
|
||||||
|
#define CFGCMD_REPO_GET "repo-get"
|
||||||
|
STRING_DECLARE(CFGCMD_REPO_GET_STR);
|
||||||
#define CFGCMD_REPO_LS "repo-ls"
|
#define CFGCMD_REPO_LS "repo-ls"
|
||||||
STRING_DECLARE(CFGCMD_REPO_LS_STR);
|
STRING_DECLARE(CFGCMD_REPO_LS_STR);
|
||||||
|
#define CFGCMD_REPO_PUT "repo-put"
|
||||||
|
STRING_DECLARE(CFGCMD_REPO_PUT_STR);
|
||||||
|
#define CFGCMD_REPO_RM "repo-rm"
|
||||||
|
STRING_DECLARE(CFGCMD_REPO_RM_STR);
|
||||||
#define CFGCMD_RESTORE "restore"
|
#define CFGCMD_RESTORE "restore"
|
||||||
STRING_DECLARE(CFGCMD_RESTORE_STR);
|
STRING_DECLARE(CFGCMD_RESTORE_STR);
|
||||||
#define CFGCMD_STANZA_CREATE "stanza-create"
|
#define CFGCMD_STANZA_CREATE "stanza-create"
|
||||||
@ -40,7 +48,7 @@ Command constants
|
|||||||
#define CFGCMD_VERSION "version"
|
#define CFGCMD_VERSION "version"
|
||||||
STRING_DECLARE(CFGCMD_VERSION_STR);
|
STRING_DECLARE(CFGCMD_VERSION_STR);
|
||||||
|
|
||||||
#define CFG_COMMAND_TOTAL 16
|
#define CFG_COMMAND_TOTAL 20
|
||||||
|
|
||||||
/***********************************************************************************************************************************
|
/***********************************************************************************************************************************
|
||||||
Option constants
|
Option constants
|
||||||
@ -63,6 +71,8 @@ Option constants
|
|||||||
STRING_DECLARE(CFGOPT_BUFFER_SIZE_STR);
|
STRING_DECLARE(CFGOPT_BUFFER_SIZE_STR);
|
||||||
#define CFGOPT_CHECKSUM_PAGE "checksum-page"
|
#define CFGOPT_CHECKSUM_PAGE "checksum-page"
|
||||||
STRING_DECLARE(CFGOPT_CHECKSUM_PAGE_STR);
|
STRING_DECLARE(CFGOPT_CHECKSUM_PAGE_STR);
|
||||||
|
#define CFGOPT_CIPHER_PASS "cipher-pass"
|
||||||
|
STRING_DECLARE(CFGOPT_CIPHER_PASS_STR);
|
||||||
#define CFGOPT_CMD_SSH "cmd-ssh"
|
#define CFGOPT_CMD_SSH "cmd-ssh"
|
||||||
STRING_DECLARE(CFGOPT_CMD_SSH_STR);
|
STRING_DECLARE(CFGOPT_CMD_SSH_STR);
|
||||||
#define CFGOPT_COMPRESS "compress"
|
#define CFGOPT_COMPRESS "compress"
|
||||||
@ -93,6 +103,8 @@ Option constants
|
|||||||
STRING_DECLARE(CFGOPT_FORCE_STR);
|
STRING_DECLARE(CFGOPT_FORCE_STR);
|
||||||
#define CFGOPT_HOST_ID "host-id"
|
#define CFGOPT_HOST_ID "host-id"
|
||||||
STRING_DECLARE(CFGOPT_HOST_ID_STR);
|
STRING_DECLARE(CFGOPT_HOST_ID_STR);
|
||||||
|
#define CFGOPT_IGNORE_MISSING "ignore-missing"
|
||||||
|
STRING_DECLARE(CFGOPT_IGNORE_MISSING_STR);
|
||||||
#define CFGOPT_LINK_ALL "link-all"
|
#define CFGOPT_LINK_ALL "link-all"
|
||||||
STRING_DECLARE(CFGOPT_LINK_ALL_STR);
|
STRING_DECLARE(CFGOPT_LINK_ALL_STR);
|
||||||
#define CFGOPT_LINK_MAP "link-map"
|
#define CFGOPT_LINK_MAP "link-map"
|
||||||
@ -301,6 +313,8 @@ Option constants
|
|||||||
STRING_DECLARE(CFGOPT_PROCESS_MAX_STR);
|
STRING_DECLARE(CFGOPT_PROCESS_MAX_STR);
|
||||||
#define CFGOPT_PROTOCOL_TIMEOUT "protocol-timeout"
|
#define CFGOPT_PROTOCOL_TIMEOUT "protocol-timeout"
|
||||||
STRING_DECLARE(CFGOPT_PROTOCOL_TIMEOUT_STR);
|
STRING_DECLARE(CFGOPT_PROTOCOL_TIMEOUT_STR);
|
||||||
|
#define CFGOPT_RAW "raw"
|
||||||
|
STRING_DECLARE(CFGOPT_RAW_STR);
|
||||||
#define CFGOPT_RECOVERY_OPTION "recovery-option"
|
#define CFGOPT_RECOVERY_OPTION "recovery-option"
|
||||||
STRING_DECLARE(CFGOPT_RECOVERY_OPTION_STR);
|
STRING_DECLARE(CFGOPT_RECOVERY_OPTION_STR);
|
||||||
#define CFGOPT_RECURSE "recurse"
|
#define CFGOPT_RECURSE "recurse"
|
||||||
@ -392,7 +406,7 @@ Option constants
|
|||||||
#define CFGOPT_TYPE "type"
|
#define CFGOPT_TYPE "type"
|
||||||
STRING_DECLARE(CFGOPT_TYPE_STR);
|
STRING_DECLARE(CFGOPT_TYPE_STR);
|
||||||
|
|
||||||
#define CFG_OPTION_TOTAL 173
|
#define CFG_OPTION_TOTAL 176
|
||||||
|
|
||||||
/***********************************************************************************************************************************
|
/***********************************************************************************************************************************
|
||||||
Command enum
|
Command enum
|
||||||
@ -406,7 +420,11 @@ typedef enum
|
|||||||
cfgCmdExpire,
|
cfgCmdExpire,
|
||||||
cfgCmdHelp,
|
cfgCmdHelp,
|
||||||
cfgCmdInfo,
|
cfgCmdInfo,
|
||||||
|
cfgCmdRepoCreate,
|
||||||
|
cfgCmdRepoGet,
|
||||||
cfgCmdRepoLs,
|
cfgCmdRepoLs,
|
||||||
|
cfgCmdRepoPut,
|
||||||
|
cfgCmdRepoRm,
|
||||||
cfgCmdRestore,
|
cfgCmdRestore,
|
||||||
cfgCmdStanzaCreate,
|
cfgCmdStanzaCreate,
|
||||||
cfgCmdStanzaDelete,
|
cfgCmdStanzaDelete,
|
||||||
@ -431,6 +449,7 @@ typedef enum
|
|||||||
cfgOptBackupStandby,
|
cfgOptBackupStandby,
|
||||||
cfgOptBufferSize,
|
cfgOptBufferSize,
|
||||||
cfgOptChecksumPage,
|
cfgOptChecksumPage,
|
||||||
|
cfgOptCipherPass,
|
||||||
cfgOptCmdSsh,
|
cfgOptCmdSsh,
|
||||||
cfgOptCompress,
|
cfgOptCompress,
|
||||||
cfgOptCompressLevel,
|
cfgOptCompressLevel,
|
||||||
@ -446,6 +465,7 @@ typedef enum
|
|||||||
cfgOptFilter,
|
cfgOptFilter,
|
||||||
cfgOptForce,
|
cfgOptForce,
|
||||||
cfgOptHostId,
|
cfgOptHostId,
|
||||||
|
cfgOptIgnoreMissing,
|
||||||
cfgOptLinkAll,
|
cfgOptLinkAll,
|
||||||
cfgOptLinkMap,
|
cfgOptLinkMap,
|
||||||
cfgOptLockPath,
|
cfgOptLockPath,
|
||||||
@ -550,6 +570,7 @@ typedef enum
|
|||||||
cfgOptProcess,
|
cfgOptProcess,
|
||||||
cfgOptProcessMax,
|
cfgOptProcessMax,
|
||||||
cfgOptProtocolTimeout,
|
cfgOptProtocolTimeout,
|
||||||
|
cfgOptRaw,
|
||||||
cfgOptRecoveryOption,
|
cfgOptRecoveryOption,
|
||||||
cfgOptRecurse,
|
cfgOptRecurse,
|
||||||
cfgOptRemoteType,
|
cfgOptRemoteType,
|
||||||
|
@ -105,6 +105,30 @@ static ConfigDefineCommandData configDefineCommandData[] = CFGDEFDATA_COMMAND_LI
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND
|
||||||
|
(
|
||||||
|
CFGDEFDATA_COMMAND_NAME("repo-create")
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND_HELP_SUMMARY("Create the repository.")
|
||||||
|
CFGDEFDATA_COMMAND_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Creates the bucket if repo-type=s3.\n"
|
||||||
|
"\n"
|
||||||
|
"FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND
|
||||||
|
(
|
||||||
|
CFGDEFDATA_COMMAND_NAME("repo-get")
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND_HELP_SUMMARY("Get a file from the repository.")
|
||||||
|
CFGDEFDATA_COMMAND_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Similar to the unix cat command but options are different."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
CFGDEFDATA_COMMAND
|
CFGDEFDATA_COMMAND
|
||||||
(
|
(
|
||||||
CFGDEFDATA_COMMAND_NAME("repo-ls")
|
CFGDEFDATA_COMMAND_NAME("repo-ls")
|
||||||
@ -117,6 +141,32 @@ static ConfigDefineCommandData configDefineCommandData[] = CFGDEFDATA_COMMAND_LI
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND
|
||||||
|
(
|
||||||
|
CFGDEFDATA_COMMAND_NAME("repo-put")
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND_HELP_SUMMARY("Put a file in the repository.")
|
||||||
|
CFGDEFDATA_COMMAND_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Similar to the unix tee command but options and behavior are different.\n"
|
||||||
|
"\n"
|
||||||
|
"FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND
|
||||||
|
(
|
||||||
|
CFGDEFDATA_COMMAND_NAME("repo-rm")
|
||||||
|
|
||||||
|
CFGDEFDATA_COMMAND_HELP_SUMMARY("Remove paths/files in the repository.")
|
||||||
|
CFGDEFDATA_COMMAND_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Similar to the unix rm command but options are different.\n"
|
||||||
|
"\n"
|
||||||
|
"FOR INTERNAL USE ONLY. DO NOT USE ON A PRODUCTION REPOSITORY."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
CFGDEFDATA_COMMAND
|
CFGDEFDATA_COMMAND
|
||||||
(
|
(
|
||||||
CFGDEFDATA_COMMAND_NAME("restore")
|
CFGDEFDATA_COMMAND_NAME("restore")
|
||||||
@ -529,7 +579,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -586,6 +640,25 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CFGDEFDATA_OPTION
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_NAME("cipher-pass")
|
||||||
|
CFGDEFDATA_OPTION_REQUIRED(false)
|
||||||
|
CFGDEFDATA_OPTION_SECTION(cfgDefSectionCommandLine)
|
||||||
|
CFGDEFDATA_OPTION_TYPE(cfgDefOptTypeString)
|
||||||
|
CFGDEFDATA_OPTION_INTERNAL(true)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_INDEX_TOTAL(1)
|
||||||
|
CFGDEFDATA_OPTION_SECURE(false)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_COMMAND_LIST
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
CFGDEFDATA_OPTION
|
CFGDEFDATA_OPTION
|
||||||
(
|
(
|
||||||
@ -613,7 +686,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -721,7 +798,9 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -801,7 +880,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -844,7 +927,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -890,7 +977,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -964,7 +1055,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaUpgrade)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaUpgrade)
|
||||||
@ -1215,6 +1310,40 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CFGDEFDATA_OPTION
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_NAME("ignore-missing")
|
||||||
|
CFGDEFDATA_OPTION_REQUIRED(true)
|
||||||
|
CFGDEFDATA_OPTION_SECTION(cfgDefSectionCommandLine)
|
||||||
|
CFGDEFDATA_OPTION_TYPE(cfgDefOptTypeBoolean)
|
||||||
|
CFGDEFDATA_OPTION_INTERNAL(false)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_INDEX_TOTAL(1)
|
||||||
|
CFGDEFDATA_OPTION_SECURE(false)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_COMMAND_LIST
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_LIST
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_DEFAULT("0")
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_HELP_SUMMARY("Ignore missing source file.")
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Exit with 1 if the source file is missing but don't throw an error."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
CFGDEFDATA_OPTION
|
CFGDEFDATA_OPTION
|
||||||
(
|
(
|
||||||
@ -1350,7 +1479,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1411,7 +1544,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1475,7 +1612,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1529,7 +1670,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1571,7 +1716,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1614,7 +1763,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -1695,7 +1848,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2333,7 +2490,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2409,7 +2570,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2423,6 +2588,37 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
CFGDEFDATA_OPTION
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_NAME("raw")
|
||||||
|
CFGDEFDATA_OPTION_REQUIRED(true)
|
||||||
|
CFGDEFDATA_OPTION_SECTION(cfgDefSectionCommandLine)
|
||||||
|
CFGDEFDATA_OPTION_TYPE(cfgDefOptTypeBoolean)
|
||||||
|
CFGDEFDATA_OPTION_INTERNAL(false)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_INDEX_TOTAL(1)
|
||||||
|
CFGDEFDATA_OPTION_SECURE(false)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_HELP_SECTION("general")
|
||||||
|
CFGDEFDATA_OPTION_HELP_SUMMARY("Do not transform data.")
|
||||||
|
CFGDEFDATA_OPTION_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"Do not transform (i.e, encrypt, decompress, etc.) data for the current command."
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_COMMAND_LIST
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_LIST
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_DEFAULT("0")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
CFGDEFDATA_OPTION
|
CFGDEFDATA_OPTION
|
||||||
(
|
(
|
||||||
@ -2485,6 +2681,7 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND_LIST
|
CFGDEFDATA_OPTION_COMMAND_LIST
|
||||||
(
|
(
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
)
|
)
|
||||||
|
|
||||||
CFGDEFDATA_OPTION_OPTIONAL_LIST
|
CFGDEFDATA_OPTION_OPTIONAL_LIST
|
||||||
@ -2501,6 +2698,17 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
"All subpaths and their files will be included in the output."
|
"All subpaths and their files will be included in the output."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoRm)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_HELP_SUMMARY("Remove all sub file/paths.")
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_HELP_DESCRIPTION
|
||||||
|
(
|
||||||
|
"All subpaths and their files will be removed."
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -2523,7 +2731,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2567,7 +2779,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2620,7 +2836,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2705,7 +2925,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -2782,7 +3006,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -2822,7 +3050,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -2863,7 +3095,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -2903,7 +3139,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -2942,7 +3182,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -2985,7 +3229,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdArchivePush)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStart)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStop)
|
||||||
@ -3032,7 +3280,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3236,7 +3488,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3284,7 +3540,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3332,7 +3592,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3380,7 +3644,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3428,7 +3696,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3476,7 +3748,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3524,7 +3800,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3572,7 +3852,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3622,7 +3906,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3670,7 +3958,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3721,7 +4013,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3777,7 +4073,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -3831,7 +4131,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -4085,6 +4389,11 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdExpire)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdInfo)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRepoRm)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdRestore)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
|
||||||
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaDelete)
|
||||||
@ -4102,6 +4411,41 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
|
|||||||
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoCreate)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoGet)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoLs)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoPut)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
|
)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
|
(
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdRepoRm)
|
||||||
|
|
||||||
|
CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(false)
|
||||||
|
)
|
||||||
|
|
||||||
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRIDE
|
||||||
(
|
(
|
||||||
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdStart)
|
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdStart)
|
||||||
|
@ -18,7 +18,11 @@ typedef enum
|
|||||||
cfgDefCmdExpire,
|
cfgDefCmdExpire,
|
||||||
cfgDefCmdHelp,
|
cfgDefCmdHelp,
|
||||||
cfgDefCmdInfo,
|
cfgDefCmdInfo,
|
||||||
|
cfgDefCmdRepoCreate,
|
||||||
|
cfgDefCmdRepoGet,
|
||||||
cfgDefCmdRepoLs,
|
cfgDefCmdRepoLs,
|
||||||
|
cfgDefCmdRepoPut,
|
||||||
|
cfgDefCmdRepoRm,
|
||||||
cfgDefCmdRestore,
|
cfgDefCmdRestore,
|
||||||
cfgDefCmdStanzaCreate,
|
cfgDefCmdStanzaCreate,
|
||||||
cfgDefCmdStanzaDelete,
|
cfgDefCmdStanzaDelete,
|
||||||
@ -57,6 +61,7 @@ typedef enum
|
|||||||
cfgDefOptBackupStandby,
|
cfgDefOptBackupStandby,
|
||||||
cfgDefOptBufferSize,
|
cfgDefOptBufferSize,
|
||||||
cfgDefOptChecksumPage,
|
cfgDefOptChecksumPage,
|
||||||
|
cfgDefOptCipherPass,
|
||||||
cfgDefOptCmdSsh,
|
cfgDefOptCmdSsh,
|
||||||
cfgDefOptCompress,
|
cfgDefOptCompress,
|
||||||
cfgDefOptCompressLevel,
|
cfgDefOptCompressLevel,
|
||||||
@ -72,6 +77,7 @@ typedef enum
|
|||||||
cfgDefOptFilter,
|
cfgDefOptFilter,
|
||||||
cfgDefOptForce,
|
cfgDefOptForce,
|
||||||
cfgDefOptHostId,
|
cfgDefOptHostId,
|
||||||
|
cfgDefOptIgnoreMissing,
|
||||||
cfgDefOptLinkAll,
|
cfgDefOptLinkAll,
|
||||||
cfgDefOptLinkMap,
|
cfgDefOptLinkMap,
|
||||||
cfgDefOptLockPath,
|
cfgDefOptLockPath,
|
||||||
@ -99,6 +105,7 @@ typedef enum
|
|||||||
cfgDefOptProcess,
|
cfgDefOptProcess,
|
||||||
cfgDefOptProcessMax,
|
cfgDefOptProcessMax,
|
||||||
cfgDefOptProtocolTimeout,
|
cfgDefOptProtocolTimeout,
|
||||||
|
cfgDefOptRaw,
|
||||||
cfgDefOptRecoveryOption,
|
cfgDefOptRecoveryOption,
|
||||||
cfgDefOptRecurse,
|
cfgDefOptRecurse,
|
||||||
cfgDefOptRemoteType,
|
cfgDefOptRemoteType,
|
||||||
|
@ -141,6 +141,14 @@ static const struct option optionList[] =
|
|||||||
.val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | cfgOptChecksumPage,
|
.val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | cfgOptChecksumPage,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// cipher-pass option
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
.name = CFGOPT_CIPHER_PASS,
|
||||||
|
.has_arg = required_argument,
|
||||||
|
.val = PARSE_OPTION_FLAG | cfgOptCipherPass,
|
||||||
|
},
|
||||||
|
|
||||||
// cmd-ssh option
|
// cmd-ssh option
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
@ -306,6 +314,13 @@ static const struct option optionList[] =
|
|||||||
.val = PARSE_OPTION_FLAG | cfgOptHostId,
|
.val = PARSE_OPTION_FLAG | cfgOptHostId,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// ignore-missing option
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
.name = CFGOPT_IGNORE_MISSING,
|
||||||
|
.val = PARSE_OPTION_FLAG | cfgOptIgnoreMissing,
|
||||||
|
},
|
||||||
|
|
||||||
// link-all option
|
// link-all option
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
@ -1686,6 +1701,13 @@ static const struct option optionList[] =
|
|||||||
.val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | cfgOptProtocolTimeout,
|
.val = PARSE_OPTION_FLAG | PARSE_RESET_FLAG | cfgOptProtocolTimeout,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// raw option
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
.name = CFGOPT_RAW,
|
||||||
|
.val = PARSE_OPTION_FLAG | cfgOptRaw,
|
||||||
|
},
|
||||||
|
|
||||||
// recovery-option option
|
// recovery-option option
|
||||||
// -----------------------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
@ -2346,6 +2368,7 @@ static const ConfigOption optionResolveOrder[] =
|
|||||||
cfgOptBackupStandby,
|
cfgOptBackupStandby,
|
||||||
cfgOptBufferSize,
|
cfgOptBufferSize,
|
||||||
cfgOptChecksumPage,
|
cfgOptChecksumPage,
|
||||||
|
cfgOptCipherPass,
|
||||||
cfgOptCmdSsh,
|
cfgOptCmdSsh,
|
||||||
cfgOptCompress,
|
cfgOptCompress,
|
||||||
cfgOptCompressLevel,
|
cfgOptCompressLevel,
|
||||||
@ -2360,6 +2383,7 @@ static const ConfigOption optionResolveOrder[] =
|
|||||||
cfgOptExclude,
|
cfgOptExclude,
|
||||||
cfgOptFilter,
|
cfgOptFilter,
|
||||||
cfgOptHostId,
|
cfgOptHostId,
|
||||||
|
cfgOptIgnoreMissing,
|
||||||
cfgOptLinkAll,
|
cfgOptLinkAll,
|
||||||
cfgOptLinkMap,
|
cfgOptLinkMap,
|
||||||
cfgOptLockPath,
|
cfgOptLockPath,
|
||||||
@ -2464,6 +2488,7 @@ static const ConfigOption optionResolveOrder[] =
|
|||||||
cfgOptProcess,
|
cfgOptProcess,
|
||||||
cfgOptProcessMax,
|
cfgOptProcessMax,
|
||||||
cfgOptProtocolTimeout,
|
cfgOptProtocolTimeout,
|
||||||
|
cfgOptRaw,
|
||||||
cfgOptRecurse,
|
cfgOptRecurse,
|
||||||
cfgOptRemoteType,
|
cfgOptRemoteType,
|
||||||
cfgOptRepoCipherType,
|
cfgOptRepoCipherType,
|
||||||
|
36
src/main.c
36
src/main.c
@ -19,7 +19,11 @@ Main
|
|||||||
#include "command/info/info.h"
|
#include "command/info/info.h"
|
||||||
#include "command/local/local.h"
|
#include "command/local/local.h"
|
||||||
#include "command/remote/remote.h"
|
#include "command/remote/remote.h"
|
||||||
|
#include "command/repo/create.h"
|
||||||
|
#include "command/repo/get.h"
|
||||||
#include "command/repo/ls.h"
|
#include "command/repo/ls.h"
|
||||||
|
#include "command/repo/put.h"
|
||||||
|
#include "command/repo/rm.h"
|
||||||
#include "command/restore/restore.h"
|
#include "command/restore/restore.h"
|
||||||
#include "command/stanza/create.h"
|
#include "command/stanza/create.h"
|
||||||
#include "command/stanza/delete.h"
|
#include "command/stanza/delete.h"
|
||||||
@ -158,6 +162,22 @@ main(int argListSize, const char *argList[])
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Repository create command
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
case cfgCmdRepoCreate:
|
||||||
|
{
|
||||||
|
cmdRepoCreate();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Repository get file command
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
case cfgCmdRepoGet:
|
||||||
|
{
|
||||||
|
result = cmdStorageGet();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Repository list paths/files command
|
// Repository list paths/files command
|
||||||
// -----------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
case cfgCmdRepoLs:
|
case cfgCmdRepoLs:
|
||||||
@ -166,6 +186,22 @@ main(int argListSize, const char *argList[])
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Repository put file command
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
case cfgCmdRepoPut:
|
||||||
|
{
|
||||||
|
cmdStoragePut();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Repository remove paths/files command
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
case cfgCmdRepoRm:
|
||||||
|
{
|
||||||
|
cmdStorageRemove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Restore command
|
// Restore command
|
||||||
// -----------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
case cfgCmdRestore:
|
case cfgCmdRestore:
|
||||||
|
@ -646,10 +646,18 @@ unit:
|
|||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------------------------------
|
||||||
- name: repo
|
- name: repo
|
||||||
total: 1
|
total: 4
|
||||||
|
|
||||||
coverage:
|
coverage:
|
||||||
|
command/repo/get: full
|
||||||
command/repo/ls: full
|
command/repo/ls: full
|
||||||
|
command/repo/put: full
|
||||||
|
command/repo/rm: full
|
||||||
|
|
||||||
|
include:
|
||||||
|
# command/repo/create is currently for testing purposes only so coverage is not provided except in integration. In the
|
||||||
|
# future this will probably be rolled into a custom object store server implementation.
|
||||||
|
- command/repo/create
|
||||||
|
|
||||||
# **********************************************************************************************************************************
|
# **********************************************************************************************************************************
|
||||||
# Integration tests
|
# Integration tests
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/***********************************************************************************************************************************
|
/***********************************************************************************************************************************
|
||||||
Test Repo Commands
|
Test Repo Commands
|
||||||
***********************************************************************************************************************************/
|
***********************************************************************************************************************************/
|
||||||
|
#include "common/io/bufferRead.h"
|
||||||
#include "common/io/bufferWrite.h"
|
#include "common/io/bufferWrite.h"
|
||||||
#include "storage/posix/storage.h"
|
#include "storage/posix/storage.h"
|
||||||
|
|
||||||
@ -18,6 +19,19 @@ testRun(void)
|
|||||||
Storage *storageTest = storagePosixNew(
|
Storage *storageTest = storagePosixNew(
|
||||||
strNew(testPath()), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, true, NULL);
|
strNew(testPath()), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, true, NULL);
|
||||||
|
|
||||||
|
// *****************************************************************************************************************************
|
||||||
|
if (testBegin("cmdRepoCreate()"))
|
||||||
|
{
|
||||||
|
StringList *argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--repo-path=%s/repo", testPath()));
|
||||||
|
harnessCfgLoad(cfgCmdRepoCreate, argList);
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("noop on non-S3 storage");
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(cmdRepoCreate(), "repo create");
|
||||||
|
}
|
||||||
|
|
||||||
// *****************************************************************************************************************************
|
// *****************************************************************************************************************************
|
||||||
if (testBegin("cmdStorageList() and storageListRender()"))
|
if (testBegin("cmdStorageList() and storageListRender()"))
|
||||||
{
|
{
|
||||||
@ -172,5 +186,241 @@ testRun(void)
|
|||||||
" check output");
|
" check output");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// *****************************************************************************************************************************
|
||||||
|
if (testBegin("cmdStoragePut() and cmdStorageGet()"))
|
||||||
|
{
|
||||||
|
// Set buffer size small so copy loops get exercised
|
||||||
|
size_t oldBufferSize = ioBufferSize();
|
||||||
|
ioBufferSizeSet(8);
|
||||||
|
|
||||||
|
// Needed for tests
|
||||||
|
setenv("PGBACKREST_REPO1_CIPHER_PASS", "xxx", true);
|
||||||
|
|
||||||
|
// Test files and buffers
|
||||||
|
const String *fileName = STRDEF("file.txt");
|
||||||
|
const Buffer *fileBuffer = BUFSTRDEF("TESTFILE");
|
||||||
|
|
||||||
|
const String *fileEncName = STRDEF("file-enc.txt");
|
||||||
|
const Buffer *fileEncBuffer = BUFSTRDEF("TESTFILE-ENC");
|
||||||
|
|
||||||
|
const String *fileEncCustomName = STRDEF("file-enc-custom.txt");
|
||||||
|
const Buffer *fileEncCustomBuffer = BUFSTRDEF("TESTFILE-ENC-CUSTOM");
|
||||||
|
|
||||||
|
const String *fileRawName = STRDEF("file-raw.txt");
|
||||||
|
const Buffer *fileRawBuffer = BUFSTRDEF("TESTFILE-RAW");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("error when missing destination");
|
||||||
|
|
||||||
|
StringList *argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
harnessCfgLoad(cfgCmdRepoPut, argList);
|
||||||
|
|
||||||
|
TEST_ERROR(storagePutProcess(ioBufferReadNew(fileBuffer)), ParamRequiredError, "destination file required");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("put a file");
|
||||||
|
|
||||||
|
strLstAdd(argList, fileName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoPut, argList);
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(storagePutProcess(ioBufferReadNew(fileBuffer)), "put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("put an encrypted file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAdd(argList, fileEncName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoPut, argList);
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(storagePutProcess(ioBufferReadNew(fileEncBuffer)), "put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("put an encrypted file with custom key");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_CIPHER_PASS "=custom");
|
||||||
|
strLstAdd(argList, fileEncCustomName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoPut, argList);
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(storagePutProcess(ioBufferReadNew(fileEncCustomBuffer)), "put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("put a raw file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAddZ(argList, "--raw");
|
||||||
|
strLstAdd(argList, fileRawName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoPut, argList);
|
||||||
|
|
||||||
|
// Get stdin from a file
|
||||||
|
int stdinSave = dup(STDIN_FILENO);
|
||||||
|
const String *stdinFile = storagePathP(storageRepo(), STRDEF("stdin.txt"));
|
||||||
|
storagePutP(storageNewWriteP(storageRepoWrite(), stdinFile), fileRawBuffer);
|
||||||
|
|
||||||
|
THROW_ON_SYS_ERROR(freopen(strPtr(stdinFile), "r", stdin) == NULL, FileWriteError, "unable to reopen stdin");
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(cmdStoragePut(), "put");
|
||||||
|
|
||||||
|
// Restore normal stdout
|
||||||
|
dup2(stdinSave, STDIN_FILENO);
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("error when missing source");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
TEST_ERROR(storageGetProcess(ioBufferWriteNew(bufNew(0))), ParamRequiredError, "source file required");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("get a file");
|
||||||
|
|
||||||
|
strLstAdd(argList, fileName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
Buffer *writeBuffer = bufNew(0);
|
||||||
|
TEST_RESULT_INT(storageGetProcess(ioBufferWriteNew(writeBuffer)), 0, "get");
|
||||||
|
TEST_RESULT_BOOL(bufEq(writeBuffer, fileBuffer), true, " get matches put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("get an encrypted file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAdd(argList, fileEncName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
writeBuffer = bufNew(0);
|
||||||
|
TEST_RESULT_INT(storageGetProcess(ioBufferWriteNew(writeBuffer)), 0, "get");
|
||||||
|
TEST_RESULT_BOOL(bufEq(writeBuffer, fileEncBuffer), true, " get matches put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("get an encrypted file with custom key");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_CIPHER_PASS "=custom");
|
||||||
|
strLstAdd(argList, fileEncCustomName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
writeBuffer = bufNew(0);
|
||||||
|
TEST_RESULT_INT(storageGetProcess(ioBufferWriteNew(writeBuffer)), 0, "get");
|
||||||
|
TEST_RESULT_BOOL(bufEq(writeBuffer, fileEncCustomBuffer), true, " get matches put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("get a raw file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_REPO1_CIPHER_TYPE "=" CIPHER_TYPE_AES_256_CBC);
|
||||||
|
strLstAddZ(argList, "--raw");
|
||||||
|
strLstAdd(argList, fileRawName);
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
TEST_LOG("get");
|
||||||
|
|
||||||
|
// Redirect stdout to a file
|
||||||
|
int stdoutSave = dup(STDOUT_FILENO);
|
||||||
|
String *stdoutFile = strNewFmt("%s/repo/stdout.txt", testPath());
|
||||||
|
|
||||||
|
THROW_ON_SYS_ERROR(freopen(strPtr(stdoutFile), "w", stdout) == NULL, FileWriteError, "unable to reopen stdout");
|
||||||
|
|
||||||
|
// Not in a test wrapper to avoid writing to stdout
|
||||||
|
ASSERT(cmdStorageGet() == 0);
|
||||||
|
|
||||||
|
// Restore normal stdout
|
||||||
|
dup2(stdoutSave, STDOUT_FILENO);
|
||||||
|
|
||||||
|
TEST_RESULT_STR(
|
||||||
|
strNewBuf(storageGetP(storageNewReadP(storageRepo(), stdoutFile))), strNewBuf(fileRawBuffer), " get matches put");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("ignore missing file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--" CFGOPT_REPO1_PATH "=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "--" CFGOPT_IGNORE_MISSING);
|
||||||
|
strLstAddZ(argList, BOGUS_STR);
|
||||||
|
harnessCfgLoad(cfgCmdRepoGet, argList);
|
||||||
|
|
||||||
|
writeBuffer = bufNew(0);
|
||||||
|
TEST_RESULT_INT(storageGetProcess(ioBufferWriteNew(bufNew(0))), 1, "get");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
// Reset env
|
||||||
|
unsetenv("PGBACKREST_REPO1_CIPHER_PASS");
|
||||||
|
|
||||||
|
// Reset buffer size
|
||||||
|
ioBufferSizeSet(oldBufferSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
// *****************************************************************************************************************************
|
||||||
|
if (testBegin("cmdStorageRemove()"))
|
||||||
|
{
|
||||||
|
StringList *argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--repo-path=%s/repo", testPath()));
|
||||||
|
harnessCfgLoad(cfgCmdRepoRm, argList);
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("remove missing path");
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(cmdStorageRemove(), "remove");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("remove empty path");
|
||||||
|
|
||||||
|
strLstAddZ(argList, "path");
|
||||||
|
harnessCfgLoad(cfgCmdRepoRm, argList);
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(storagePathCreateP(storageRepoWrite(), STRDEF("path")), "add path");
|
||||||
|
TEST_RESULT_VOID(cmdStorageRemove(), "remove path");
|
||||||
|
TEST_RESULT_BOOL(storagePathExistsP(storageRepo(), STRDEF("path")), false, " check path removed");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("fail when path is not empty and no recurse");
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(
|
||||||
|
storagePutP(storageNewWriteP(storageRepoWrite(), strNew("path/aaa.txt")), BUFSTRDEF("TESTDATA")), "add path/file");
|
||||||
|
TEST_ERROR(cmdStorageRemove(), OptionInvalidError, "recurse option must be used to delete non-empty path");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("succeed when path is not empty and no recurse");
|
||||||
|
|
||||||
|
cfgOptionSet(cfgOptRecurse, cfgSourceParam, BOOL_TRUE_VAR);
|
||||||
|
TEST_RESULT_VOID(cmdStorageRemove(), "remove path");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("error on more than one path");
|
||||||
|
|
||||||
|
strLstAddZ(argList, "repo2");
|
||||||
|
harnessCfgLoad(cfgCmdRepoRm, argList);
|
||||||
|
|
||||||
|
TEST_ERROR(cmdStorageRemove(), ParamInvalidError, "only one path may be specified");
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
TEST_TITLE("remove file");
|
||||||
|
|
||||||
|
argList = strLstNew();
|
||||||
|
strLstAdd(argList, strNewFmt("--repo-path=%s/repo", testPath()));
|
||||||
|
strLstAddZ(argList, "path/aaa.txt");
|
||||||
|
harnessCfgLoad(cfgCmdRepoRm, argList);
|
||||||
|
|
||||||
|
TEST_RESULT_VOID(
|
||||||
|
storagePutP(storageNewWriteP(storageRepoWrite(), strNew("path/aaa.txt")), BUFSTRDEF("TESTDATA")), "add path/file");
|
||||||
|
TEST_RESULT_VOID(cmdStorageRemove(), "remove file");
|
||||||
|
TEST_RESULT_BOOL(storagePathExistsP(storageRepo(), STRDEF("path/aaa.txt")), false, " check file removed");
|
||||||
|
TEST_RESULT_BOOL(storagePathExistsP(storageRepo(), STRDEF("path")), true, " check path exists");
|
||||||
|
}
|
||||||
|
|
||||||
FUNCTION_HARNESS_RESULT_VOID();
|
FUNCTION_HARNESS_RESULT_VOID();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user