74 lines
2.4 KiB
Bash
Executable File
74 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PKG_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "[PREPARE] This script requires root (sudo)." >&2
|
|
echo " Try: sudo $0" >&2
|
|
exit 1
|
|
fi
|
|
|
|
ENV_FILE="$PKG_ROOT/compose/.env"
|
|
[[ -f "$ENV_FILE" ]] && set -a && source "$ENV_FILE" && set +a
|
|
UIDV="${ARGUS_BUILD_UID:-1000}"; GIDV="${ARGUS_BUILD_GID:-1000}"
|
|
|
|
echo "[PREPARE] Using owner ${UIDV}:${GIDV}"
|
|
|
|
# Core etc and service data dirs (aligned with src/sys/tests/scripts/01_bootstrap.sh)
|
|
mkdir -p \
|
|
"$PKG_ROOT/private/argus/etc" \
|
|
"$PKG_ROOT/private/argus/bind" \
|
|
"$PKG_ROOT/private/argus/master" \
|
|
"$PKG_ROOT/private/argus/agent" \
|
|
"$PKG_ROOT/private/argus/log/elasticsearch" \
|
|
"$PKG_ROOT/private/argus/log/kibana"
|
|
|
|
# Prometheus
|
|
mkdir -p \
|
|
"$PKG_ROOT/private/argus/metric/prometheus" \
|
|
"$PKG_ROOT/private/argus/metric/prometheus/data" \
|
|
"$PKG_ROOT/private/argus/metric/prometheus/rules" \
|
|
"$PKG_ROOT/private/argus/metric/prometheus/targets"
|
|
|
|
# Grafana
|
|
mkdir -p \
|
|
"$PKG_ROOT/private/argus/metric/grafana" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/data" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/logs" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/plugins" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/provisioning/datasources" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/provisioning/dashboards" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/data/sessions" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/data/dashboards" \
|
|
"$PKG_ROOT/private/argus/metric/grafana/config"
|
|
|
|
# FTP
|
|
mkdir -p "$PKG_ROOT/private/argus/metric/ftp/share"
|
|
|
|
# Alertmanager
|
|
mkdir -p "$PKG_ROOT/private/argus/alert/alertmanager"
|
|
|
|
chown -R "$UIDV":"$GIDV" \
|
|
"$PKG_ROOT/private/argus/etc" \
|
|
"$PKG_ROOT/private/argus/bind" \
|
|
"$PKG_ROOT/private/argus/master" \
|
|
"$PKG_ROOT/private/argus/agent" \
|
|
"$PKG_ROOT/private/argus/log/elasticsearch" \
|
|
"$PKG_ROOT/private/argus/log/kibana" \
|
|
"$PKG_ROOT/private/argus/metric/prometheus" \
|
|
"$PKG_ROOT/private/argus/metric/grafana" \
|
|
"$PKG_ROOT/private/argus/metric/ftp" \
|
|
"$PKG_ROOT/private/argus/alert"
|
|
|
|
chmod -R g+w "$PKG_ROOT/private/argus/alert" "$PKG_ROOT/private/argus/etc" || true
|
|
|
|
# Ensure parent directories also owned by runtime user for consistency
|
|
chown "$UIDV":"$GIDV" \
|
|
"$PKG_ROOT/private/argus" \
|
|
"$PKG_ROOT/private/argus/log" \
|
|
"$PKG_ROOT/private/argus/metric" || true
|
|
|
|
echo "[PREPARE] Done. You can now run server-install.sh"
|