mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
b1da4e84e8
The most recent release of Minio has broken CI builds but there is no logging to indicate what is wrong. For now, just use the prior release to get CI builds working again. This kind if breakage is not uncommon for Minio but they usually resolve it in the next release.
87 lines
3.6 KiB
Perl
87 lines
3.6 KiB
Perl
####################################################################################################################################
|
|
# S3 Test Host
|
|
####################################################################################################################################
|
|
package pgBackRestTest::Env::Host::HostS3Test;
|
|
use parent 'pgBackRestTest::Common::HostTest';
|
|
|
|
####################################################################################################################################
|
|
# Perl includes
|
|
####################################################################################################################################
|
|
use strict;
|
|
use warnings FATAL => qw(all);
|
|
use Carp qw(confess);
|
|
|
|
use Cwd qw(abs_path);
|
|
use Exporter qw(import);
|
|
our @EXPORT = qw();
|
|
use File::Basename qw(dirname);
|
|
use Storable qw(dclone);
|
|
|
|
use pgBackRestDoc::Common::Exception;
|
|
use pgBackRestDoc::Common::Ini;
|
|
use pgBackRestDoc::Common::Log;
|
|
use pgBackRestDoc::ProjectInfo;
|
|
|
|
use pgBackRestTest::Common::ContainerTest;
|
|
use pgBackRestTest::Common::ExecuteTest;
|
|
use pgBackRestTest::Common::HostGroupTest;
|
|
use pgBackRestTest::Common::RunTest;
|
|
use pgBackRestTest::Common::StorageRepo;
|
|
use pgBackRestTest::Common::Wait;
|
|
use pgBackRestTest::Env::Host::HostBaseTest;
|
|
use pgBackRestTest::Env::Manifest;
|
|
|
|
####################################################################################################################################
|
|
# S3 defaults
|
|
####################################################################################################################################
|
|
use constant HOST_S3_ACCESS_KEY => 'accessKey1';
|
|
push @EXPORT, qw(HOST_S3_ACCESS_KEY);
|
|
use constant HOST_S3_ACCESS_SECRET_KEY => 'verySecretKey1';
|
|
push @EXPORT, qw(HOST_S3_ACCESS_SECRET_KEY);
|
|
use constant HOST_S3_BUCKET => 'pgbackrest-dev';
|
|
push @EXPORT, qw(HOST_S3_BUCKET);
|
|
use constant HOST_S3_ENDPOINT => 's3.amazonaws.com';
|
|
push @EXPORT, qw(HOST_S3_ENDPOINT);
|
|
use constant HOST_S3_REGION => 'us-east-1';
|
|
push @EXPORT, qw(HOST_S3_REGION);
|
|
|
|
####################################################################################################################################
|
|
# new
|
|
####################################################################################################################################
|
|
sub new
|
|
{
|
|
my $class = shift; # Class name
|
|
|
|
# Assign function parameters, defaults, and log debug info
|
|
my
|
|
(
|
|
$strOperation,
|
|
) =
|
|
logDebugParam
|
|
(
|
|
__PACKAGE__ . '->new', \@_,
|
|
);
|
|
|
|
# Create the host
|
|
my $strProjectPath = dirname(dirname(abs_path($0)));
|
|
my $strFakeCertPath = "${strProjectPath}/doc/resource/fake-cert";
|
|
|
|
my $self = $class->SUPER::new(
|
|
HOST_S3, 'test-' . testRunGet()->vmId() . '-s3-server', 'minio/minio:RELEASE.2022-01-28T02-28-16Z', 'root', 'u18',
|
|
["${strFakeCertPath}/s3-server.crt:/root/.minio/certs/public.crt:ro",
|
|
"${strFakeCertPath}/s3-server.key:/root/.minio/certs/private.key:ro"],
|
|
'-e MINIO_REGION=' . HOST_S3_REGION . ' -e MINIO_DOMAIN=' . HOST_S3_ENDPOINT . ' -e MINIO_BROWSER=off' .
|
|
' -e MINIO_ACCESS_KEY=' . HOST_S3_ACCESS_KEY . ' -e MINIO_SECRET_KEY=' . HOST_S3_ACCESS_SECRET_KEY,
|
|
'server /data --address :443', false);
|
|
bless $self, $class;
|
|
|
|
# Return from function and log return values if any
|
|
return logDebugReturn
|
|
(
|
|
$strOperation,
|
|
{name => 'self', value => $self, trace => true}
|
|
);
|
|
}
|
|
|
|
1;
|