20260707 通用化Docker安装包模板命名

This commit is contained in:
yuyr 2026-07-07 11:10:21 +08:00
parent c00d9390dc
commit b0f76738e5
34 changed files with 37 additions and 36 deletions

View File

@ -1,11 +1,11 @@
# ours RP ARM64 Docker Compose 示例配置 # ours RP Docker Compose 示例配置remote233 ARM64/QEMU 示例)
# 复制为 .env 后再启动: # 复制为 .env 后再启动:
# cp .env.example .env # cp .env.example .env
# 业务镜像名称;需要先通过 docker load 导入远端 Docker。 # 业务镜像名称;需要先通过 docker load 导入远端 Docker。
RPKI_IMAGE=ours-rp-runtime-arm64:dev RPKI_IMAGE=ours-rp-runtime-arm64:dev
# 核心 RP 镜像强制以 ARM64 运行远端233为 x86_64需要 binfmt/qemu 支持。 # remote233 示例强制以 ARM64 运行;目标机器为 x86_64需要 binfmt/qemu 支持。
RPKI_PLATFORM=linux/arm64 RPKI_PLATFORM=linux/arm64
# metrics sidecar 独立镜像。 # metrics sidecar 独立镜像。

View File

@ -1,8 +1,8 @@
services: services:
ours-rp-soak: ours-rp-soak:
image: ${RPKI_IMAGE:-ours-rp-runtime-arm64:dev} image: ${RPKI_IMAGE:?RPKI_IMAGE is required}
platform: ${RPKI_PLATFORM:-linux/arm64} platform: ${RPKI_PLATFORM:?RPKI_PLATFORM is required}
container_name: ours-rp-arm64-soak container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-compose}-soak
env_file: env_file:
- ./.env - ./.env
environment: environment:
@ -22,9 +22,9 @@ services:
- core - core
artifact-metrics: artifact-metrics:
image: ${METRICS_IMAGE:-ours-rp-metrics-arm64:dev} image: ${METRICS_IMAGE:?METRICS_IMAGE is required}
platform: ${METRICS_PLATFORM:-linux/arm64} platform: ${METRICS_PLATFORM:?METRICS_PLATFORM is required}
container_name: ours-rp-arm64-artifact-metrics container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-compose}-artifact-metrics
env_file: env_file:
- ./.env - ./.env
command: command:
@ -36,7 +36,7 @@ services:
- --poll-secs - --poll-secs
- ${METRICS_POLL_SECS:-10} - ${METRICS_POLL_SECS:-10}
- --instance - --instance
- ${METRICS_INSTANCE:-remote233-arm64-qemu} - ${METRICS_INSTANCE:-docker-compose}
ports: ports:
- "${METRICS_PORT:-9556}:9556" - "${METRICS_PORT:-9556}:9556"
volumes: volumes:
@ -49,8 +49,8 @@ services:
prometheus: prometheus:
image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1} image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1}
platform: ${MONITOR_PLATFORM:-linux/arm64} platform: ${MONITOR_PLATFORM:?MONITOR_PLATFORM is required}
container_name: ours-rp-arm64-prometheus container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-compose}-prometheus
command: command:
- --config.file=/etc/prometheus/prometheus.yml - --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus - --storage.tsdb.path=/prometheus
@ -69,8 +69,8 @@ services:
grafana: grafana:
image: ${GRAFANA_IMAGE:-grafana/grafana:11.3.1} image: ${GRAFANA_IMAGE:-grafana/grafana:11.3.1}
platform: ${MONITOR_PLATFORM:-linux/arm64} platform: ${MONITOR_PLATFORM:?MONITOR_PLATFORM is required}
container_name: ours-rp-arm64-grafana container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-compose}-grafana
depends_on: depends_on:
- prometheus - prometheus
ports: ports:

View File

@ -1,9 +1,9 @@
apiVersion: 1 apiVersion: 1
providers: providers:
- name: ours-rp-arm64 - name: ours-rp-docker-compose
orgId: 1 orgId: 1
folder: Ours RP ARM64 folder: Ours RP Docker Compose
type: file type: file
disableDeletion: false disableDeletion: false
updateIntervalSeconds: 10 updateIntervalSeconds: 10

View File

@ -10,4 +10,4 @@ scrape_configs:
- artifact-metrics:9556 - artifact-metrics:9556
labels: labels:
rp: ours-rp rp: ours-rp
source: arm64-compose-artifact-sidecar source: docker-compose-artifact-sidecar

View File

@ -1,29 +1,30 @@
# ours RP Docker installer configuration # ours RP Docker installer configuration
# `build_docker_installer_package.sh` rewrites package-specific defaults below. # `build_docker_installer_package.sh` rewrites package-specific placeholders
# when producing amd64/arm64 release packages.
# 中文说明见 docs/README.zh-CN.md。English guide: docs/README.en.md # 中文说明见 docs/README.zh-CN.md。English guide: docs/README.en.md
# Package metadata and architecture guardrails. # Package metadata and architecture guardrails.
PACKAGE_ARCH=arm64 PACKAGE_ARCH=__PACKAGE_ARCH__
PACKAGE_PLATFORM=linux/arm64 PACKAGE_PLATFORM=__PACKAGE_PLATFORM__
ALLOW_CROSS_ARCH=0 ALLOW_CROSS_ARCH=0
# Compose project name. # Compose project name.
COMPOSE_PROJECT_NAME=ours-rp-arm64-installer COMPOSE_PROJECT_NAME=ours-rp-__PACKAGE_ARCH__-installer
# Runtime image loaded from images/*.tar.gz by install.sh. # Runtime image loaded from images/*.tar.gz by install.sh.
RPKI_IMAGE=ours-rp-runtime-arm64:dev RPKI_IMAGE=ours-rp-runtime-__PACKAGE_ARCH__:dev
RPKI_PLATFORM=linux/arm64 RPKI_PLATFORM=__PACKAGE_PLATFORM__
# Metrics image loaded from images/*.tar.gz by install.sh. # Metrics image loaded from images/*.tar.gz by install.sh.
METRICS_IMAGE=ours-rp-metrics-arm64:dev METRICS_IMAGE=ours-rp-metrics-__PACKAGE_ARCH__:dev
METRICS_PLATFORM=linux/arm64 METRICS_PLATFORM=__PACKAGE_PLATFORM__
# Restart policy for the soak container. Production default keeps the daemon alive. # Restart policy for the soak container. Production default keeps the daemon alive.
# For finite acceptance tests such as MAX_RUNS=3, set SOAK_RESTART_POLICY=no to avoid an extra restarted run. # For finite acceptance tests such as MAX_RUNS=3, set SOAK_RESTART_POLICY=no to avoid an extra restarted run.
SOAK_RESTART_POLICY=unless-stopped SOAK_RESTART_POLICY=unless-stopped
# Host-side persistent data directory. All state/runs/logs/monitoring data are bind-mounted here. # Host-side persistent data directory. All state/runs/logs/monitoring data are bind-mounted here.
HOST_DATA_DIR=/var/lib/ours-rp-arm64-installer HOST_DATA_DIR=__HOST_DATA_DIR__
# RIR list. Options: afrinic,apnic,arin,lacnic,ripe # RIR list. Options: afrinic,apnic,arin,lacnic,ripe
RIRS=afrinic,apnic,arin,lacnic,ripe RIRS=afrinic,apnic,arin,lacnic,ripe
@ -82,19 +83,19 @@ RPKI_PROGRESS_PP_CACHE_SLOW_MS=100
RPKI_PROGRESS_CONTROL_LOOP_SLOW_MS=2000 RPKI_PROGRESS_CONTROL_LOOP_SLOW_MS=2000
# Metrics sidecar. # Metrics sidecar.
METRICS_INSTANCE=arm64-installer METRICS_INSTANCE=__PACKAGE_ARCH__-installer
METRICS_PORT=9556 METRICS_PORT=9556
METRICS_POLL_SECS=10 METRICS_POLL_SECS=10
# Optional external RTR report directory produced by a separately deployed RTR service. # Optional external RTR report directory produced by a separately deployed RTR service.
# Default points to an installer-managed empty fallback directory. To enable real RTR # Default points to an installer-managed empty fallback directory. To enable real RTR
# metrics, set this to the host-side report directory, for example: # metrics, set this to the host-side report directory, for example:
# RTR_REPORT_DIR=/root/rpki/report # RTR_REPORT_DIR=/root/rpki/report
RTR_REPORT_DIR=/var/lib/ours-rp-arm64-installer/empty-rtr-report RTR_REPORT_DIR=__HOST_DATA_DIR__/empty-rtr-report
RTR_REPORT_CONTAINER_DIR=/var/lib/ours-rp/rtr-report RTR_REPORT_CONTAINER_DIR=/var/lib/ours-rp/rtr-report
# Prometheus / Grafana. # Prometheus / Grafana.
# Monitor images are packaged as docker-save archives and loaded by install.sh. # Monitor images are packaged as docker-save archives and loaded by install.sh.
MONITOR_PLATFORM=linux/arm64 MONITOR_PLATFORM=__PACKAGE_PLATFORM__
PROMETHEUS_IMAGE=prom/prometheus:v2.55.1 PROMETHEUS_IMAGE=prom/prometheus:v2.55.1
GRAFANA_IMAGE=grafana/grafana:11.3.1 GRAFANA_IMAGE=grafana/grafana:11.3.1
PROMETHEUS_PORT=9090 PROMETHEUS_PORT=9090

View File

@ -1,7 +1,7 @@
services: services:
ours-rp-soak: ours-rp-soak:
image: ${RPKI_IMAGE:-ours-rp-runtime-arm64:dev} image: ${RPKI_IMAGE:?RPKI_IMAGE is required}
platform: ${RPKI_PLATFORM:-linux/arm64} platform: ${RPKI_PLATFORM:?RPKI_PLATFORM is required}
container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-soak container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-soak
env_file: env_file:
- ../.env - ../.env
@ -22,8 +22,8 @@ services:
- core - core
artifact-metrics: artifact-metrics:
image: ${METRICS_IMAGE:-ours-rp-metrics-arm64:dev} image: ${METRICS_IMAGE:?METRICS_IMAGE is required}
platform: ${METRICS_PLATFORM:-linux/arm64} platform: ${METRICS_PLATFORM:?METRICS_PLATFORM is required}
container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-artifact-metrics container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-artifact-metrics
env_file: env_file:
- ../.env - ../.env
@ -52,7 +52,7 @@ services:
prometheus: prometheus:
image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1} image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1}
platform: ${MONITOR_PLATFORM:-linux/arm64} platform: ${MONITOR_PLATFORM:?MONITOR_PLATFORM is required}
container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-prometheus container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-prometheus
command: command:
- --config.file=/etc/prometheus/prometheus.yml - --config.file=/etc/prometheus/prometheus.yml
@ -73,7 +73,7 @@ services:
grafana: grafana:
image: ${GRAFANA_IMAGE:-grafana/grafana:11.3.1} image: ${GRAFANA_IMAGE:-grafana/grafana:11.3.1}
platform: ${MONITOR_PLATFORM:-linux/arm64} platform: ${MONITOR_PLATFORM:?MONITOR_PLATFORM is required}
container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-grafana container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-grafana
depends_on: depends_on:
- prometheus - prometheus

View File

@ -15,7 +15,7 @@ GRAFANA_IMAGE="${GRAFANA_IMAGE:-grafana/grafana:11.3.1}"
GRAFANA_IMAGE_TAR="${GRAFANA_IMAGE_TAR:-}" GRAFANA_IMAGE_TAR="${GRAFANA_IMAGE_TAR:-}"
OUT_DIR="${OUT_DIR:-}" OUT_DIR="${OUT_DIR:-}"
PACKAGE_PREFIX="${PACKAGE_PREFIX:-}" PACKAGE_PREFIX="${PACKAGE_PREFIX:-}"
TEMPLATE_DIR="${TEMPLATE_DIR:-$REPO_ROOT/deploy/arm64-installer}" TEMPLATE_DIR="${TEMPLATE_DIR:-$REPO_ROOT/deploy/docker-installer}"
usage() { usage() {
cat <<'USAGE' cat <<'USAGE'

View File

@ -135,7 +135,7 @@ require_command rsync
exit 2 exit 2
} }
compose_src="$REPO_ROOT/deploy/arm64-compose/" compose_src="$REPO_ROOT/deploy/docker-compose/"
[[ -f "$compose_src/docker-compose.yml" ]] || { [[ -f "$compose_src/docker-compose.yml" ]] || {
echo "missing compose source: $compose_src" >&2 echo "missing compose source: $compose_src" >&2
exit 2 exit 2