From 8e48b40e886b932ff81ba67bbe95f43e63778b11 Mon Sep 17 00:00:00 2001 From: Josh Vaughen Date: Tue, 8 Sep 2026 23:58:08 -0700 Subject: [PATCH] docs: point examples at katoptra.org hosts --- README.md | 8 ++++---- .../specs/2026-09-08-toolbox-library-design.md | 4 ++-- examples/rsync/Taskfile.yml | 2 +- examples/rsync/render.txt | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6dcc398..ec7e2ee 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ version: '3' vars: SOURCE: rsync://rsync.dante.ctan.org/CTAN/ BUCKET: tlnet - HOST: tlnet.ijosh.com + HOST: tlnet.katoptra.org TL: systems/texlive/tlnet TL_KEY: C78B82D8C79512F79CC0D7C80D5E5D9106BAB6BC CEILING_GB: 10 @@ -227,7 +227,7 @@ includes: excludes: [report-engine, report-mirror] vars: NAME: tlnet - DESC: a daily mirror of TeX Live's tlnet at https://tlnet.ijosh.com/ + DESC: a daily mirror of TeX Live's tlnet at https://tlnet.katoptra.org/ IMAGE: ghcr.io/katoptra/toolbox:rsync-v2 PASS: AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_ENDPOINT_URL rsync: @@ -339,7 +339,7 @@ version: '3' vars: SOURCE: rsync://rsync.dante.ctan.org/CTAN/ BUCKET: ctan - HOST: ctan.ijosh.com + HOST: ctan.katoptra.org includes: toolbox: taskfile: https://raw.githubusercontent.com/katoptra/lib/v2/toolbox.yml @@ -347,7 +347,7 @@ includes: excludes: [report-engine] vars: NAME: ctan - DESC: an hourly mirror of CTAN at https://ctan.ijosh.com/ + DESC: an hourly mirror of CTAN at https://ctan.katoptra.org/ IMAGE: ghcr.io/katoptra/toolbox:rsync-v2 PASS: AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_ENDPOINT_URL rsync: diff --git a/docs/superpowers/specs/2026-09-08-toolbox-library-design.md b/docs/superpowers/specs/2026-09-08-toolbox-library-design.md index fb8e2e4..08e6fb7 100644 --- a/docs/superpowers/specs/2026-09-08-toolbox-library-design.md +++ b/docs/superpowers/specs/2026-09-08-toolbox-library-design.md @@ -43,14 +43,14 @@ version: '3' vars: SOURCE: rsync://rsync.dante.ctan.org/CTAN/ BUCKET: ctan - HOST: ctan.ijosh.com + HOST: ctan.katoptra.org includes: toolbox: taskfile: https://raw.githubusercontent.com/katoptra/lib/v1/toolbox.yml flatten: true vars: NAME: ctan - DESC: an hourly mirror of CTAN at https://ctan.ijosh.com/ + DESC: an hourly mirror of CTAN at https://ctan.katoptra.org/ IMAGE: ghcr.io/katoptra/toolbox:rsync-v1 PASS: MIRROR_VERBOSE # host env names that cross into the container tasks: diff --git a/examples/rsync/Taskfile.yml b/examples/rsync/Taskfile.yml index 20d713a..097545b 100644 --- a/examples/rsync/Taskfile.yml +++ b/examples/rsync/Taskfile.yml @@ -8,7 +8,7 @@ version: '3' vars: SOURCE: rsync://rsync.example.org/pub/ BUCKET: example - HOST: example.ijosh.com + HOST: example.katoptra.org LIST_FLOOR: 1 includes: toolbox: diff --git a/examples/rsync/render.txt b/examples/rsync/render.txt index aea6a9e..a9fe0c7 100644 --- a/examples/rsync/render.txt +++ b/examples/rsync/render.txt @@ -125,7 +125,7 @@ task: [checkpoint] mv /work/examples/rsync/.run/applied.new /work/examples/rsync task: [checkpoint] find /work/examples/rsync/staging -mindepth 1 -delete task: [smoke] { grep -h '^upload:' /work/examples/rsync/.run/publish.txt 2>/dev/null | sed 's|^upload: .* to s3://example/||' | head -3; } | awk 'BEGIN { for (i = 0; i < 256; i++) ord[sprintf("%c", i)] = i } function enc(s, out, j, c) { out = ""; for (j = 1; j <= length(s); j++) { c = substr(s, j, 1) - out = out ((c ~ /[A-Za-z0-9\/._~-]/) ? c : sprintf("%%%02X", ord[c])) } return out } { print $0 "\t" enc($0) }' | while IFS="$(printf '\t')" read -r k u; do want=$(awk -F'\t' -v k="$k" '$1 == k { print $2 }' /work/examples/rsync/.run/upstream.txt); got=$(curl -fsS --connect-timeout 15 --max-time 60 --retry 6 --retry-connrefused --retry-max-time 600 -r 0-0 -D - -o /dev/null "https://example.ijosh.com/$u" | awk 'tolower($1) == "content-range:" { split($3, a, "/"); r = a[2] } + out = out ((c ~ /[A-Za-z0-9\/._~-]/) ? c : sprintf("%%%02X", ord[c])) } return out } { print $0 "\t" enc($0) }' | while IFS="$(printf '\t')" read -r k u; do want=$(awk -F'\t' -v k="$k" '$1 == k { print $2 }' /work/examples/rsync/.run/upstream.txt); got=$(curl -fsS --connect-timeout 15 --max-time 60 --retry 6 --retry-connrefused --retry-max-time 600 -r 0-0 -D - -o /dev/null "https://example.katoptra.org/$u" | awk 'tolower($1) == "content-range:" { split($3, a, "/"); r = a[2] } tolower($1) == "content-length:" { c = $2 } $2 == "416" { z = 1 } END { sub(/\r/, "", r); sub(/\r/, "", c); print (r != "" ? r : (z ? 0 : c)) }'); echo "$k: $got bytes (listing: $want)"; test "$got" = "$want" || exit 1; done