# 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 = "2021"
rust-version = "1.86"
name = "pulsate"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pulsate — a reverse-proxy gateway in one binary: TLS, caching, WAF, observability, admin API, and WASM plugins."
homepage = "https://github.com/squaretick/pulsate"
documentation = "https://docs.rs/pulsate"
readme = "README.md"
keywords = [
    "gateway",
    "reverse-proxy",
    "http",
    "proxy",
    "tls",
]
categories = [
    "network-programming",
    "web-programming::http-server",
    "command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/squaretick/pulsate"

[package.metadata.deb]
maintainer = "NAHSV Healthlinko <webmaster@squaretick.dev>"
copyright = "2026, NAHSV Healthlinko Private Limited"
section = "net"
priority = "optional"
extended-description = "Pulsate is a reverse-proxy gateway: automatic TLS, caching, a WAF, rate limiting, observability, a loopback admin API and dashboard, and a sandboxed WASM plugin host — in a single static binary configured by one file."
assets = [
    [
    "target/release/pulsate",
    "usr/bin/",
    "755",
],
    [
    "packaging/pulsate.flow",
    "etc/pulsate/pulsate.flow",
    "644",
],
    [
    "packaging/systemd/pulsate.service",
    "lib/systemd/system/pulsate.service",
    "644",
],
    [
    "README.md",
    "usr/share/doc/pulsate/README.md",
    "644",
],
]
conf-files = ["/etc/pulsate/pulsate.flow"]

[[package.metadata.generate-rpm.assets]]
source = "target/release/pulsate"
dest = "/usr/bin/pulsate"
mode = "755"

[[package.metadata.generate-rpm.assets]]
source = "packaging/pulsate.flow"
dest = "/etc/pulsate/pulsate.flow"
mode = "644"
config = true

[[package.metadata.generate-rpm.assets]]
source = "packaging/systemd/pulsate.service"
dest = "/lib/systemd/system/pulsate.service"
mode = "644"

[[package.metadata.generate-rpm.assets]]
source = "README.md"
dest = "/usr/share/doc/pulsate/README.md"
mode = "644"
doc = true

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/pulsate-v{ version }-{ target }.{ archive-suffix }"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"

[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"

[lib]
name = "pulsate"
path = "src/lib.rs"

[[bin]]
name = "p8"
path = "src/bin/p8.rs"

[[bin]]
name = "pulsate"
path = "src/main.rs"

[dependencies.anyhow]
version = "1"

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.pulsate-cli]
version = "0.3.0"

[dependencies.pulsate-core]
version = "0.3.0"

[dependencies.pulsate-rt]
version = "0.3.0"

[lints.clippy]
doc_markdown = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"
