Browse Source

Release candidate 1

v0.3.x v0.3.0-rc.1
Aode (Lion) 4 months ago
parent
commit
73137ede21
  1. 2
      .cargo/config
  2. 515
      Cargo.lock
  3. 16
      Cargo.toml
  4. 8
      README.md
  5. 23
      src/config.rs

2
.cargo/config

@ -1,2 +1,2 @@
[build]
# rustflags = ["--cfg", "tokio_unstable"]
rustflags = ["--cfg", "tokio_unstable"]

515
Cargo.lock

File diff suppressed because it is too large

16
Cargo.toml

@ -1,7 +1,7 @@
[package]
name = "pict-rs"
description = "A simple image hosting service"
version = "0.3.0-beta.20"
version = "0.3.0-rc.1"
authors = ["asonix <asonix@asonix.dog>"]
license = "AGPL-3.0"
readme = "README.md"
@ -11,7 +11,7 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
console = ["console-subscriber"]
default = ["object-storage"]
default = ["object-storage", "console"]
object-storage = ["reqwest", "rust-s3"]
io-uring = [
"actix-rt/io-uring",
@ -24,14 +24,14 @@ io-uring = [
actix-form-data = "0.6.0-beta.11"
actix-rt = { version = "2.6.0", default-features = false }
actix-server = "2.0.0"
actix-web = { version = "4.0.0-rc.3", default-features = false }
actix-web = { version = "4.0.0", default-features = false }
anyhow = "1.0"
async-trait = "0.1.51"
awc = { version = "3.0.0-beta.20", default-features = false, features = [
awc = { version = "3.0.0-beta.21", default-features = false, features = [
"rustls",
] }
base64 = "0.13.0"
config = "0.11.0"
config = "0.12.0"
console-subscriber = { version = "0.1", optional = true }
dashmap = "5.1.0"
futures-util = "0.3.17"
@ -45,7 +45,7 @@ reqwest = { version = "0.11.5", default-features = false, features = [
"rustls-tls",
"stream",
], optional = true }
rust-s3 = { version = "0.28.0", default-features = false, features = [
rust-s3 = { version = "0.29.0", default-features = false, features = [
"fail-on-err",
"with-reqwest",
], optional = true, git = "https://github.com/asonix/rust-s3", branch = "asonix/generic-client" }
@ -74,11 +74,11 @@ url = { version = "2.2", features = ["serde"] }
uuid = { version = "0.8.2", features = ["v4", "serde"] }
[dependencies.tracing-actix-web]
version = "0.5.0-rc.3"
version = "0.5.0"
default-features = false
features = ["emit_event_on_error", "opentelemetry_0_17"]
[dependencies.tracing-awc]
version = "0.1.0-beta.23"
version = "0.1.0-beta.24"
default-features = false
features = ["emit_event_on_error", "opentelemetry_0_17"]

8
README.md

@ -9,7 +9,7 @@ _a simple image hosting service_
## Usage
### Running
```
pict-rs 0.3.0-alpha.43
pict-rs 0.3.0-rc.1
USAGE:
pict-rs [FLAGS] [OPTIONS] [SUBCOMMAND]
@ -46,7 +46,7 @@ SUBCOMMANDS:
```
```
pict-rs-file-store 0.3.0-alpha.43
pict-rs-file-store 0.3.0-rc.1
USAGE:
pict-rs file-store [OPTIONS]
@ -60,7 +60,7 @@ OPTIONS:
```
```
pict-rs-s3-store 0.3.0-alpha.43
pict-rs-s3-store 0.3.0-rc.1
USAGE:
pict-rs s3-store [OPTIONS] --bucket-name <bucket-name> --region <region>
@ -75,7 +75,7 @@ OPTIONS:
--region <region> Region in which the bucket exists, can be an http endpoint
--secret-key <secret-key>
--security-token <security-token>
--session-token <session-token>
--session-token <session-token>
```
See [`pict-rs.toml`](https://git.asonix.dog/asonix/pict-rs/src/branch/main/pict-rs.toml) and

23
src/config.rs

@ -217,30 +217,33 @@ impl Defaults {
impl Config {
pub(crate) fn build() -> anyhow::Result<Self> {
let args = Args::from_args();
let mut base_config = config::Config::new();
base_config.merge(config::Config::try_from(&Defaults::new())?)?;
if let Some(path) = args.migrate_file {
let mut migrate_config = config::Config::new();
migrate_config.merge(config::File::from(path))?;
let migrate: Migrate = migrate_config.try_into()?;
let migrate_config = config::Config::builder()
.add_source(config::File::from(path))
.build()?;
let migrate: Migrate = migrate_config.try_deserialize()?;
crate::MIGRATE.set(migrate).unwrap();
}
let mut base_config =
config::Config::builder().add_source(config::Config::try_from(&Defaults::new())?);
if let Some(path) = args.config_file {
base_config.merge(config::File::from(path))?;
base_config = base_config.add_source(config::File::from(path));
};
if !args.overrides.is_default() {
let merging = config::Config::try_from(&args.overrides)?;
base_config.merge(merging)?;
base_config = base_config.add_source(merging);
}
base_config.merge(config::Environment::with_prefix("PICTRS").separator("__"))?;
let config: Self = base_config.try_into()?;
let config: Self = base_config
.add_source(config::Environment::with_prefix("PICTRS").separator("__"))
.build()?
.try_deserialize()?;
Ok(config)
}

Loading…
Cancel
Save