feat(ssl): use new improved helper for SSL generation
- use CA cert and key for SSL cert generation - remove unused parameters - add a few more echo with log output
This commit is contained in:
@@ -33,24 +33,30 @@ class StartPostgresql
|
||||
|
||||
$this->commands = [
|
||||
"echo 'Starting database.'",
|
||||
"echo 'Creating directories.'",
|
||||
"mkdir -p $this->configuration_dir",
|
||||
"mkdir -p $this->configuration_dir/docker-entrypoint-initdb.d/",
|
||||
"mkdir -p $this->configuration_dir/ssl",
|
||||
"echo 'Directories created successfully.'",
|
||||
];
|
||||
|
||||
if ($this->database->enable_ssl) {
|
||||
$this->commands[] = "echo 'Setting up SSL certificate.'";
|
||||
$this->ssl_certificate = SslCertificate::where('resource_type', $this->database->getMorphClass())
|
||||
->where('resource_id', $this->database->id)
|
||||
->where('certificate_type', 'internal')
|
||||
->first();
|
||||
$this->commands[] = "echo 'Setting up SSL for this database.'";
|
||||
$server = $this->database->destination->server;
|
||||
|
||||
$caCert = SslCertificate::where('server_id', $server->id)->firstOrFail();
|
||||
|
||||
$this->ssl_certificate = SslCertificate::where('resource_type', $this->database->getMorphClass())->where('resource_id', $this->database->id)->first();
|
||||
|
||||
if (! $this->ssl_certificate) {
|
||||
$this->commands[] = "echo 'Generating new SSL certificate.'";
|
||||
$this->commands[] = "echo 'No SSL certificate found, generating new SSL certificate for this database.'";
|
||||
$this->ssl_certificate = SslHelper::generateSslCertificate(
|
||||
commonName: $this->database->uuid,
|
||||
// additionalSans: ["IP:{$server->ip_address}"], // Issue is the server IP can be also be a domain/ hostname and we need to be sure what it is before setting it.
|
||||
resourceType: $this->database->getMorphClass(),
|
||||
resourceId: $this->database->id,
|
||||
certificateType: 'internal',
|
||||
caCert: $caCert->ssl_certificate,
|
||||
caKey: $caCert->ssl_private_key,
|
||||
);
|
||||
$this->addSslFilesToFileStorage();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user