v0.35.1: performance, AGPL licensing and documentation overhaul
- Web Server reads static files inline; proxy middleware chain flattened - About window with license summary and project links; AGPL-3.0-or-later - Rewritten documentation: feature list, screenshots, performance guide - Fix false spikes in per-Vhost request-rate charts
This commit is contained in:
1 parent
d3b492874b
commit
eba9f89283
135 files changed
+1425
-1064
No files matched your search
+5
-12
@@ -106,18 +106,14 @@ run_builder() {
|
||||
|
||||
run_builder git clone --depth 1 "$REPO_URL" "$work/RustProxy"
|
||||
|
||||
# The builder, not root, owns the toolchain. Never update a system-wide
|
||||
# apt-managed compiler or change the user's default rustup toolchain.
|
||||
# rustup is needed even when an older system-installed cargo exists.
|
||||
# The unprivileged builder owns its rustup toolchain; system compilers are left untouched.
|
||||
if ! run_builder bash -c 'command -v rustup >/dev/null 2>&1'; then
|
||||
echo "Installing rustup for build user: $builder"
|
||||
run_builder env RUSTUP_INIT_SKIP_PATH_CHECK=yes bash -c \
|
||||
'set -o pipefail; wget -qO- --https-only --secure-protocol=TLSv1_2 https://sh.rustup.rs | sh -s -- -y --profile minimal --no-modify-path --default-toolchain none'
|
||||
fi
|
||||
|
||||
# Read the actual requirements from the checked-out sources, not a hardcoded
|
||||
# Rust version. The project may inherit rust-version from [workspace.package].
|
||||
# The channel from rust-toolchain.toml (or legacy rust-toolchain) takes precedence.
|
||||
# Read the required Rust version and channel from the checked-out sources.
|
||||
rust_settings=$(python3 - "$work/RustProxy" <<'PY_RUST'
|
||||
import pathlib
|
||||
import re
|
||||
@@ -175,8 +171,7 @@ if [[ -z "$installed_rust" ]] || ! rust_version_at_least "$installed_rust" "$req
|
||||
run_builder rustup update "$build_toolchain"
|
||||
;;
|
||||
*)
|
||||
# A fixed toolchain must be respected. Do not silently override a pin
|
||||
# that is older than the manifest's minimum supported Rust version.
|
||||
# Never silently override a pinned toolchain older than rust-version.
|
||||
if [[ -n "$installed_rust" ]]; then
|
||||
echo "Pinned toolchain '$build_toolchain' is older than rust-version $required_rust; fix rust-toolchain.toml in the repository." >&2
|
||||
exit 1
|
||||
@@ -193,8 +188,7 @@ fi
|
||||
run_builder rustup run "$build_toolchain" cargo --version
|
||||
echo "Building with Rust $installed_rust ($build_toolchain); required >= $required_rust."
|
||||
|
||||
# Keep source builds reliable on small Debian VPSes. The repository release
|
||||
# profile may use LTO/codegen settings that can make rustc exceed RAM limits.
|
||||
# Lighter release settings keep builds within RAM limits on small VPSes.
|
||||
BUILD_JOBS="${RUSTPROXY_BUILD_JOBS:-1}"
|
||||
if ! [[ "$BUILD_JOBS" =~ ^[1-9][0-9]*$ ]]; then
|
||||
echo "RUSTPROXY_BUILD_JOBS must be a positive integer." >&2
|
||||
@@ -230,8 +224,7 @@ if [[ "$MODE" == install ]]; then
|
||||
printf 'Administration is loopback-only by default. Use an SSH tunnel or enable Administration HTTPS before remote exposure.\n'
|
||||
fi
|
||||
else
|
||||
# update.sh reads the saved installation record and therefore preserves the
|
||||
# existing data directory, HTTP/TLS/admin binds and service account.
|
||||
# update.sh preserves the saved data directory, binds and service account.
|
||||
bash update.sh \
|
||||
--binary target/release/rust-proxy \
|
||||
--prefix "$PREFIX"
|
||||
|
||||
Reference in new issue
Block a user