[package]
edition = "2024"
rust-version = "1.87"
name = "pimconf"
version = "0.1.0"
authors = ["soywod <pimalaya.org@posteo.net>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI and lib to discover PIM-related services"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/pimconf/latest/pimconf"
readme = "README.md"
keywords = [
"autoconfig",
"io-free",
"coroutine",
"no-std",
"pacc",
]
categories = [
"network-programming",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/pimconf"
[package.metadata.docs.rs]
features = ["cli"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
autoconfig = [
"dep:io-http",
"dep:serde",
"dep:serde-xml-rs",
"dep:url",
]
cli = [
"dep:clap",
"pimalaya-cli/terminal",
"pimalaya-cli/table",
"stream",
]
client = [
"dep:anyhow",
"dep:io-http",
"io-http/client",
"dep:url",
]
default = [
"rustls-ring",
"autoconfig",
"pacc",
"rfc6186",
"rfc6764",
]
native-tls = [
"stream",
"pimalaya-stream/native-tls",
"io-http/native-tls",
]
pacc = [
"dep:io-http",
"dep:serde",
"dep:serde_json",
"dep:url",
"dep:base64",
"dep:sha2",
"dep:subtle",
]
rfc6186 = [
"dep:serde",
"dep:url",
]
rfc6764 = [
"dep:serde",
"dep:url",
"rfc6186",
]
rustls-aws = [
"stream",
"pimalaya-stream/rustls-aws",
"io-http/rustls-aws",
]
rustls-ring = [
"stream",
"pimalaya-stream/rustls-ring",
"io-http/rustls-ring",
]
srv = ["rfc6186"]
stream = [
"client",
"dep:pimalaya-stream",
]
vendored = [
"pimalaya-stream?/vendored",
"io-http?/vendored",
]
[lib]
name = "pimconf"
path = "src/lib.rs"
[[bin]]
name = "pimconf"
path = "src/main.rs"
required-features = ["cli"]
[[example]]
name = "autoconfig-mx"
path = "examples/autoconfig_mx.rs"
required-features = ["autoconfig"]
[[example]]
name = "pacc-client"
path = "examples/pacc_client.rs"
required-features = [
"pacc",
"client",
]
[dependencies.anyhow]
version = "1"
optional = true
default-features = false
[dependencies.base64]
version = "0.22"
features = ["alloc"]
optional = true
default-features = false
[dependencies.clap]
version = "4.4"
features = [
"derive",
"wrap_help",
]
optional = true
[dependencies.domain]
version = "0.12"
features = [
"alloc",
"std",
"unstable-new",
]
default-features = false
[dependencies.io-http]
version = "0.1"
optional = true
default-features = false
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.pimalaya-cli]
version = "0.0.1"
optional = true
default-features = false
[dependencies.pimalaya-stream]
version = "0.0.1"
features = ["std"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde-xml-rs]
version = "0.8"
optional = true
[dependencies.serde_json]
version = "1"
features = ["alloc"]
optional = true
default-features = false
[dependencies.sha2]
version = "0.10"
optional = true
default-features = false
[dependencies.subtle]
version = "2"
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.url]
version = "2.2"
optional = true
default-features = false
[dev-dependencies.env_logger]
version = "0.11"
[build-dependencies.pimalaya-cli]
version = "0.0.1"
features = ["build"]
optional = true
default-features = false
[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"