#!/usr/bin/env bash set -euo pipefail OUT_PATH="${1:-}" usage() { cat <<'EOF' Usage: scripts/00_2_generate_ccr.sh OUT.ccr Generate a small deterministic CCR snapshot for pre-check. This script writes a fixed base64-encoded CCR fixture and does not require Python. The generated snapshot contains: - VRP: 10.0.0.0/24 maxLen 24 AS65001 - VRP: 10.0.1.0/24 maxLen 24 AS65003 - VRP: 2001:db8:1::/48 maxLen 48 AS65002 - ASPA: customer AS65010 providers AS65011, AS65012, AS65013 - ASPA: customer AS65020 provider AS65021 EOF } die() { printf '[00_2_generate_ccr] ERROR: %s\n' "$*" >&2 exit 1 } if [ "${OUT_PATH}" = "-h" ] || [ "${OUT_PATH}" = "--help" ]; then usage exit 0 fi [ -n "${OUT_PATH}" ] || die "missing OUT.ccr" mkdir -p "$(dirname "${OUT_PATH}")" decode_base64() { if command -v base64 >/dev/null 2>&1; then base64 -d return fi if command -v openssl >/dev/null 2>&1; then openssl base64 -d return fi die "base64 or openssl command is required to write CCR fixture" } cat <<'EOF' | decode_base64 >"${OUT_PATH}" MIIBAwYLKoZIhvcNAQkQATaggfMwgfACAQAwDQYJYIZIAWUDBAIBBQAYDzIwMjYwNDAzMDAwMjAx WqJ9MHswVzAaAgMA/ekwEzARBAIAATALMAkDBAAKAAACARgwGgIDAP3rMBMwEQQCAAEwCzAJAwQA CgABAgEYMB0CAwD96jAWMBQEAgACMA4wDAMHACABDbgAAQIBMAQgsUgCHfy5AJcFp5RymOD0HuGO wfhoWpll90ugYECGQPSjTDBKMCYwFgIDAP3yMA8CAwD98wIDAP30AgMA/fUwDAIDAP38MAUCAwD9 /QQgRPxVPOOUsUuuV4tZ8BG5PHNtKiaEr23Ird+yNxlWJ+w= EOF