[package]
edition = "2024"
name = "vynil-core"
version = "0.7.6"
authors = [
"Sébastien Huss <sebastien.huss@gmail.com>",
"Xavier Mortelette <reivaxm@gmail.com>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust toolbox for bootstrapping projects combining a Rhai scripting engine and a Handlebars templating engine, with optional Kubernetes / OCI / S3 handlers."
homepage = "https://github.com/sebt3/vynil-core"
documentation = "https://docs.rs/vynil-core"
readme = "README.md"
keywords = [
"rhai",
"handlebars",
"kubernetes",
"templating",
"scripting",
]
categories = [
"template-engine",
"config",
]
license = "BSD-3-Clause"
repository = "https://github.com/sebt3/vynil-core"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.commands.fmt]
cmd = ["cargo +nightly fmt"]
[package.metadata.commands.precommit]
cmd = [
"cargo update",
"cargo clippy --fix --allow-dirty --allow-staged",
"cargo +nightly fmt",
]
[features]
crypto = [
"dep:openssl",
"dep:argon2",
"dep:bcrypt",
]
default = [
"http",
"crypto",
"rhai",
"hbs",
"hbs-scripting",
]
fs = []
hbs = [
"dep:handlebars",
"dep:handlebars_misc_helpers",
"dep:jmespath",
"dep:toml",
]
hbs-scripting = [
"hbs",
"rhai",
"handlebars?/script_helper",
]
http = [
"dep:reqwest",
"dep:schemars",
"dep:tokio",
"rhai",
]
k8s = [
"dep:kube",
"dep:k8s-openapi",
"dep:futures",
"dep:tokio",
"rhai",
]
oci = [
"dep:oci-client",
"dep:tokio",
"rhai",
]
password = []
rhai = [
"dep:rhai",
"dep:smartstring",
]
s3 = [
"dep:object_store",
"dep:futures",
"dep:tokio",
"rhai",
]
shell = []
[lib]
name = "vynil_core"
path = "src/lib.rs"
[dependencies.argon2]
version = "0.5.3"
features = ["std"]
optional = true
[dependencies.base64]
version = "0.23.1"
[dependencies.bcrypt]
version = "0.19.2"
optional = true
[dependencies.chrono]
version = "0.4.38"
features = ["serde"]
[dependencies.crc32fast]
version = "1.5.0"
[dependencies.flate2]
version = "1.1.4"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.handlebars]
version = "6.2.0"
features = ["string_helpers"]
optional = true
[dependencies.handlebars_misc_helpers]
version = "0.17.0"
features = [
"string",
"jsonnet",
"regex",
"uuid",
]
optional = true
default-features = false
[dependencies.http]
version = "1.1.0"
[dependencies.jmespath]
version = "0.5.0"
optional = true
[dependencies.k8s-openapi]
version = "0.27.1"
features = [
"latest",
"schemars",
]
optional = true
default-features = false
[dependencies.kube]
version = "3.1.0"
features = [
"runtime",
"client",
"derive",
]
optional = true
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.object_store]
version = "0.11"
features = ["aws"]
optional = true
[dependencies.oci-client]
version = "0.15.0"
optional = true
[dependencies.openssl]
version = "0.10.73"
optional = true
[dependencies.rand]
version = "0.10.1"
[dependencies.regex]
version = "1.12.2"
[dependencies.reqwest]
version = "0.12.24"
features = ["rustls-tls"]
optional = true
[dependencies.rhai]
version = "1.20.0"
features = [
"sync",
"serde",
"internals",
]
optional = true
[dependencies.schemars]
version = "1.0"
features = ["chrono04"]
optional = true
[dependencies.semver]
version = "1.0.24"
features = ["serde"]
[dependencies.serde]
version = "1.0.214"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha256]
version = "1.5.0"
[dependencies.smartstring]
version = "1.0.1"
features = ["serde"]
optional = true
[dependencies.tar]
version = "0.4.46"
[dependencies.thiserror]
version = "2.0.3"
[dependencies.tokio]
version = "1.48.0"
features = [
"macros",
"rt-multi-thread",
]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tracing]
version = "0.1.37"
[dependencies.url]
version = "2.5.4"
[dependencies.wildmatch]
version = "2.6.1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tower-test]
version = "0.4.0"
[dev-dependencies.wiremock]
version = "0.6"