From a4fd0f3128a6d98a0405de9cd51826ea74b6e866 Mon Sep 17 00:00:00 2001 From: "xiuting.xu" Date: Tue, 28 Jul 2026 14:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 2 +- Cargo.toml | 2 +- deploy/client/.env | 9 +- deploy/client/build-run.sh | 83 ++++++++++++++++++- deploy/client/docker-compose.clients.yml | 10 +-- deploy/client/docker-compose.ssh.password.yml | 2 +- deploy/client/docker-compose.ssh.yml | 2 +- deploy/client/docker-compose.tcp.yml | 2 +- deploy/client/docker-compose.tls.yml | 2 +- deploy/client/docker-compose.yml | 2 +- deploy/server/.env | 9 +- deploy/server/build-run.sh | 83 ++++++++++++++++++- deploy/server/docker-compose.ssh.yml | 2 +- deploy/server/docker-compose.tcp.yml | 2 +- deploy/server/docker-compose.tls.yml | 2 +- deploy/server/docker-compose.yml | 2 +- 16 files changed, 190 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a19179..62becf6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2087,7 +2087,7 @@ dependencies = [ [[package]] name = "rpki" -version = "0.1.0" +version = "1.3.0" dependencies = [ "anyhow", "arc-swap", diff --git a/Cargo.toml b/Cargo.toml index 9c84bfa..4499859 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rpki" -version = "0.1.0" +version = "1.3.0" edition = "2024" [[bin]] diff --git a/deploy/client/.env b/deploy/client/.env index 4954c67..21385f6 100644 --- a/deploy/client/.env +++ b/deploy/client/.env @@ -1,6 +1,11 @@ # Target RTR server addresses for client compose files -# RPKI_RTR_CLIENT_IMAGE=rpki-rtr-debug-client-arm64:v1.2 -RPKI_RTR_CLIENT_IMAGE=rpki-rtr-debug-client-amd64:v1.2 +# build-run.sh auto-detects amd64/arm64 unless IMAGE_ARCH/RPKI_RTR_IMAGE_ARCH is set before running it. +# Direct docker compose uses RPKI_RTR_IMAGE_ARCH from this file; set it to arm64 on ARM hosts. +RPKI_RTR_CLIENT_IMAGE_BASE=rpki-rtr-debug-client +RPKI_RTR_CLIENT_IMAGE_TAG=v1.3 +RPKI_RTR_IMAGE_ARCH=arm64 +# RPKI_RTR_TARGET_PLATFORM=linux/amd64 +# RPKI_RTR_CLIENT_IMAGE=rpki-rtr-debug-client-amd64:v1.3 # TCP example: 10.0.0.12:323 # TLS example: rpki.example.com:324 diff --git a/deploy/client/build-run.sh b/deploy/client/build-run.sh index b2a46fd..f536c40 100644 --- a/deploy/client/build-run.sh +++ b/deploy/client/build-run.sh @@ -3,14 +3,65 @@ set -euo pipefail SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)" +CALLER_TARGET_PLATFORM="${TARGET_PLATFORM:-${RPKI_RTR_TARGET_PLATFORM:-}}" +CALLER_IMAGE_ARCH="${IMAGE_ARCH:-${RPKI_RTR_IMAGE_ARCH:-}}" +CALLER_CLIENT_IMAGE="${CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE:-}}" + +load_env_defaults() { + local line key value + [[ -f "${SCRIPT_DIR}/.env" ]] || return + + while IFS= read -r line || [[ -n "${line}" ]]; do + line="${line%$'\r'}" + [[ -z "${line}" || "${line}" =~ ^[[:space:]]*# ]] && continue + [[ "${line}" == *"="* ]] || continue + + key="${line%%=*}" + value="${line#*=}" + key="${key#"${key%%[![:space:]]*}"}" + key="${key%"${key##*[![:space:]]}"}" + [[ "${key}" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]] || continue + + if [[ -z "${!key+x}" ]]; then + export "${key}=${value}" + fi + done < "${SCRIPT_DIR}/.env" +} + +detect_image_arch() { + case "$(uname -m)" in + x86_64|amd64) printf '%s\n' amd64 ;; + aarch64|arm64) printf '%s\n' arm64 ;; + *) die "unsupported host architecture '$(uname -m)'; set RPKI_RTR_IMAGE_ARCH=amd64 or arm64" ;; + esac +} + +platform_for_image_arch() { + case "$1" in + amd64) printf '%s\n' linux/amd64 ;; + arm64) printf '%s\n' linux/arm64 ;; + *) die "unsupported image arch '$1', expected amd64 or arm64" ;; + esac +} + +image_arch_from_platform() { + case "$1" in + linux/amd64|amd64) printf '%s\n' amd64 ;; + linux/arm64|arm64) printf '%s\n' arm64 ;; + *) return 1 ;; + esac +} + +load_env_defaults MODE="${MODE:-tcp}" ACTION="up" DETACH="${DETACH:-1}" BUILD="${BUILD:-1}" CLIENTS="${CLIENTS:-single}" -TARGET_PLATFORM="${TARGET_PLATFORM:-linux/arm64}" -CLIENT_IMAGE="${CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest}}" +TARGET_PLATFORM="${CALLER_TARGET_PLATFORM}" +IMAGE_ARCH="${CALLER_IMAGE_ARCH}" +CLIENT_IMAGE="${CALLER_CLIENT_IMAGE}" BUILDX_PUSH="${BUILDX_PUSH:-0}" BUILDX_BUILDER="${BUILDX_BUILDER:-}" SKIP_BASE_IMAGE_PULL="${SKIP_BASE_IMAGE_PULL:-0}" @@ -33,7 +84,9 @@ Actions: Options: --mode MODE base|tcp|tls|ssh (default: tcp) --clients MODE single|multi (default: single) - --platform VALUE Target platform for buildx (default: linux/arm64) + --platform VALUE Target platform for buildx (default: host architecture) + --image-arch VALUE + Image architecture suffix for default tag: amd64|arm64 --client-image TAG Client image tag for buildx and compose --push Push buildx image instead of loading it locally @@ -161,6 +214,11 @@ while [[ $# -gt 0 ]]; do TARGET_PLATFORM="$2" shift 2 ;; + --image-arch) + [[ $# -ge 2 ]] || die "--image-arch requires a value" + IMAGE_ARCH="$2" + shift 2 + ;; --client-image) [[ $# -ge 2 ]] || die "--client-image requires a value" CLIENT_IMAGE="$2" @@ -197,6 +255,25 @@ while [[ $# -gt 0 ]]; do esac done +if [[ -z "${TARGET_PLATFORM}" ]]; then + [[ -n "${IMAGE_ARCH}" ]] || IMAGE_ARCH="$(detect_image_arch)" + TARGET_PLATFORM="$(platform_for_image_arch "${IMAGE_ARCH}")" +elif [[ -z "${IMAGE_ARCH}" ]]; then + if [[ "${TARGET_PLATFORM}" != *,* ]] && IMAGE_ARCH="$(image_arch_from_platform "${TARGET_PLATFORM}")"; then + : + else + IMAGE_ARCH="$(detect_image_arch)" + fi +fi + +if [[ -z "${CLIENT_IMAGE}" ]]; then + if [[ "${TARGET_PLATFORM}" == *,* ]]; then + CLIENT_IMAGE="${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}" + else + CLIENT_IMAGE="${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${IMAGE_ARCH}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}" + fi +fi + [[ "${CLIENTS}" == "single" || "${CLIENTS}" == "multi" ]] || die "unsupported clients '${CLIENTS}', expected single|multi" export RPKI_RTR_CLIENT_IMAGE="${CLIENT_IMAGE}" if [[ "${ACTION}" == "buildx" ]]; then diff --git a/deploy/client/docker-compose.clients.yml b/deploy/client/docker-compose.clients.yml index 11eb11e..9c8cab4 100644 --- a/deploy/client/docker-compose.clients.yml +++ b/deploy/client/docker-compose.clients.yml @@ -2,7 +2,7 @@ version: "3.9" services: rtr-client-1: - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs @@ -11,7 +11,7 @@ services: - rpki_net rtr-client-2: - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs @@ -20,7 +20,7 @@ services: - rpki_net rtr-client-3: - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs @@ -29,7 +29,7 @@ services: - rpki_net rtr-client-4: - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs @@ -38,7 +38,7 @@ services: - rpki_net rtr-client-5: - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs diff --git a/deploy/client/docker-compose.ssh.password.yml b/deploy/client/docker-compose.ssh.password.yml index 21ab07a..a5e8887 100644 --- a/deploy/client/docker-compose.ssh.password.yml +++ b/deploy/client/docker-compose.ssh.password.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/client/Dockerfile - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: [ "${RPKI_RTR_SSH_SERVER_ADDR:-rpki-rtr:22}", diff --git a/deploy/client/docker-compose.ssh.yml b/deploy/client/docker-compose.ssh.yml index 2b1c2de..1f1e063 100644 --- a/deploy/client/docker-compose.ssh.yml +++ b/deploy/client/docker-compose.ssh.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/client/Dockerfile - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: [ "${RPKI_RTR_SSH_SERVER_ADDR:-rpki-rtr:22}", diff --git a/deploy/client/docker-compose.tcp.yml b/deploy/client/docker-compose.tcp.yml index ec62139..d7fb80e 100644 --- a/deploy/client/docker-compose.tcp.yml +++ b/deploy/client/docker-compose.tcp.yml @@ -3,7 +3,7 @@ services: build: context: ../.. dockerfile: deploy/client/Dockerfile - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs diff --git a/deploy/client/docker-compose.tls.yml b/deploy/client/docker-compose.tls.yml index 4ff070e..237038e 100644 --- a/deploy/client/docker-compose.tls.yml +++ b/deploy/client/docker-compose.tls.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/client/Dockerfile - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: [ "${RPKI_RTR_TLS_SERVER_ADDR:-rpki-rtr:324}", diff --git a/deploy/client/docker-compose.yml b/deploy/client/docker-compose.yml index ec62139..d7fb80e 100644 --- a/deploy/client/docker-compose.yml +++ b/deploy/client/docker-compose.yml @@ -3,7 +3,7 @@ services: build: context: ../.. dockerfile: deploy/client/Dockerfile - image: ${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client:latest} + image: ${RPKI_RTR_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE_BASE:-rpki-rtr-debug-client}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_CLIENT_IMAGE_TAG:-latest}} command: ["${RPKI_RTR_TCP_SERVER_ADDR:-rpki-rtr:323}", "${RPKI_RTR_PROTOCOL_VERSION:-2}", "reset", "--keep-after-error", "--summary-only"] volumes: - ${RPKI_RTR_CLIENT_LOG_HOST_DIR:-../../logs/client}:/app/logs diff --git a/deploy/server/.env b/deploy/server/.env index d516e18..733f8b7 100644 --- a/deploy/server/.env +++ b/deploy/server/.env @@ -1,6 +1,11 @@ # Core runtime knobs. -# RPKI_RTR_SERVER_IMAGE=rpki-rtr-arm64:v1.2 -RPKI_RTR_SERVER_IMAGE=rpki-rtr-amd64:v1.2 +# build-run.sh auto-detects amd64/arm64 unless IMAGE_ARCH/RPKI_RTR_IMAGE_ARCH is set before running it. +# Direct docker compose uses RPKI_RTR_IMAGE_ARCH from this file; set it to arm64 on ARM hosts. +RPKI_RTR_SERVER_IMAGE_BASE=rpki-rtr +RPKI_RTR_SERVER_IMAGE_TAG=v1.3 +RPKI_RTR_IMAGE_ARCH=arm64 +# RPKI_RTR_TARGET_PLATFORM=linux/amd64 +# RPKI_RTR_SERVER_IMAGE=rpki-rtr-amd64:v1.3 # Data source directories on host. RPKI_RTR_CCR_HOST_DIR=../../data diff --git a/deploy/server/build-run.sh b/deploy/server/build-run.sh index d3e7437..7a04eb1 100644 --- a/deploy/server/build-run.sh +++ b/deploy/server/build-run.sh @@ -3,13 +3,64 @@ set -euo pipefail SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)" +CALLER_TARGET_PLATFORM="${TARGET_PLATFORM:-${RPKI_RTR_TARGET_PLATFORM:-}}" +CALLER_IMAGE_ARCH="${IMAGE_ARCH:-${RPKI_RTR_IMAGE_ARCH:-}}" +CALLER_SERVER_IMAGE="${SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE:-}}" + +load_env_defaults() { + local line key value + [[ -f "${SCRIPT_DIR}/.env" ]] || return + + while IFS= read -r line || [[ -n "${line}" ]]; do + line="${line%$'\r'}" + [[ -z "${line}" || "${line}" =~ ^[[:space:]]*# ]] && continue + [[ "${line}" == *"="* ]] || continue + + key="${line%%=*}" + value="${line#*=}" + key="${key#"${key%%[![:space:]]*}"}" + key="${key%"${key##*[![:space:]]}"}" + [[ "${key}" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]] || continue + + if [[ -z "${!key+x}" ]]; then + export "${key}=${value}" + fi + done < "${SCRIPT_DIR}/.env" +} + +detect_image_arch() { + case "$(uname -m)" in + x86_64|amd64) printf '%s\n' amd64 ;; + aarch64|arm64) printf '%s\n' arm64 ;; + *) die "unsupported host architecture '$(uname -m)'; set RPKI_RTR_IMAGE_ARCH=amd64 or arm64" ;; + esac +} + +platform_for_image_arch() { + case "$1" in + amd64) printf '%s\n' linux/amd64 ;; + arm64) printf '%s\n' linux/arm64 ;; + *) die "unsupported image arch '$1', expected amd64 or arm64" ;; + esac +} + +image_arch_from_platform() { + case "$1" in + linux/amd64|amd64) printf '%s\n' amd64 ;; + linux/arm64|arm64) printf '%s\n' arm64 ;; + *) return 1 ;; + esac +} + +load_env_defaults MODE="${MODE:-tcp}" ACTION="up" DETACH="${DETACH:-1}" BUILD="${BUILD:-1}" -TARGET_PLATFORM="${TARGET_PLATFORM:-linux/arm64}" -SERVER_IMAGE="${SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE:-rpki-rtr:latest}}" +TARGET_PLATFORM="${CALLER_TARGET_PLATFORM}" +IMAGE_ARCH="${CALLER_IMAGE_ARCH}" +SERVER_IMAGE="${CALLER_SERVER_IMAGE}" BUILDX_PUSH="${BUILDX_PUSH:-0}" BUILDX_BUILDER="${BUILDX_BUILDER:-}" SKIP_BASE_IMAGE_PULL="${SKIP_BASE_IMAGE_PULL:-0}" @@ -31,7 +82,9 @@ Actions: Options: --mode MODE base|tcp|tls|ssh (default: tcp) - --platform VALUE Target platform for buildx (default: linux/arm64) + --platform VALUE Target platform for buildx (default: host architecture) + --image-arch VALUE + Image architecture suffix for default tag: amd64|arm64 --server-image TAG Server image tag for buildx and compose --push Push buildx image instead of loading it locally @@ -140,6 +193,11 @@ while [[ $# -gt 0 ]]; do TARGET_PLATFORM="$2" shift 2 ;; + --image-arch) + [[ $# -ge 2 ]] || die "--image-arch requires a value" + IMAGE_ARCH="$2" + shift 2 + ;; --server-image) [[ $# -ge 2 ]] || die "--server-image requires a value" SERVER_IMAGE="$2" @@ -176,6 +234,25 @@ while [[ $# -gt 0 ]]; do esac done +if [[ -z "${TARGET_PLATFORM}" ]]; then + [[ -n "${IMAGE_ARCH}" ]] || IMAGE_ARCH="$(detect_image_arch)" + TARGET_PLATFORM="$(platform_for_image_arch "${IMAGE_ARCH}")" +elif [[ -z "${IMAGE_ARCH}" ]]; then + if [[ "${TARGET_PLATFORM}" != *,* ]] && IMAGE_ARCH="$(image_arch_from_platform "${TARGET_PLATFORM}")"; then + : + else + IMAGE_ARCH="$(detect_image_arch)" + fi +fi + +if [[ -z "${SERVER_IMAGE}" ]]; then + if [[ "${TARGET_PLATFORM}" == *,* ]]; then + SERVER_IMAGE="${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}" + else + SERVER_IMAGE="${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}-${IMAGE_ARCH}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}" + fi +fi + export RPKI_RTR_SERVER_IMAGE="${SERVER_IMAGE}" if [[ "${ACTION}" == "buildx" ]]; then has_buildx || die "docker buildx is not available" diff --git a/deploy/server/docker-compose.ssh.yml b/deploy/server/docker-compose.ssh.yml index 97397e9..ff7d673 100644 --- a/deploy/server/docker-compose.ssh.yml +++ b/deploy/server/docker-compose.ssh.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/server/Dockerfile - image: ${RPKI_RTR_SERVER_IMAGE:-rpki-rtr:latest} + image: ${RPKI_RTR_SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}} container_name: rpki-rtr-ssh restart: no ports: diff --git a/deploy/server/docker-compose.tcp.yml b/deploy/server/docker-compose.tcp.yml index f4c081e..fc4081d 100644 --- a/deploy/server/docker-compose.tcp.yml +++ b/deploy/server/docker-compose.tcp.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/server/Dockerfile - image: ${RPKI_RTR_SERVER_IMAGE:-rpki-rtr:latest} + image: ${RPKI_RTR_SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}} container_name: rpki-rtr-tcp restart: no ports: diff --git a/deploy/server/docker-compose.tls.yml b/deploy/server/docker-compose.tls.yml index b7a2b72..89718ff 100644 --- a/deploy/server/docker-compose.tls.yml +++ b/deploy/server/docker-compose.tls.yml @@ -3,7 +3,7 @@ services: build: context: ../.. dockerfile: deploy/server/Dockerfile - image: ${RPKI_RTR_SERVER_IMAGE:-rpki-rtr:latest} + image: ${RPKI_RTR_SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}} container_name: rpki-rtr-tls restart: no ports: diff --git a/deploy/server/docker-compose.yml b/deploy/server/docker-compose.yml index 32ffd83..1dfddc7 100644 --- a/deploy/server/docker-compose.yml +++ b/deploy/server/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: ../.. dockerfile: deploy/server/Dockerfile - image: ${RPKI_RTR_SERVER_IMAGE:-rpki-rtr:latest} + image: ${RPKI_RTR_SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE_BASE:-rpki-rtr}-${RPKI_RTR_IMAGE_ARCH:-amd64}:${RPKI_RTR_SERVER_IMAGE_TAG:-latest}} container_name: rpki-rtr restart: no ports: