vynil-core 0.7.6

A Rust toolbox for bootstrapping projects combining a Rhai scripting engine and a Handlebars templating engine, with optional Kubernetes / OCI / S3 handlers.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"