summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
blob: 41f47672394116685b77fc9273ae3353db7541a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[package]
name = "es-public-proxy"
version = "0.2.4"
edition = "2018"
authors = ["Bryan Newbold <bnewbold@robocracy.org>"]
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 <bnewbold@robocracy.org>"
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"]