-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
114 lines (94 loc) · 3.59 KB
/
Cargo.toml
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[package]
name = "policy-reasoner"
description = "Long-awaited implementation of the EPI Framework checkers, which reason about policies and contrain systems like [Brane](https://github.com/epi-project/brane)"
edition = "2021"
version.workspace = true
repository.workspace = true
authors.workspace = true
license.workspace = true
[workspace.package]
version = "0.1.0"
repository = "https://github.com/epi-project/policy-reasoner"
authors = [ "Bas Kloosterman", "Tim Müller" ]
license = "Apache-2.0"
[dependencies]
# Crates.io
async-trait = "0.1.67"
base64ct = { version = "1.6", features = ["std"] }
chrono = "0.4.35"
clap = { version = "4.5.6", features = ["derive", "env"] }
diesel = { version = "2.2.0", features = ["sqlite", "chrono", "r2d2"] }
dotenvy = "0.15.7"
itertools = "0.13.0"
jsonwebtoken = "9.2.0"
log = "0.4.22"
reqwest = { version = "0.12.0", features = ["json"] }
serde = { version="1.0.204", features=["derive"]}
serde_json = { version = "1.0.120" , features = ["raw_value"]}
serde_yaml = { version = "0.0.11", package = "serde_yml" }
thiserror = "1.0.61"
tokio = { version = "1.38.0", features = ["full"] }
uuid = { version = "1.7.0", features = ["serde", "v4"], optional = true }
warp = "0.3"
# Path
audit-logger = { path = "lib/audit-logger"}
auth-resolver = { path = "lib/auth-resolver"}
deliberation = { path = "./lib/deliberation" }
nested-cli-parser = { path = "lib/nested-cli-parser" }
policy = { path = "./lib/policy" }
reasonerconn = { path = "./lib/reasonerconn" }
srv = { path = "lib/srv" }
state-resolver = { path = "lib/state-resolver" }
workflow = { path = "./lib/workflow" }
# Workspace dependencies
enum-debug.workspace = true
error-trace.workspace = true
humanlog.workspace = true
# GitLab
eflint-json = { git = "https://gitlab.com/eflint/json-spec-rs", branch = "incorrect-is-invariant" }
# Brane
brane-cfg = { git = "https://github.com/epi-project/brane", optional = true }
brane-shr = { git = "https://github.com/epi-project/brane" }
specifications = { git = "https://github.com/epi-project/brane" }
# Weird
graphql_client = { version = "0.13", optional = true }
[build-dependencies]
base16ct = { version = "0.2", features = ["alloc"] }
diesel = { version = "2.2.0", default-features = false, features = ["sqlite"] }
diesel_migrations = "2.2.0"
sha2 = "0.10.6"
eflint-to-json = { path = "./lib/eflint-to-json" }
# Workspace dependencies
error-trace.workspace = true
[features]
brane-api-resolver = [ "dep:graphql_client", "dep:brane-cfg", "dep:uuid" ]
leak-public-errors = []
[lints.clippy]
# I daren't listen to this, I'm pretty sure new Rust versions claim the opposite
redundant_static_lifetimes = "allow"
[workspace]
resolver = "2"
members = [
"lib/auth-resolver",
"lib/deliberation",
"lib/eflint-to-json",
"lib/policy",
"lib/reasonerconn",
"lib/srv",
"lib/state-resolver",
"lib/workflow",
"lib/audit-logger",
"lib/nested-cli-parser",
"tools/checker-client",
"tools/key-manager",
"tools/policy-builder",
]
[workspace.dependencies]
# The infamous lut99 crate set
enum-debug = { git = "https://github.com/Lut99/enum-debug", tag = "v1.1.0", features = ["derive"] }
error-trace = { git = "https://github.com/Lut99/error-trace-rs", tag = "v3.0.0" }
humanlog = { git = "https://github.com/Lut99/humanlog-rs", tag = "v0.2.0" }
names = { git = "https://github.com/Lut99/names-rs", tag = "v0.1.0", default-features = false, features = [ "rand", "three-lowercase", "three-usualcase" ]}
transform = { git = "https://github.com/Lut99/transform-rs", tag = "v0.2.0" }
# Eflint
eflint-json = { git = "https://gitlab.com/eflint/json-spec-rs", branch = "incorrect-is-invariant" }