[package]
edition = "2024"
rust-version = "1.89.0"
name = "shikumi"
version = "0.1.310"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Shikumi (仕組み) — config discovery, hot-reload, and ArcSwap store for Nix-managed desktop apps"
homepage = "https://github.com/pleme-io/shikumi"
documentation = "https://docs.rs/shikumi"
readme = "README.md"
keywords = [
"config",
"hot-reload",
"nix",
"figment",
"arcswap",
]
categories = ["config"]
license = "MIT"
repository = "https://github.com/pleme-io/shikumi"
[features]
akeyless-native = [
"dep:akeyless-api",
"dep:tokio",
]
aws-native = [
"dep:aws-sdk-secretsmanager",
"dep:aws-config",
"dep:tokio",
]
cli = ["dep:clap"]
default = []
gcp-native = [
"dep:reqwest",
"dep:tokio",
]
lisp = ["dep:tatara-lisp"]
op-native = [
"dep:reqwest",
"dep:tokio",
]
vault-native = [
"dep:reqwest",
"dep:tokio",
]
[lib]
name = "shikumi"
path = "src/lib.rs"
[[test]]
name = "dispatcher_registration"
path = "tests/dispatcher_registration.rs"
[dependencies.akeyless-api]
version = "0.1"
optional = true
[dependencies.arc-swap]
version = "1.8"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
version = "1"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-secretsmanager]
version = "1"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.figment]
version = "0.10"
features = [
"env",
"yaml",
"toml",
]
[dependencies.gen-platform]
version = "0.1"
[dependencies.gen-types]
version = "0.1"
[dependencies.notify]
version = "8.2"
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.tatara-lisp]
version = "0.2"
optional = true
package = "tatara-lisp"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
features = ["rt"]
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serde_yaml]
version = "0.9"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
]
[target.'cfg(target_os = "macos")'.dependencies.notify]
version = "8.2"
features = ["macos_kqueue"]
default-features = false
[lints.clippy]
pedantic = "warn"