aboutsummaryrefslogtreecommitdiff
path: root/Cargo.toml
blob: e08c687e71faeda69311e2acc16617f2aaf54609 (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
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
# Copyright (C) 2026 Doan Luu Duc Tai <doan@luuduct.ai>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

[package]
name = "stack"
version = "0.1.0"
edition = "2024"
rust-version = "1.99"
authors = ["Doan Luu Duc Tai <doan@luuduct.ai>"]
license = "AGPL-3.0-or-later"
description = "Rust management, backup, and deployment for a personal web stack."
repository = "https://git.doan.luuduct.ai/stack"
readme = "README.txt"
keywords = ["self-hosting", "deployment", "backup", "podman", "cli"]
categories = ["command-line-utilities", "web-programming"]
publish = false
exclude = ["var", ".tools", "target", "bin", "dist"]

[dependencies]
anyhow = "1.0"
chrono = { version = "0.4", default-features = false, features = ["now", "std"] }
clap = { version = "4.6", features = ["derive"] }
dotenvy = "0.15"
hex = "0.4"
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.11"
tar = "0.4"
tempfile = "3"
toml = "1.1"
walkdir = "2"

[profile.release]
opt-level = 3
strip = true
lto = true
incremental = false

[workspace]
members = ["."]
resolver = "3"

[lints]
workspace = true

[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "deny"
missing_crate_level_docs = "deny"

[workspace.lints.rust]
unused = { level = "deny", priority = -1 }
nonstandard_style = { level = "deny", priority = -1 }
future_incompatible = { level = "deny", priority = -1 }
rust_2018_idioms = { level = "deny", priority = -1 }
let_underscore = { level = "deny", priority = -1 }
unsafe_code = "deny"
unstable_features = "deny"
missing_docs = "deny"
missing_debug_implementations = "deny"
unreachable_pub = "deny"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unreachable_patterns = "deny"
warnings = "deny"
unused_qualifications = "deny"

[workspace.lints.clippy]
all = { level = "deny", priority = -1 }
correctness = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
complexity = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
todo = "deny"
print_stdout = "deny"
print_stderr = "deny"
unwrap_used = "deny"
expect_used = "deny"
dbg_macro = "deny"
mem_forget = "deny"
exit = "deny"
integer_division = "deny"
clone_on_ref_ptr = "deny"
indexing_slicing = "deny"
arithmetic_side_effects = "deny"
float_arithmetic = "deny"
as_conversions = "deny"
shadow_reuse = "deny"
shadow_same = "deny"
unseparated_literal_suffix = "deny"
undocumented_unsafe_blocks = "deny"
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_sign_loss = "deny"
missing_errors_doc = "deny"
multiple_crate_versions = "allow"
redundant_pub_crate = "allow"