fleet-manager: pull non-CI images through the Harbor mirror
Route the ad-hoc images I introduced through harbor.bitasylum.org (the standing rule): backup.sh uses harbor.bitasylum.org/dockerhub/library/alpine:3.20 (via an overridable ALPINE_IMAGE); the DEPLOY.md volume-chown fix + the goacme/lego prose use the Harbor paths too. Compose (influxdb/traefik) + Dockerfile bases are already harbor-mirrored; git.bitasylum.org/audiobuzz/* stays (CI-built).
This commit is contained in:
@@ -151,7 +151,8 @@ also keeps the WebAuthn secure-context clean.
|
|||||||
|
|
||||||
> **Self-TLS alternative (no Traefik):** set `FLEET_MGR_ADMIN_BEHIND_PROXY=false`
|
> **Self-TLS alternative (no Traefik):** set `FLEET_MGR_ADMIN_BEHIND_PROXY=false`
|
||||||
> and give the manager a cert at `/pki/admin/{fullchain,privkey}.pem` (e.g. via the
|
> and give the manager a cert at `/pki/admin/{fullchain,privkey}.pem` (e.g. via the
|
||||||
> `acme/renew-loop.sh` helper under a `goacme/lego` container). The manager then
|
> `acme/renew-loop.sh` helper under a `harbor.bitasylum.org/dockerhub/goacme/lego`
|
||||||
|
> container). The manager then
|
||||||
> terminates TLS itself and the origin includes the port it listens on.
|
> terminates TLS itself and the origin includes the port it listens on.
|
||||||
|
|
||||||
<a name="network-paths"></a>
|
<a name="network-paths"></a>
|
||||||
@@ -251,7 +252,7 @@ If you run compose under a non-default project name, pass
|
|||||||
once:
|
once:
|
||||||
```bash
|
```bash
|
||||||
docker volume ls | grep fleet # find the name, e.g. fleet-manager_fleet-data
|
docker volume ls | grep fleet # find the name, e.g. fleet-manager_fleet-data
|
||||||
docker run --rm -v <vol>:/data alpine chown -R 65532:65532 /data
|
docker run --rm -v <vol>:/data harbor.bitasylum.org/dockerhub/library/alpine:3.20 chown -R 65532:65532 /data
|
||||||
```
|
```
|
||||||
- **`authorise plane not configured (no enrol-broker wired)` in the SPA** — the
|
- **`authorise plane not configured (no enrol-broker wired)` in the SPA** — the
|
||||||
manager has the pillar disabled (`s.broker == nil`). Check
|
manager has the pillar disabled (`s.broker == nil`). Check
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
# NOTE: the default deployment fronts the admin UI with Traefik (docker-compose.yml),
|
# NOTE: the default deployment fronts the admin UI with Traefik (docker-compose.yml),
|
||||||
# which owns ACME itself — this script is NOT used then. It remains as the cert
|
# which owns ACME itself — this script is NOT used then. It remains as the cert
|
||||||
# helper for the SELF-TLS admin mode (FLEET_MGR_ADMIN_BEHIND_PROXY=false, no
|
# helper for the SELF-TLS admin mode (FLEET_MGR_ADMIN_BEHIND_PROXY=false, no
|
||||||
# Traefik): run it under a `goacme/lego` container to write ./pki/admin/.
|
# Traefik): run it under a harbor.bitasylum.org/dockerhub/goacme/lego container to
|
||||||
|
# write ./pki/admin/.
|
||||||
#
|
#
|
||||||
# Runs inside the goacme/lego image (alpine-based). Obtains the fleet-manager
|
# Runs inside the goacme/lego image (alpine-based). Obtains the fleet-manager
|
||||||
# admin-UI cert from Let's Encrypt via DNS-01 over AWS Route 53, and writes it
|
# admin-UI cert from Let's Encrypt via DNS-01 over AWS Route 53, and writes it
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
# COMPOSE_PROJECT_NAME=foo ./backup.sh # if you run compose under another project
|
# COMPOSE_PROJECT_NAME=foo ./backup.sh # if you run compose under another project
|
||||||
#
|
#
|
||||||
# Restore (manager stopped):
|
# Restore (manager stopped):
|
||||||
# docker run --rm -v <project>_fleet-data:/dest -v "$PWD/backups":/src alpine \
|
# docker run --rm -v <project>_fleet-data:/dest -v "$PWD/backups":/src \
|
||||||
|
# harbor.bitasylum.org/dockerhub/library/alpine:3.20 \
|
||||||
# sh -c 'rm -rf /dest/* && tar xzf /src/fleet-data-YYYYmmdd-HHMMSS.tar.gz -C /dest'
|
# sh -c 'rm -rf /dest/* && tar xzf /src/fleet-data-YYYYmmdd-HHMMSS.tar.gz -C /dest'
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
@@ -22,6 +23,8 @@ DEST=${1:-./backups}
|
|||||||
PROJECT=${COMPOSE_PROJECT_NAME:-fleet-manager} # compose derives volume names as <project>_<key>
|
PROJECT=${COMPOSE_PROJECT_NAME:-fleet-manager} # compose derives volume names as <project>_<key>
|
||||||
STAMP=$(date -u +%Y%m%d-%H%M%S)
|
STAMP=$(date -u +%Y%m%d-%H%M%S)
|
||||||
VOLUMES=${BACKUP_VOLUMES:-"fleet-data influx-data"}
|
VOLUMES=${BACKUP_VOLUMES:-"fleet-data influx-data"}
|
||||||
|
# Non-CI images pull through the Harbor mirror; overridable for other registries.
|
||||||
|
ALPINE_IMAGE=${ALPINE_IMAGE:-harbor.bitasylum.org/dockerhub/library/alpine:3.20}
|
||||||
|
|
||||||
mkdir -p "$DEST"
|
mkdir -p "$DEST"
|
||||||
DEST_ABS=$(cd "$DEST" && pwd)
|
DEST_ABS=$(cd "$DEST" && pwd)
|
||||||
@@ -37,7 +40,7 @@ for key in $VOLUMES; do
|
|||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v "${vol}:/src:ro" \
|
-v "${vol}:/src:ro" \
|
||||||
-v "${DEST_ABS}:/backup" \
|
-v "${DEST_ABS}:/backup" \
|
||||||
alpine tar czf "/backup/${out}" -C /src .
|
"$ALPINE_IMAGE" tar czf "/backup/${out}" -C /src .
|
||||||
done
|
done
|
||||||
|
|
||||||
# Retention: keep the newest $KEEP of each volume's tarballs (0 = keep all).
|
# Retention: keep the newest $KEEP of each volume's tarballs (0 = keep all).
|
||||||
|
|||||||
Reference in New Issue
Block a user