diff --git a/Cargo.toml b/Cargo.toml index 2d305ba..174b9a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,10 @@ name = "continuum-proxy" version = "0.1.0" edition = "2024" description = "Continuum edge gateway daemon - runs on-site, bridges printers to the cloud control plane" -license = "UNLICENSED" +# Proprietary: deliberately not an SPDX id, so cargo-deny treats it as +# first-party. See docs/LICENSES.md in continuum-common. +license = "LicenseRef-Proprietary" +publish = false [lib] name = "continuum_proxy" @@ -29,6 +32,8 @@ path = "examples/auto_connect_bambu.rs" name = "bambu_commands_demo" path = "examples/bambu_commands_demo.rs" + + [dependencies] # Real printer protocol clients (MQTT for Bambu, HTTP for PrusaLink/ # Moonraker, FTPS for gcode transfer) go here once you're ready to build diff --git a/deny.toml b/deny.toml new file mode 100644 index 0000000..5f7a77e --- /dev/null +++ b/deny.toml @@ -0,0 +1,43 @@ +# Licence policy for a closed-source commercial product. +# See docs/LICENSES.md in continuum-common for the rationale and the +# non-cargo dependencies (external binaries, ML models) this file cannot see. +# +# Run: cargo deny check licenses + +[licenses] +# Permissive only. Anything copyleft reaching a shipped binary would make +# the product undistributable without releasing our source. +allow = [ + "MIT", + "Apache-2.0", + "Apache-2.0 WITH LLVM-exception", + "BSD-2-Clause", + "BSD-3-Clause", + "ISC", + "Zlib", + "Unicode-3.0", + "Unlicense", + "MPL-2.0", + "CC0-1.0", + "BlueOak-1.0.0", +] +confidence-threshold = 0.9 + +# Our own crates declare `LicenseRef-Proprietary`, which is deliberately not +# an SPDX identifier and must never appear in the allow list above - a +# third-party crate claiming it would be a real finding. They are recognised +# as first-party by `publish = false` in their manifests. +private = { ignore = true } + +[bans] +deny = [] + +[advisories] +yanked = "deny" + +# NOT VISIBLE TO THIS FILE: src/go2rtc.rs spawns go2rtc as an external +# process found on PATH (go2rtc itself is MIT). go2rtc shells out to ffmpeg +# for transcoding - ffmpeg is LGPL-2.1+ only when built without +# `--enable-gpl`. If we ever ship either binary rather than requiring the +# operator to install it, the build flags become our problem. See +# docs/LICENSES.md.