mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-12-22 11:21:24 +00:00
Fix postgres commandline, add default for use_tls
This commit is contained in:
parent
2f588aa613
commit
574b12b23f
2 changed files with 42 additions and 24 deletions
|
@ -1325,6 +1325,7 @@ enum Repo {
|
||||||
pub(super) struct Filesystem {
|
pub(super) struct Filesystem {
|
||||||
/// The path to store uploaded media
|
/// The path to store uploaded media
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub(super) path: Option<PathBuf>,
|
pub(super) path: Option<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1417,7 +1418,8 @@ pub(super) struct Postgres {
|
||||||
pub(super) url: Url,
|
pub(super) url: Url,
|
||||||
|
|
||||||
/// whether to connect to postgres via TLS
|
/// whether to connect to postgres via TLS
|
||||||
#[arg(short, long)]
|
#[arg(short = 't', long)]
|
||||||
|
#[serde(skip_serializing_if = "std::ops::Not::not")]
|
||||||
pub(super) use_tls: bool,
|
pub(super) use_tls: bool,
|
||||||
|
|
||||||
/// The path to the root certificate for postgres' CA
|
/// The path to the root certificate for postgres' CA
|
||||||
|
|
|
@ -139,9 +139,15 @@ struct VideoQualityDefaults {
|
||||||
|
|
||||||
#[derive(Clone, Debug, serde::Serialize)]
|
#[derive(Clone, Debug, serde::Serialize)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
#[serde(tag = "type")]
|
struct RepoDefaults {
|
||||||
enum RepoDefaults {
|
#[serde(rename = "type")]
|
||||||
Sled(SledDefaults),
|
type_: String,
|
||||||
|
|
||||||
|
#[serde(flatten)]
|
||||||
|
sled_defaults: SledDefaults,
|
||||||
|
|
||||||
|
#[serde(flatten)]
|
||||||
|
postgres_defaults: PostgresDefaults,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, serde::Serialize)]
|
#[derive(Clone, Debug, serde::Serialize)]
|
||||||
|
@ -152,6 +158,12 @@ pub(super) struct SledDefaults {
|
||||||
export_path: PathBuf,
|
export_path: PathBuf,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, serde::Serialize)]
|
||||||
|
#[serde(rename_all = "snake_case")]
|
||||||
|
pub(super) struct PostgresDefaults {
|
||||||
|
use_tls: bool,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, serde::Serialize)]
|
#[derive(Clone, Debug, serde::Serialize)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub(super) struct StoreDefaults {
|
pub(super) struct StoreDefaults {
|
||||||
|
@ -181,7 +193,7 @@ pub(super) struct ObjectStorageDefaults {
|
||||||
|
|
||||||
impl Default for ServerDefaults {
|
impl Default for ServerDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
ServerDefaults {
|
Self {
|
||||||
address: "0.0.0.0:8080".parse().expect("Valid address string"),
|
address: "0.0.0.0:8080".parse().expect("Valid address string"),
|
||||||
read_only: false,
|
read_only: false,
|
||||||
danger_dummy_mode: false,
|
danger_dummy_mode: false,
|
||||||
|
@ -193,19 +205,19 @@ impl Default for ServerDefaults {
|
||||||
|
|
||||||
impl Default for ClientDefaults {
|
impl Default for ClientDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
ClientDefaults { timeout: 30 }
|
Self { timeout: 30 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for UpgradeDefaults {
|
impl Default for UpgradeDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
UpgradeDefaults { concurrency: 32 }
|
Self { concurrency: 32 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for LoggingDefaults {
|
impl Default for LoggingDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
LoggingDefaults {
|
Self {
|
||||||
format: LogFormat::Normal,
|
format: LogFormat::Normal,
|
||||||
targets: "info".parse().expect("Valid targets string"),
|
targets: "info".parse().expect("Valid targets string"),
|
||||||
log_spans: false,
|
log_spans: false,
|
||||||
|
@ -215,7 +227,7 @@ impl Default for LoggingDefaults {
|
||||||
|
|
||||||
impl Default for ConsoleDefaults {
|
impl Default for ConsoleDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
ConsoleDefaults {
|
Self {
|
||||||
buffer_capacity: 1024 * 100,
|
buffer_capacity: 1024 * 100,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -223,7 +235,7 @@ impl Default for ConsoleDefaults {
|
||||||
|
|
||||||
impl Default for OpenTelemetryDefaults {
|
impl Default for OpenTelemetryDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
OpenTelemetryDefaults {
|
Self {
|
||||||
service_name: String::from("pict-rs"),
|
service_name: String::from("pict-rs"),
|
||||||
targets: "info".parse().expect("Valid targets string"),
|
targets: "info".parse().expect("Valid targets string"),
|
||||||
}
|
}
|
||||||
|
@ -232,7 +244,7 @@ impl Default for OpenTelemetryDefaults {
|
||||||
|
|
||||||
impl Default for MediaDefaults {
|
impl Default for MediaDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
MediaDefaults {
|
Self {
|
||||||
external_validation_timeout: 30,
|
external_validation_timeout: 30,
|
||||||
max_file_size: 40,
|
max_file_size: 40,
|
||||||
process_timeout: 30,
|
process_timeout: 30,
|
||||||
|
@ -253,7 +265,7 @@ impl Default for MediaDefaults {
|
||||||
|
|
||||||
impl Default for RetentionDefaults {
|
impl Default for RetentionDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
RetentionDefaults {
|
Self {
|
||||||
variants: "7d",
|
variants: "7d",
|
||||||
proxy: "7d",
|
proxy: "7d",
|
||||||
}
|
}
|
||||||
|
@ -262,7 +274,7 @@ impl Default for RetentionDefaults {
|
||||||
|
|
||||||
impl Default for ImageDefaults {
|
impl Default for ImageDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
ImageDefaults {
|
Self {
|
||||||
max_width: 10_000,
|
max_width: 10_000,
|
||||||
max_height: 10_000,
|
max_height: 10_000,
|
||||||
max_area: 40_000_000,
|
max_area: 40_000_000,
|
||||||
|
@ -274,7 +286,7 @@ impl Default for ImageDefaults {
|
||||||
|
|
||||||
impl Default for AnimationDefaults {
|
impl Default for AnimationDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
AnimationDefaults {
|
Self {
|
||||||
max_height: 1920,
|
max_height: 1920,
|
||||||
max_width: 1920,
|
max_width: 1920,
|
||||||
max_area: 2_073_600,
|
max_area: 2_073_600,
|
||||||
|
@ -287,7 +299,7 @@ impl Default for AnimationDefaults {
|
||||||
|
|
||||||
impl Default for VideoDefaults {
|
impl Default for VideoDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
VideoDefaults {
|
Self {
|
||||||
enable: true,
|
enable: true,
|
||||||
allow_audio: false,
|
allow_audio: false,
|
||||||
max_height: 3_840,
|
max_height: 3_840,
|
||||||
|
@ -302,19 +314,23 @@ impl Default for VideoDefaults {
|
||||||
|
|
||||||
impl Default for VideoQualityDefaults {
|
impl Default for VideoQualityDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
VideoQualityDefaults { crf_max: 32 }
|
Self { crf_max: 32 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for RepoDefaults {
|
impl Default for RepoDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self::Sled(SledDefaults::default())
|
Self {
|
||||||
|
type_: String::from("sled"),
|
||||||
|
sled_defaults: SledDefaults::default(),
|
||||||
|
postgres_defaults: PostgresDefaults::default(),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for SledDefaults {
|
impl Default for SledDefaults {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
SledDefaults {
|
Self {
|
||||||
path: PathBuf::from(String::from("/mnt/sled-repo")),
|
path: PathBuf::from(String::from("/mnt/sled-repo")),
|
||||||
cache_capacity: 1024 * 1024 * 64,
|
cache_capacity: 1024 * 1024 * 64,
|
||||||
export_path: PathBuf::from(String::from("/mnt/exports")),
|
export_path: PathBuf::from(String::from("/mnt/exports")),
|
||||||
|
@ -361,13 +377,13 @@ impl From<crate::config::commandline::Filesystem> for crate::config::primitives:
|
||||||
|
|
||||||
impl From<crate::config::commandline::Filesystem> for crate::config::primitives::Store {
|
impl From<crate::config::commandline::Filesystem> for crate::config::primitives::Store {
|
||||||
fn from(value: crate::config::commandline::Filesystem) -> Self {
|
fn from(value: crate::config::commandline::Filesystem) -> Self {
|
||||||
crate::config::primitives::Store::Filesystem(value.into())
|
Self::Filesystem(value.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<SledDefaults> for crate::config::file::Sled {
|
impl From<SledDefaults> for crate::config::file::Sled {
|
||||||
fn from(defaults: SledDefaults) -> Self {
|
fn from(defaults: SledDefaults) -> Self {
|
||||||
crate::config::file::Sled {
|
Self {
|
||||||
path: defaults.path,
|
path: defaults.path,
|
||||||
cache_capacity: defaults.cache_capacity,
|
cache_capacity: defaults.cache_capacity,
|
||||||
export_path: defaults.export_path,
|
export_path: defaults.export_path,
|
||||||
|
@ -379,7 +395,7 @@ impl From<crate::config::commandline::Sled> for crate::config::file::Sled {
|
||||||
fn from(value: crate::config::commandline::Sled) -> Self {
|
fn from(value: crate::config::commandline::Sled) -> Self {
|
||||||
let defaults = SledDefaults::default();
|
let defaults = SledDefaults::default();
|
||||||
|
|
||||||
crate::config::file::Sled {
|
Self {
|
||||||
path: value.path.unwrap_or(defaults.path),
|
path: value.path.unwrap_or(defaults.path),
|
||||||
cache_capacity: value.cache_capacity.unwrap_or(defaults.cache_capacity),
|
cache_capacity: value.cache_capacity.unwrap_or(defaults.cache_capacity),
|
||||||
export_path: defaults.export_path,
|
export_path: defaults.export_path,
|
||||||
|
@ -389,7 +405,7 @@ impl From<crate::config::commandline::Sled> for crate::config::file::Sled {
|
||||||
|
|
||||||
impl From<crate::config::commandline::Postgres> for crate::config::file::Postgres {
|
impl From<crate::config::commandline::Postgres> for crate::config::file::Postgres {
|
||||||
fn from(value: crate::config::commandline::Postgres) -> Self {
|
fn from(value: crate::config::commandline::Postgres) -> Self {
|
||||||
crate::config::file::Postgres {
|
Self {
|
||||||
url: value.url,
|
url: value.url,
|
||||||
use_tls: value.use_tls,
|
use_tls: value.use_tls,
|
||||||
certificate_file: value.certificate_file,
|
certificate_file: value.certificate_file,
|
||||||
|
@ -399,12 +415,12 @@ impl From<crate::config::commandline::Postgres> for crate::config::file::Postgre
|
||||||
|
|
||||||
impl From<crate::config::commandline::Sled> for crate::config::file::Repo {
|
impl From<crate::config::commandline::Sled> for crate::config::file::Repo {
|
||||||
fn from(value: crate::config::commandline::Sled) -> Self {
|
fn from(value: crate::config::commandline::Sled) -> Self {
|
||||||
crate::config::file::Repo::Sled(value.into())
|
Self::Sled(value.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<crate::config::commandline::Postgres> for crate::config::file::Repo {
|
impl From<crate::config::commandline::Postgres> for crate::config::file::Repo {
|
||||||
fn from(value: crate::config::commandline::Postgres) -> Self {
|
fn from(value: crate::config::commandline::Postgres) -> Self {
|
||||||
crate::config::file::Repo::Postgres(value.into())
|
Self::Postgres(value.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue