Files
RustProxy/docs/TEST_REPORT.md
T
2026-10-07 13:40:21 +02:00

3.8 KiB

Verification report - RustProxy 0.27.1

Scope

RustProxy 0.27.1 changes first-administrator onboarding, ACME/Certbot runtime preparation and account-scoped sorting for vhosts, Docker vhosts, redirects, 404 hosts and streams while keeping SQLite schema 8.

The first-run administrator screen now presents a complete command using the default ./data directory and a second standard-service example using /var/lib/rustproxy.

Certificate automation now prefers a RustProxy-owned Python environment at <data-dir>/acme-python. Missing environments are prepared with venv and pip; when a distribution omits the stdlib venv module but provides pip, RustProxy can bootstrap virtualenv into its own data directory rather than changing distribution site-packages. Certbot 5.8.0 and the Cloudflare, OVH and RFC2136 plugins are installed into that managed environment. A runnable distribution Certbot remains the fallback. The Certificates panel reports managed/system/preparing/unavailable state and missing Python/pip diagnostics; manual PEM import and existing-file workflows do not depend on ACME runtime availability.

The route/list pages gain feature-specific sort-column and sort-direction controls. Their values are saved in the existing account-scoped administrator preferences and default safely when absent. Redirects and 404 hosts use the same search/sort/action toolbar structure as Vhosts.

Regression coverage

Static/source contracts cover the new first-run commands, ACME runtime status UI/API, managed environment path and pinned package set, distro fallback markers, preference fields and list-specific sort controls. They also reject the development-only ./dev.sh tls deploy UI hook and require the production binary/data-directory example, both official repository links and Python/pip/Certbot runtime metadata in the startup banner and authenticated application information. Existing release-smoke, language/OpenAPI, source-module, security, web-server, browser-service and Docker-agent gates remain part of the Rust-independent verification set.

Verification status in this workspace

Rust/Cargo is not installed in this workspace. Rust-independent checks are run here; compiler/type/runtime gates remain explicitly open until this source is checked on a Rust-enabled release host.

Check Status
changed administration JavaScript syntax (node --check) PASS
language/OpenAPI JSON parse PASS
python3 scripts/langs_check.py PASS
python3 scripts/memory_contracts.py PASS
python3 scripts/web_server_contracts.py PASS
python3 scripts/security_contracts.py PASS
python3 scripts/security_dependency_contracts.py PASS
python3 scripts/source_module_contracts.py PASS
python3 scripts/rust_module_contracts.py PASS
python3 scripts/docs_check.py PASS
python3 scripts/release_smoke.py PASS
node scripts/web_service_ui_test.mjs PASS
go test ./... in docker-agent PASS
python3 scripts/check_source.py PASS; explicitly reports Rust parsing/types/runtime as not verified
./dev.sh test Rust-independent gates PASS; wrapper exits 127 at the Rust stage because Cargo is unavailable
./dev.sh check BLOCKED: Rust/Cargo toolchain unavailable
cargo fmt --check BLOCKED: Rust/Cargo toolchain unavailable
cargo clippy --all-targets --all-features -- -D warnings BLOCKED: Rust/Cargo toolchain unavailable
cargo test --all-targets --all-features BLOCKED: Rust/Cargo toolchain unavailable
complete release build BLOCKED at Rust compilation: Rust/Cargo toolchain unavailable

The 0.27.1 source archive must not be described as compiler-verified or production-ready until the Rust-enabled release-host gates pass. Static/source contracts do not substitute for Rust parsing, type checking, Clippy, unit tests or real protocol runtime tests.