unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit d2c9e64162e49211b37c9f05dd43b534edef0457
parent 9532c65b2a653e3c7aa34739c7c810d7e6bd4f29
Author: Robin Bron <robin.bron@yourhosting.nl>
Date:   Fri, 25 Sep 2026 00:37:28 +0200

Use creds for apkindex check

Diffstat:
Mmk/bootstrap-repo.sh | 13++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/mk/bootstrap-repo.sh b/mk/bootstrap-repo.sh @@ -18,14 +18,17 @@ for v in BUCKET_ACCESS_KEY BUCKET_SECRET_KEY BUCKET_NAME BUCKET_ENDPOINT BUCKET_ done url="${BUCKET_ENDPOINT%/}/${BUCKET_NAME}/${ARCH}/APKINDEX.tar.gz" -# s3 endpoint is S3 API, not the http repo endpoint. Probe existence via -# anonymous HTTP the same way `apk` does; the bucket is world-readable so -# no SigV4 is needed for reads. SigV4 is only for the PUT below. -code=$(curl -sS -o /dev/null -w '%{http_code}' "${url}") || code=000 +code=$(curl -sS -o /dev/null -w '%{http_code}' \ + --aws-sigv4 "aws:amz:${BUCKET_REGION}:s3" \ + --user "${BUCKET_ACCESS_KEY}:${BUCKET_SECRET_KEY}" \ + "${url}") || code=000 case "${code}" in 2*) echo "==> repo already has ${ARCH}/APKINDEX.tar.gz (${code}), nothing to do"; exit 0 ;; - 400|404|000) echo "==> no ${ARCH}/APKINDEX.tar.gz (${code}), bootstrapping empty index" ;; + 404) echo "==> no ${ARCH}/APKINDEX.tar.gz (404), bootstrapping empty index" ;; + 000) echo "bootstrap-repo.sh: could not reach ${url} (curl failed)" >&2; exit 1 ;; + 400) echo "bootstrap-repo.sh: bad request (400) for ${url} -- check BUCKET_ENDPOINT/BUCKET_NAME/BUCKET_REGION" >&2; exit 1 ;; + 403) echo "bootstrap-repo.sh: permission denied (403) for ${url} -- check BUCKET credentials/region" >&2; exit 1 ;; *) echo "bootstrap-repo.sh: unexpected HTTP ${code} for ${url}" >&2; exit 1 ;; esac