#!/usr/bin/env bash # The image registry — remote, and reachable only over the overlay. # # Usage: # ./registry.sh status # # One verb: berth reports on a registry running on someone else's box. Starting # and stopping it is that box's business. set -euo pipefail cd "$(dirname "$0")" source ./lib/config.sh source ./lib/estate.sh load_config status() { local wg_server; wg_server=$(overlay_get estate "peers.box.address") echo "registry: registry.${DOMAIN} (public pull via /v2/)" echo "push: ${wg_server}:5000 (WireGuard-only, not in the firewall)" echo echo "would run:" echo " curl -s https://registry.${DOMAIN}/v2/_catalog" echo echo "NOTE: the push endpoint binds ${wg_server}, and $(estate_get 'vpn._status')." echo " A freshly-provisioned box cannot start the gateway compose file" echo " at all, because that bind fails." } case "${1:-status}" in status) status ;; *) echo "usage: $0 [status]" >&2; exit 1 ;; esac