aboutsummaryrefslogtreecommitdiff
path: root/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml114
1 files changed, 114 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..e08c687
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,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"