#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" PRECHECK_WORK_DIR="${PRECHECK_WORK_DIR:-${ROOT_DIR}/.precheck}" PRECHECK_PROJECT="${PRECHECK_PROJECT:-rpki-precheck}" PRECHECK_ADMIN_TOKEN="${PRECHECK_ADMIN_TOKEN:-rpki-precheck-token}" PRECHECK_PROTOCOL_VERSION="${PRECHECK_PROTOCOL_VERSION:-2}" PRECHECK_SERVER_IMAGE="${PRECHECK_SERVER_IMAGE:-${RPKI_RTR_SERVER_IMAGE:-rpki-rtr-arm64:v1.2}}" PRECHECK_CLIENT_IMAGE="${PRECHECK_CLIENT_IMAGE:-${RPKI_RTR_CLIENT_IMAGE:-rpki-rtr-debug-client-arm64:v1.2}}" log() { printf '[00_1_pre_check_prepare] %s\n' "$*" } die() { printf '[00_1_pre_check_prepare] ERROR: %s\n' "$*" >&2 exit 1 } abs_dir() { local path="$1" mkdir -p "${path}" cd "${path}" && pwd -P } [ -f "${SCRIPT_DIR}/00_2_generate_ccr.sh" ] || die "missing ${SCRIPT_DIR}/00_2_generate_ccr.sh" rm -rf "${PRECHECK_WORK_DIR}" mkdir -p \ "${PRECHECK_WORK_DIR}/ccr" \ "${PRECHECK_WORK_DIR}/slurm" \ "${PRECHECK_WORK_DIR}/db" \ "${PRECHECK_WORK_DIR}/logs/server" \ "${PRECHECK_WORK_DIR}/logs/client" \ "${PRECHECK_WORK_DIR}/report" bash "${SCRIPT_DIR}/00_2_generate_ccr.sh" \ "${PRECHECK_WORK_DIR}/ccr/20260403T000201Z-precheck.ccr" cat >"${PRECHECK_WORK_DIR}/slurm/precheck.slurm" <<'EOF' { "slurmVersion": 2, "validationOutputFilters": { "prefixFilters": [], "bgpsecFilters": [], "aspaFilters": [] }, "locallyAddedAssertions": { "prefixAssertions": [ { "prefix": "203.0.113.0/24", "maxPrefixLength": 24, "asn": 64496, "comment": "pre-check local assertion" } ], "bgpsecAssertions": [], "aspaAssertions": [] } } EOF PRECHECK_WORK_DIR_ABS="$(abs_dir "${PRECHECK_WORK_DIR}")" cat >"${PRECHECK_WORK_DIR}/precheck.env" <