CI / Rust checks (push) Waiting to run
CI / Docs and registry checks (push) Waiting to run
CI / Smoke checks (push) Waiting to run
Coverage / Coverage baseline (push) Waiting to run
Security / Cargo audit (push) Waiting to run
Security / Cargo deny (push) Waiting to run
Security / Secret pattern check (push) Waiting to run
Security / Dependency review (push) Waiting to run
- default DetMir DLP runtime to core_only/disabled with load-guard protection - add fail-closed placeholder validation and runtime-scoped artifact checks - document operator re-enable flow for light profile and guard rollback - update prod docs, env examples, and Ansible DLP defaults
128 lines
2.6 KiB
Bash
128 lines
2.6 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
TARGET_ROOT="${CARGO_TARGET_DIR:-$ROOT_DIR/adk-rust/target}"
|
|
RELEASE_DIR="$TARGET_ROOT/release"
|
|
SCOPE="${CHECK_DETMIR_RUST_RELEASE_SCOPE:-prod-runtime}"
|
|
|
|
prod_runtime_bins=(
|
|
aw-1c-ingest
|
|
aw-hayabusa-autoprocess-rust
|
|
aw-rus-healthd
|
|
aw-slo-monitor
|
|
aw-workforce-ingest
|
|
detmir-auto
|
|
detmir-portal
|
|
detmir-readiness
|
|
dlp-aggregator
|
|
dlp-case-management
|
|
dlp-cef-exporter
|
|
dlp-compliance
|
|
dlp-influx-exporter
|
|
dlp-policy-engine
|
|
dlp-syslog-forwarder
|
|
dlp-webhook-sender
|
|
worktime-api
|
|
worktime-autoheal
|
|
worktime-influx-exporter
|
|
worktime-prewarm
|
|
worktime-ui-bridge
|
|
)
|
|
|
|
workspace_bins=(
|
|
detmir-status
|
|
detmir-adk-status
|
|
detmir-check
|
|
detmir-dlp
|
|
detmir-auto
|
|
detmir-heal-safe
|
|
tsj-guardian-watchdog
|
|
tsj-guardian-status
|
|
aw-rus-healthd
|
|
aw-db-health
|
|
aw-db-maintenance
|
|
aw-ensure-reliability
|
|
aw-health-check
|
|
aw-linux-install
|
|
aw-prune-local-state
|
|
check-aw-data
|
|
check-aw-full
|
|
check-install-kit-vs-repo
|
|
validate-install-kit
|
|
verify-innosetup-installer
|
|
rebuild-install-kit
|
|
quality-gate
|
|
extract-ioc-from-sigma
|
|
merge-aw-server-dbs
|
|
prod-backup-restore
|
|
prod-rollout
|
|
rdp-worktime-report
|
|
aw-contour-smoke
|
|
aw-browser-smoke
|
|
diag-and-manual-restart
|
|
detmir-grafana-check
|
|
detmir-readiness
|
|
detmir-portal
|
|
dlp-health-check
|
|
dlp-content-analyzer
|
|
dlp-admin-cli
|
|
dlp-policy-engine
|
|
dlp-case-management
|
|
dlp-compliance
|
|
dlp-aggregator
|
|
dlp-syslog-forwarder
|
|
dlp-webhook-sender
|
|
dlp-cef-exporter
|
|
dlp-influx-exporter
|
|
worktime-influx-exporter
|
|
worktime-prewarm
|
|
worktime-ui-bridge
|
|
worktime-autoheal
|
|
worktime-api
|
|
aw-slo-monitor
|
|
aw-hayabusa-case-alert-rust
|
|
aw-hayabusa-link-case-rust
|
|
aw-hayabusa-from-windows-rust
|
|
aw-hayabusa-autoprocess-rust
|
|
aw-1c-ingest
|
|
containment-engine
|
|
security-finding-inbox
|
|
)
|
|
|
|
case "$SCOPE" in
|
|
prod-runtime)
|
|
required_bins=("${prod_runtime_bins[@]}")
|
|
;;
|
|
workspace)
|
|
required_bins=("${workspace_bins[@]}")
|
|
;;
|
|
*)
|
|
echo "Unsupported CHECK_DETMIR_RUST_RELEASE_SCOPE=$SCOPE; expected prod-runtime or workspace" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
|
|
missing=0
|
|
for bin in "${required_bins[@]}"; do
|
|
if [[ -x "$RELEASE_DIR/$bin" ]]; then
|
|
printf 'OK %s\n' "$bin"
|
|
else
|
|
printf 'MISSING %s (%s)\n' "$bin" "$RELEASE_DIR/$bin" >&2
|
|
missing=1
|
|
fi
|
|
done
|
|
|
|
if (( missing != 0 )); then
|
|
cat >&2 <<EOF
|
|
|
|
Missing DetMir Rust release artifacts for scope: $SCOPE.
|
|
Build them with:
|
|
cd "$ROOT_DIR/adk-rust"
|
|
CARGO_TARGET_DIR="$TARGET_ROOT" cargo build --release --workspace
|
|
EOF
|
|
exit 1
|
|
fi
|
|
|
|
echo "detmir rust release artifacts: OK scope=$SCOPE ($RELEASE_DIR)"
|