Compare commits

..

1 commit

Author SHA1 Message Date
3e280faa67 Add postgresql database 2020-10-17 23:32:53 +02:00
2 changed files with 13 additions and 11 deletions

View file

@ -2,13 +2,14 @@ use crate::command_runner::{SetuidCommandRunner, StdCommandRunner};
use crate::resources::{ use crate::resources::{
AcmeAccountKey, AcmeChallengesDir, AcmeChallengesNginxSnippet, AcmeRootCert, AcmeUser, Cert, AcmeAccountKey, AcmeChallengesDir, AcmeChallengesNginxSnippet, AcmeRootCert, AcmeUser, Cert,
CertChain, Cron, Csr, DefaultServer, Dir, File, GitCheckout, Key, KeyAndCertBundle, CertChain, Cron, Csr, DefaultServer, Dir, File, GitCheckout, Key, KeyAndCertBundle,
LoadedDirectory, MariaDbDatabase, MariaDbUser, NpmInstall, Owner, PhpFpmPool, PostgresqlDatabase, LoadedDirectory, MariaDbDatabase, MariaDbUser, NpmInstall, Owner, PhpFpmPool, Resource,
Resource, ServeCustom, ServePhp, ServeRedir, ServeService, ServeStatic, StoredDirectory, ServeCustom, ServePhp, ServeRedir, ServeService, ServeStatic, StoredDirectory,
SystemdSocketService, User, UserForDomain, WordpressPlugin, WordpressTranslation, SystemdSocketService, User, UserForDomain, WordpressPlugin, WordpressTranslation,
PostgresqlDatabase,
}; };
use crate::storage::Storage;
use crate::static_files::LETS_ENCRYPT_X3_CROSS_SIGNED; use crate::static_files::LETS_ENCRYPT_X3_CROSS_SIGNED;
use crate::storage::SimpleStorage; use crate::storage::SimpleStorage;
use crate::storage::Storage;
use crate::symbols::acme::Cert as CertSymbol; use crate::symbols::acme::Cert as CertSymbol;
use crate::symbols::concat::Concat as ConcatSymbol; use crate::symbols::concat::Concat as ConcatSymbol;
use crate::symbols::cron::Cron as CronSymbol; use crate::symbols::cron::Cron as CronSymbol;
@ -723,18 +724,18 @@ impl<D: Clone> ImplementationBuilder<PostgresqlDatabase<D>> for DefaultBuilder {
() ()
} }
type Implementation = (PostgreSQLDatabaseSymbol<'static, String, String, StdCommandRunner>,); type Implementation = (
PostgreSQLDatabaseSymbol<'static, String, String, StdCommandRunner>,
);
fn create( fn create(
_resource: &PostgresqlDatabase<D>, _resource: &PostgresqlDatabase<D>,
(db_name, data_path): &<PostgresqlDatabase<D> as Resource>::Artifact, (db_name, data_path): &<PostgresqlDatabase<D> as Resource>::Artifact,
_: <Self::Prerequisites as ToArtifact>::Artifact, _: <Self::Prerequisites as ToArtifact>::Artifact,
) -> Self::Implementation { ) -> Self::Implementation {
let db_dump = SimpleStorage::new(data_path.clone().into()); let db_dump = SimpleStorage::new(data_path.clone().into());
(PostgreSQLDatabaseSymbol::new( (
db_name.0.clone(), PostgreSQLDatabaseSymbol::new(db_name.0.clone(), db_dump.read_filename().unwrap().to_str().unwrap().into(), &StdCommandRunner),
db_dump.read_filename().unwrap().to_str().unwrap().into(), )
&StdCommandRunner,
),)
} }
} }

View file

@ -5,9 +5,10 @@ use crate::artifacts::{
use crate::resources::{ use crate::resources::{
AcmeAccountKey, AcmeChallengesDir, AcmeChallengesNginxSnippet, AcmeRootCert, AcmeUser, Cert, AcmeAccountKey, AcmeChallengesDir, AcmeChallengesNginxSnippet, AcmeRootCert, AcmeUser, Cert,
CertChain, Cron, Csr, DefaultServer, Dir, File, GitCheckout, Key, KeyAndCertBundle, CertChain, Cron, Csr, DefaultServer, Dir, File, GitCheckout, Key, KeyAndCertBundle,
LoadedDirectory, MariaDbDatabase, MariaDbUser, NpmInstall, Owner, PhpFpmPool, PostgresqlDatabase, LoadedDirectory, MariaDbDatabase, MariaDbUser, NpmInstall, Owner, PhpFpmPool, Resource,
Resource, ServeCustom, ServePhp, ServeRedir, ServeService, ServeStatic, StoredDirectory, ServeCustom, ServePhp, ServeRedir, ServeService, ServeStatic, StoredDirectory,
SystemdSocketService, User, UserForDomain, WordpressPlugin, WordpressTranslation, SystemdSocketService, User, UserForDomain, WordpressPlugin, WordpressTranslation,
PostgresqlDatabase,
}; };
use crate::to_artifact::ToArtifact; use crate::to_artifact::ToArtifact;
use std::fmt::Display; use std::fmt::Display;