diff --git a/deploy/arm64-installer/.env.example b/deploy/arm64-installer/.env.example index 5b534f2..9d2bbae 100644 --- a/deploy/arm64-installer/.env.example +++ b/deploy/arm64-installer/.env.example @@ -80,6 +80,12 @@ RPKI_PROGRESS_CONTROL_LOOP_SLOW_MS=2000 METRICS_INSTANCE=arm64-installer METRICS_PORT=9556 METRICS_POLL_SECS=10 +# 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 +# metrics, set this to the host-side report directory, for example: +# RTR_REPORT_DIR=/root/rpki/report +RTR_REPORT_DIR=/var/lib/ours-rp-arm64-installer/empty-rtr-report +RTR_REPORT_CONTAINER_DIR=/var/lib/ours-rp/rtr-report # Prometheus / Grafana. # Monitor images are packaged as docker-save archives and loaded by install.sh. diff --git a/deploy/arm64-installer/compose/docker-compose.yml b/deploy/arm64-installer/compose/docker-compose.yml index ad67a4a..ffc5938 100644 --- a/deploy/arm64-installer/compose/docker-compose.yml +++ b/deploy/arm64-installer/compose/docker-compose.yml @@ -27,6 +27,8 @@ services: container_name: ${COMPOSE_PROJECT_NAME:-ours-rp-package-installer}-artifact-metrics env_file: - ../.env + environment: + RPKI_METRICS_RTR_REPORT_DIR: ${RTR_REPORT_CONTAINER_DIR:-/var/lib/ours-rp/rtr-report} command: - /opt/ours-rp/bin/rpki_artifact_metrics - --run-root @@ -43,6 +45,7 @@ services: - ${HOST_DATA_DIR:-/var/lib/ours-rp-package-installer}/state:/var/lib/ours-rp/state:ro - ${HOST_DATA_DIR:-/var/lib/ours-rp-package-installer}/runs:/var/lib/ours-rp/runs:ro - ${HOST_DATA_DIR:-/var/lib/ours-rp-package-installer}/logs:/var/lib/ours-rp/logs:ro + - ${RTR_REPORT_DIR:-/var/lib/ours-rp-package-installer/empty-rtr-report}:${RTR_REPORT_CONTAINER_DIR:-/var/lib/ours-rp/rtr-report}:ro restart: unless-stopped profiles: - sidecar diff --git a/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-rtr-overview.json b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-rtr-overview.json new file mode 100644 index 0000000..673acc1 --- /dev/null +++ b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-rtr-overview.json @@ -0,0 +1,666 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "liveNow": false, + "panels": [ + { + "id": 1, + "title": "RTR Metrics Enabled", + "type": "stat", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 0, + "y": 0 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "expr": "max(ours_rp_rtr_metrics_enabled)", + "legendFormat": "enabled", + "refId": "A", + "instant": true + } + ] + }, + { + "id": 2, + "title": "Refresh Success", + "type": "stat", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 4, + "y": 0 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "expr": "max(ours_rp_rtr_source_refresh_status{status=\"success\"})", + "legendFormat": "success", + "refId": "A", + "instant": true + } + ] + }, + { + "id": 3, + "title": "Consecutive Failures", + "type": "stat", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 9, + "y": 0 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "expr": "max(ours_rp_rtr_source_refresh_consecutive_failures)", + "legendFormat": "failures", + "refId": "A", + "instant": true + } + ] + }, + { + "id": 4, + "title": "Last Success Age", + "type": "stat", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 14, + "y": 0 + }, + "fieldConfig": { + "defaults": { + "unit": "s", + "decimals": 0, + "min": 0 + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "expr": "max(ours_rp_rtr_source_last_success_age_seconds)", + "legendFormat": "age", + "refId": "A", + "instant": true + } + ] + }, + { + "id": 5, + "title": "RTR RSS", + "type": "stat", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 19, + "y": 0 + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 0, + "min": 0 + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "expr": "max(ours_rp_rtr_process_rss_bytes)", + "legendFormat": "rss", + "refId": "A", + "instant": true + } + ] + }, + { + "id": 6, + "title": "Data Quality Totals", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 4 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_data_quality_items{stage=~\"ccr_input|before_slurm|after_slurm\",type=\"total\"}", + "legendFormat": "{{stage}} total", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_data_quality_items{stage=\"after_slurm\",type=\"vrp\"}", + "legendFormat": "after_slurm vrp", + "refId": "B" + }, + { + "expr": "ours_rp_rtr_data_quality_items{stage=\"after_slurm\",type=\"aspa\"}", + "legendFormat": "after_slurm aspa", + "refId": "C" + } + ] + }, + { + "id": 7, + "title": "SLURM Filters / Assertions", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 4 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_slurm_filters", + "legendFormat": "filter {{type}}", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_slurm_assertions", + "legendFormat": "assert {{type}}", + "refId": "B" + } + ] + }, + { + "id": 8, + "title": "Cache Ready / Delta Window", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 12 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_cache_ready", + "legendFormat": "ready", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_cache_delta_window_length", + "legendFormat": "v{{version}} length", + "refId": "B" + } + ] + }, + { + "id": 9, + "title": "Cache Snapshot Items", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 12 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_cache_snapshot_items", + "legendFormat": "v{{version}} {{type}}", + "refId": "A" + } + ] + }, + { + "id": 10, + "title": "Latest Delta Items", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 12 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_cache_delta_items", + "legendFormat": "v{{version}} {{direction}} {{type}}", + "refId": "A" + } + ] + }, + { + "id": 11, + "title": "Connections", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 20 + }, + "fieldConfig": { + "defaults": { + "unit": "short", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_active_connections", + "legendFormat": "active", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_connections", + "legendFormat": "{{transport}}", + "refId": "B" + } + ] + }, + { + "id": 12, + "title": "Connection Utilization / Max", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 20 + }, + "fieldConfig": { + "defaults": { + "min": 0 + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*utilization.*" + }, + "properties": [ + { + "id": "unit", + "value": "percentunit" + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*max.*" + }, + "properties": [ + { + "id": "unit", + "value": "short" + } + ] + } + ] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_connection_utilization", + "legendFormat": "utilization", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_max_connections", + "legendFormat": "max", + "refId": "B" + } + ] + }, + { + "id": 13, + "title": "Report Age", + "type": "timeseries", + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 20 + }, + "fieldConfig": { + "defaults": { + "unit": "s", + "min": 0 + }, + "overrides": [] + }, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_rtr_source_report_age_seconds", + "legendFormat": "source", + "refId": "A" + }, + { + "expr": "ours_rp_rtr_runtime_report_age_seconds", + "legendFormat": "runtime", + "refId": "B" + }, + { + "expr": "ours_rp_rtr_clients_report_age_seconds", + "legendFormat": "clients", + "refId": "C" + } + ] + } + ], + "refresh": "10s", + "schemaVersion": 40, + "tags": [ + "rpki", + "inter-rp", + "routinator" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timezone": "browser", + "title": "RTR Service Overview", + "uid": "ours-rp-rtr-overview", + "version": 1 +} diff --git a/deploy/arm64-installer/docs/README.en.md b/deploy/arm64-installer/docs/README.en.md index a0d3ebb..d07ea0b 100644 --- a/deploy/arm64-installer/docs/README.en.md +++ b/deploy/arm64-installer/docs/README.en.md @@ -43,6 +43,7 @@ Defaults: - `METRICS_PLATFORM=__PACKAGE_PLATFORM__` - `MONITOR_PLATFORM=__PACKAGE_PLATFORM__` - `ALLOW_CROSS_ARCH=0` +- `RTR_REPORT_DIR=__HOST_DATA_DIR__/empty-rtr-report`, which mounts an empty fallback directory by default; set it to a real host directory such as `/root/rpki/report` to ingest reports from a separately deployed RTR service ## First Start Semantics @@ -89,6 +90,17 @@ GRAFANA_ADMIN_PASSWORD=admin Change the password and restrict public access for production deployments. +## Optional RTR report metrics input + +If a separately deployed RTR service on the same host continuously writes `rtr-source-*`, `rtr-runtime-*`, and `rtr-clients-*` JSON reports, configure: + +```bash +RTR_REPORT_DIR=/root/rpki/report +RTR_REPORT_CONTAINER_DIR=/var/lib/ours-rp/rtr-report +``` + +The `artifact-metrics` container mounts the host directory read-only and reads it through `RPKI_METRICS_RTR_REPORT_DIR`, producing `ours_rp_rtr_*` metrics. By default, `RTR_REPORT_DIR` points at an empty fallback directory under the installer data root, so the metrics container also starts cleanly without an RTR service. + ## Data Directory Default host directory: diff --git a/deploy/arm64-installer/docs/README.zh-CN.md b/deploy/arm64-installer/docs/README.zh-CN.md index 41feb75..423346b 100644 --- a/deploy/arm64-installer/docs/README.zh-CN.md +++ b/deploy/arm64-installer/docs/README.zh-CN.md @@ -43,6 +43,7 @@ vim .env - `METRICS_PLATFORM=__PACKAGE_PLATFORM__` - `MONITOR_PLATFORM=__PACKAGE_PLATFORM__` - `ALLOW_CROSS_ARCH=0` +- `RTR_REPORT_DIR=__HOST_DATA_DIR__/empty-rtr-report`,默认挂载空目录;如需接入独立 RTR 服务 report,可设置为宿主机真实目录,例如 `/root/rpki/report` ## 首次启动语义 @@ -89,6 +90,17 @@ GRAFANA_ADMIN_PASSWORD=admin 生产部署时应修改密码并限制外部访问。 +## 可选 RTR report 监控接入 + +如果同一台机器上已经有独立部署的 RTR 服务,并且它持续输出 `rtr-source-*`、`rtr-runtime-*`、`rtr-clients-*` JSON report,可在 `.env` 中配置: + +```bash +RTR_REPORT_DIR=/root/rpki/report +RTR_REPORT_CONTAINER_DIR=/var/lib/ours-rp/rtr-report +``` + +`artifact-metrics` 容器会以只读方式挂载该目录,并通过 `RPKI_METRICS_RTR_REPORT_DIR` 读取 report,输出 `ours_rp_rtr_*` 指标。默认 `RTR_REPORT_DIR` 指向安装包数据目录下的空 fallback 目录,因此未接入 RTR 服务时 metrics 容器也能稳定启动。 + ## 数据目录 默认宿主机目录: diff --git a/deploy/arm64-installer/docs/operations.en.md b/deploy/arm64-installer/docs/operations.en.md index 39cf800..90aec31 100644 --- a/deploy/arm64-installer/docs/operations.en.md +++ b/deploy/arm64-installer/docs/operations.en.md @@ -67,6 +67,14 @@ Important checks: - `allow_cross_arch` - `periodic_snapshot_reset` - `periodic_snapshot_max_deltas` +- `rtr_report_dir` +- `rtr_report_container_dir` + +To verify RTR report ingestion: + +```bash +curl -s "http://127.0.0.1:${METRICS_PORT:-9556}/metrics" | grep '^ours_rp_rtr_' | head +``` ## Upgrade diff --git a/deploy/arm64-installer/docs/operations.zh-CN.md b/deploy/arm64-installer/docs/operations.zh-CN.md index f01556d..218cedf 100644 --- a/deploy/arm64-installer/docs/operations.zh-CN.md +++ b/deploy/arm64-installer/docs/operations.zh-CN.md @@ -67,6 +67,14 @@ ALLOW_CROSS_ARCH=1 - `allow_cross_arch` - `periodic_snapshot_reset` - `periodic_snapshot_max_deltas` +- `rtr_report_dir` +- `rtr_report_container_dir` + +如需确认 RTR report 已接入: + +```bash +curl -s "http://127.0.0.1:${METRICS_PORT:-9556}/metrics" | grep '^ours_rp_rtr_' | head +``` ## 升级 diff --git a/deploy/arm64-installer/docs/troubleshooting.en.md b/deploy/arm64-installer/docs/troubleshooting.en.md index 46ab470..18ae6e5 100644 --- a/deploy/arm64-installer/docs/troubleshooting.en.md +++ b/deploy/arm64-installer/docs/troubleshooting.en.md @@ -53,6 +53,22 @@ docker run --rm --platform __PACKAGE_PLATFORM__ \ /opt/ours-rp/bin/rpki_artifact_metrics --help ``` +## RTR report metrics are empty + +Check `.env`: + +```bash +grep '^RTR_REPORT_DIR=' .env +test -d "$(grep '^RTR_REPORT_DIR=' .env | cut -d= -f2-)" && echo ok +``` + +Check the metrics container mount: + +```bash +docker inspect "$(grep '^COMPOSE_PROJECT_NAME=' .env | cut -d= -f2-)-artifact-metrics" \ + | jq '.[0].Mounts[] | select(.Destination=="/var/lib/ours-rp/rtr-report")' +``` + ## First Snapshot Times Out All-five snapshot can be slow, especially under QEMU. Increase timeout: diff --git a/deploy/arm64-installer/docs/troubleshooting.zh-CN.md b/deploy/arm64-installer/docs/troubleshooting.zh-CN.md index 0c73a48..cc5da7c 100644 --- a/deploy/arm64-installer/docs/troubleshooting.zh-CN.md +++ b/deploy/arm64-installer/docs/troubleshooting.zh-CN.md @@ -53,6 +53,22 @@ docker run --rm --platform __PACKAGE_PLATFORM__ \ /opt/ours-rp/bin/rpki_artifact_metrics --help ``` +## RTR report 指标为空 + +检查 `.env`: + +```bash +grep '^RTR_REPORT_DIR=' .env +test -d "$(grep '^RTR_REPORT_DIR=' .env | cut -d= -f2-)" && echo ok +``` + +检查 metrics 容器是否挂载该目录: + +```bash +docker inspect "$(grep '^COMPOSE_PROJECT_NAME=' .env | cut -d= -f2-)-artifact-metrics" \ + | jq '.[0].Mounts[] | select(.Destination=="/var/lib/ours-rp/rtr-report")' +``` + ## 首轮 snapshot 超时 all5 snapshot 可能很慢,尤其在 QEMU 环境。可以提高超时: diff --git a/deploy/arm64-installer/scripts/common.sh b/deploy/arm64-installer/scripts/common.sh index d34e8cb..ee6077a 100644 --- a/deploy/arm64-installer/scripts/common.sh +++ b/deploy/arm64-installer/scripts/common.sh @@ -196,6 +196,8 @@ load_env() { RPKI_PLATFORM="${RPKI_PLATFORM:-$PACKAGE_PLATFORM}" METRICS_IMAGE="${METRICS_IMAGE:-ours-rp-metrics-${PACKAGE_ARCH}:dev}" METRICS_PLATFORM="${METRICS_PLATFORM:-$PACKAGE_PLATFORM}" + RTR_REPORT_DIR="${RTR_REPORT_DIR:-$HOST_DATA_DIR/empty-rtr-report}" + RTR_REPORT_CONTAINER_DIR="${RTR_REPORT_CONTAINER_DIR:-/var/lib/ours-rp/rtr-report}" MONITOR_PLATFORM="${MONITOR_PLATFORM:-$PACKAGE_PLATFORM}" PROMETHEUS_IMAGE="${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1}" GRAFANA_IMAGE="${GRAFANA_IMAGE:-grafana/grafana:11.3.1}" @@ -205,12 +207,21 @@ load_env() { persist_env_default "$ENV_FILE" "METRICS_IMAGE" "$METRICS_IMAGE" persist_env_default "$ENV_FILE" "METRICS_PLATFORM" "$METRICS_PLATFORM" + persist_env_default "$ENV_FILE" "RTR_REPORT_DIR" "$RTR_REPORT_DIR" + persist_env_default "$ENV_FILE" "RTR_REPORT_CONTAINER_DIR" "$RTR_REPORT_CONTAINER_DIR" } compose_cmd() { docker compose --env-file "$ENV_FILE" -f "$COMPOSE_FILE" -p "$COMPOSE_PROJECT_NAME" "$@" } +validate_rtr_report_dir() { + load_env + [[ -n "${RTR_REPORT_DIR:-}" ]] || return 0 + [[ "$RTR_REPORT_DIR" = /* ]] || die "RTR_REPORT_DIR must be an absolute host path: $RTR_REPORT_DIR" + [[ -d "$RTR_REPORT_DIR" ]] || die "RTR_REPORT_DIR does not exist or is not a directory: $RTR_REPORT_DIR" +} + create_data_dirs() { load_env mkdir -p \ @@ -218,8 +229,10 @@ create_data_dirs() { "$HOST_DATA_DIR/runs" \ "$HOST_DATA_DIR/logs" \ "$HOST_DATA_DIR/tmp" \ + "$HOST_DATA_DIR/empty-rtr-report" \ "$HOST_DATA_DIR/prometheus" \ "$HOST_DATA_DIR/grafana" + validate_rtr_report_dir chmod 755 "$HOST_DATA_DIR" "$HOST_DATA_DIR/state" "$HOST_DATA_DIR/runs" "$HOST_DATA_DIR/logs" "$HOST_DATA_DIR/tmp" || true chmod 777 "$HOST_DATA_DIR/prometheus" "$HOST_DATA_DIR/grafana" || true } diff --git a/deploy/arm64-installer/status.sh b/deploy/arm64-installer/status.sh index 8a676a9..564e381 100755 --- a/deploy/arm64-installer/status.sh +++ b/deploy/arm64-installer/status.sh @@ -36,6 +36,8 @@ echo "runtime_image=$RPKI_IMAGE" echo "runtime_platform=$RPKI_PLATFORM" echo "metrics_image=$METRICS_IMAGE" echo "metrics_platform=$METRICS_PLATFORM" +echo "rtr_report_dir=$RTR_REPORT_DIR" +echo "rtr_report_container_dir=$RTR_REPORT_CONTAINER_DIR" echo "monitor_platform=$MONITOR_PLATFORM" echo "rirs=${RIRS:-}" echo "max_runs=${MAX_RUNS:-}" diff --git a/scripts/docker/build_docker_installer_package.sh b/scripts/docker/build_docker_installer_package.sh index 5ba2c0a..5f7ea91 100755 --- a/scripts/docker/build_docker_installer_package.sh +++ b/scripts/docker/build_docker_installer_package.sh @@ -329,6 +329,8 @@ if [[ -f "$stage/.env.example" ]]; then replace_or_append_env "$stage/.env.example" "METRICS_IMAGE" "$METRICS_IMAGE" replace_or_append_env "$stage/.env.example" "METRICS_PLATFORM" "$TARGET_PLATFORM" replace_or_append_env "$stage/.env.example" "HOST_DATA_DIR" "$HOST_DATA_DIR_DEFAULT" + replace_or_append_env "$stage/.env.example" "RTR_REPORT_DIR" "$HOST_DATA_DIR_DEFAULT/empty-rtr-report" + replace_or_append_env "$stage/.env.example" "RTR_REPORT_CONTAINER_DIR" "/var/lib/ours-rp/rtr-report" replace_or_append_env "$stage/.env.example" "ALLOW_CROSS_ARCH" "0" replace_or_append_env "$stage/.env.example" "METRICS_INSTANCE" "$METRICS_INSTANCE_DEFAULT" replace_or_append_env "$stage/.env.example" "MONITOR_PLATFORM" "$TARGET_PLATFORM"