fix(infra): refuse unsafe startup config, patch vulnerable dependencies #47
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/infra-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Review item M10 (+ LOW Docker naming), reviewed independently and fixed.
⚠️ Before deploying: the backend now refuses to start with a
JWT_SECRETshorter than 32 characters (or the.env.exampleplaceholder). Check the secret on every instance (openssl rand -base64 48). Also indocs/RELEASE-NOTES-SECURITY-2026-10.md.Startup
DATABASE_URLrequired outsideGEARTRACK_DEV_MODE, and always for the admin CLI (no more silent in-memory database).JWT_SECRET≥ 32 characters, trimmed, not the placeholder, outside dev mode.config.rswith unit tests, each refusal checked on the binary.Dependencies
actix-webwithout default features: no HTTP/2 (behind Caddy over HTTP/1.1), drops vulnerableh20.3.rustls0.23.46,quinn-proto0.11.19 (targeted updates).rsaignored in.cargo/audit.toml(sqlx MySQL, public-key only, no fix).vitest4.1,happy-dom20,vue3.5.44,postcss,nanoid,js-yaml,source-map-js,brace-expansion. Shipped deps other than vue unchanged (@tauri-apps/api,vuetify,vite,rollup…); dev tooling re-resolved.bun audit: 27 → 1 (braces, no fix, build-time i18n plugin, ignored).cargo-audit0.22.2 in devbox,task audit(Rust + web), green.Infra / docs
task docker:*(DOCKER_HTTP_IMAGE,DOCKER_WEB_IMAGE,DOCKER_TAG)..env.exampleno longer setsDATABASE_URL(it overrode the dev default and, through the Taskfile dotenv, reached the tests); documents deploying a pushed release without--build.task help.Checks: clippy, vue-tsc, taplo,
task audit; Rust 285 tests (also with a.envcopied from the example), gear-client 39, gear-web 237; production web build.🤖 Generated with Claude Code