Files
AWatch-rus/scripts/check_detmir_rust_release_artifacts.sh
T
igor04091968 fe87c85a31
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
Harden DetMir DLP production runtime
- 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
2026-07-01 00:05:23 +03:00

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)"