[package] name = "es-public-proxy" version = "0.2.1" edition = "2018" authors = ["Bryan Newbold "] license = "AGPL-3.0-or-later" #license-file = "LICENSE.AGPLv3.txt" description = "simple read-only HTTP reverse-proxy for exposing an Elasticsearch node to the public internet" readme = "README.md" repository = "https://gitlab.com/bnewbold/es-public-proxy" keywords = ["elasticsearch", "proxy"] categories = ["command-line-utilities"] [dependencies] hyper = "0.13" http = "0.2" tokio = { version = "0.2", features = ["rt-threaded", "tcp", "signal", "macros"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_urlencoded = "0.5" toml = "0.4" log = "0.4" env_logger = "0.7" [profile.release] lto = true codegen-units = 1 [package.metadata.deb] maintainer = "Bryan Newbold " depends = "$auto" section = "utility" priority = "optional" maintainer-scripts = "extra/" systemd-units = { enable = false } extended-description = """" es-public-proxy is intended to be a simple and reliable alternative for the use case of exposing popular search queries on specific indices to the public web. HTTP requests are parsed and filtered in a safe, compiled language (Rust), then only safe queries are re-serialized and forwarded to the backend search instance listening on a different port. * type-safe de-serialization and re-serialization of all user data * single-binary, easy to install * simple configuration with sane defaults * low-overhead in network latency and compute resources * optional CORS headers for direct browser requests * SSL, transport compression, load-balancing, observability, and rate-limiting are left to other tools like nginx, caddy, or HAproxy * free software forever: AGPLv3+ license """ assets = [ ["target/release/es-public-proxy", "usr/bin/", "755"], ["extra/es-public-proxy.1", "usr/share/man/man1/", "644"], ["extra/example_config.toml", "usr/share/doc/es-public-proxy/", "644"], ["extra/example_config.toml", "etc/es-public-proxy.toml", "644"], ] conf-files = ["etc/es-public-proxy.toml"]