[package]
edition = "2024"
name = "flow-iron"
version = "0.4.13"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Infrastructure-as-code CLI — deploy Docker Compose apps with Caddy reverse proxy and Cloudflare DNS"
readme = "README.md"
keywords = [
"deploy",
"docker",
"infrastructure",
"caddy",
"cloudflare",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/flow-industries/iron"
[lib]
name = "iron"
path = "src/lib.rs"
[[bin]]
name = "flow"
path = "src/main.rs"
[[bin]]
name = "iron"
path = "src/main.rs"
[[test]]
name = "app"
path = "tests/app.rs"
[[test]]
name = "caddy"
path = "tests/caddy.rs"
[[test]]
name = "cloudflare"
path = "tests/cloudflare.rs"
[[test]]
name = "compose"
path = "tests/compose.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "ghcr"
path = "tests/ghcr.rs"
[[test]]
name = "init"
path = "tests/init.rs"
[[test]]
name = "login"
path = "tests/login.rs"
[[test]]
name = "server"
path = "tests/server.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.comfy-table]
version = "7"
[dependencies.console]
version = "0.15"
[dependencies.crossterm]
version = "0.28"
features = ["event-stream"]
[dependencies.futures]
version = "0.3"
default-features = false
[dependencies.indicatif]
version = "0.17"
[dependencies.openssh]
version = "0.11"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "0.8"
[dependencies.toml_edit]
version = "0.22"
[dev-dependencies.tempfile]
version = "3.26.0"
[lints.clippy]
clone_on_ref_ptr = "deny"
expect_used = "deny"
format_push_string = "allow"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
too_many_lines = "allow"
unwrap_used = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"
[profile.release]
lto = true
overflow-checks = true
strip = true