dl split: the bin project's production hostname is igneum-dl-bin.vercel.app (the project-team form of a Vercel hostname answers with the SSO redirect, the plain form is the production alias)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
b68baee7e6
commit
8f00bfcdd1
3 changed files with 4 additions and 4 deletions
|
|
@ -203,7 +203,7 @@ re-hashed every binary on every manifest publish (17 GB of deploys on the Mac in
|
|||
|
||||
- `~/.config/igneum/dl-bin-host`: `user@host` of build-1 (the store and the publisher of the bin project; the Vercel
|
||||
credential sits there in `~/.vercel-igneum`). `~/.config/igneum/dl-bin-base`: the bin project's production URL
|
||||
(default `https://igneum-dl-bin-igneum.vercel.app`).
|
||||
(default `https://igneum-dl-bin.vercel.app`).
|
||||
- Pid files: `<dlsite>/.publish-bin.pid` on the Mac, `/srv/artefacts/dl-bin/.deploy.pid` on the box; a second run refuses.
|
||||
- A re-cut under the same file name (a different size) is copied again; a file removed from the folder stays in the
|
||||
store and keeps answering (the URL rule; prune by hand on the box when a withdrawal must stop serving).
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ PY
|
|||
KEEP="$(python3 -c 'import json,sys; a=json.loads(sys.argv[1]); print(" ".join(v for v in a.values() if v))' "$ALIASES_JSON")"
|
||||
# the binaries live in the project igneum-dl-bin (tools/dl/publish-bin.sh, 9 October 2026); this project rewrites every
|
||||
# binary path there and the aliases point there directly (a rewrite's destination is never rewritten again)
|
||||
BIN_BASE="$( [ -f "$CFG/dl-bin-base" ] && tr -d '[:space:]' < "$CFG/dl-bin-base" || echo https://igneum-dl-bin-igneum.vercel.app)"
|
||||
BIN_BASE="$( [ -f "$CFG/dl-bin-base" ] && tr -d '[:space:]' < "$CFG/dl-bin-base" || echo https://igneum-dl-bin.vercel.app)"
|
||||
log "aliases (vercel.json rewrites under /public/, served from $BIN_BASE):"
|
||||
python3 -c 'import json,sys; a=json.loads(sys.argv[1]); [print(" /public/%s -> %s" % (k, (sys.argv[2] + "/dl/public/" + v) if v else "(no file yet; alias left out)")) for k,v in a.items()]' "$ALIASES_JSON" "$BIN_BASE" | scrub
|
||||
VERCEL_JSON="$(python3 - "$ALIASES_JSON" "$BIN_BASE" <<'PY'
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
# What counts as a binary: *.dmg, *.exe, *.zip, *.gz under dl/, and everything under a moves/ folder. Everything else
|
||||
# stays in the small project (its .vercelignore lists the same patterns).
|
||||
# Reads ~/.config/igneum/dlsite-dir (IGNEUM_DLSITE overrides), ~/.config/igneum/dl-bin-host (user@host of build-1, required),
|
||||
# ~/.config/igneum/dl-bin-base (default https://igneum-dl-bin-igneum.vercel.app). Pid files: <dlsite>/.publish-bin.pid on
|
||||
# ~/.config/igneum/dl-bin-base (default https://igneum-dl-bin.vercel.app). Pid files: <dlsite>/.publish-bin.pid on
|
||||
# the Mac, <store>/.deploy.pid on the box; a second run refuses (exit 75). Never kills anything.
|
||||
set -euo pipefail
|
||||
MODE=run; FORCE=0
|
||||
|
|
@ -23,7 +23,7 @@ DLSITE="${IGNEUM_DLSITE:-}"; [ -n "$DLSITE" ] || { [ -f "$CFG/dlsite-dir" ] && D
|
|||
[ -n "$DLSITE" ] && [ -d "$DLSITE/dl" ] || { echo "no downloads folder: ~/.config/igneum/dlsite-dir must hold dl/" >&2; exit 1; }
|
||||
HOST="$( [ -f "$CFG/dl-bin-host" ] && tr -d '[:space:]' < "$CFG/dl-bin-host" || true)"
|
||||
[ -n "$HOST" ] || { echo "no store host: ~/.config/igneum/dl-bin-host must hold user@host of build-1 (the box that publishes the bin project)" >&2; exit 1; }
|
||||
BASE="$( [ -f "$CFG/dl-bin-base" ] && tr -d '[:space:]' < "$CFG/dl-bin-base" || echo https://igneum-dl-bin-igneum.vercel.app)"
|
||||
BASE="$( [ -f "$CFG/dl-bin-base" ] && tr -d '[:space:]' < "$CFG/dl-bin-base" || echo https://igneum-dl-bin.vercel.app)"
|
||||
STORE=/srv/artefacts/dl-bin
|
||||
SSH=(ssh -o BatchMode=yes -o ConnectTimeout=15 "$HOST")
|
||||
log() { echo "publish-bin: $*"; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue