add: HAR traces
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Пример настройки bucket notifications через mc (S3-compatible)
|
||||
# Запускать НА УДАЛЁННОЙ машине.
|
||||
#
|
||||
# Пример:
|
||||
# export S3CFG=/home/naeel/terra/terraform/secrets/.s3cfg_registry
|
||||
# export BUCKET=buck
|
||||
# export TARGET_ARN='arn:minio:sqs::primary:webhook'
|
||||
# export EVENTS='put,delete'
|
||||
# bash scripts/s3_notification_example.sh
|
||||
#
|
||||
# Где TARGET_ARN — уже существующий target в конфигурации S3/MinIO.
|
||||
|
||||
S3CFG="${S3CFG:-/home/naeel/terra/terraform/secrets/.s3cfg_registry}"
|
||||
BUCKET="${BUCKET:-}"
|
||||
TARGET_ARN="${TARGET_ARN:-}"
|
||||
EVENTS="${EVENTS:-put}" # put | delete | get | put,delete
|
||||
PREFIX="${PREFIX:-}" # опционально, напр. uploads/
|
||||
SUFFIX="${SUFFIX:-}" # опционально, напр. .jpg
|
||||
ALIAS_NAME="${ALIAS_NAME:-regnotif}"
|
||||
|
||||
if ! command -v mc >/dev/null 2>&1; then
|
||||
echo "ERROR: mc не установлен"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f "$S3CFG" ]]; then
|
||||
echo "ERROR: не найден S3CFG: $S3CFG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$BUCKET" ]]; then
|
||||
echo "ERROR: задайте BUCKET"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$TARGET_ARN" ]]; then
|
||||
echo "ERROR: задайте TARGET_ARN (например arn:minio:sqs::primary:webhook)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Читаем access_key/secret_key/host_base из .s3cfg
|
||||
# shellcheck disable=SC2016
|
||||
readarray -t CFG_LINES < <(python3 - <<PY
|
||||
import configparser
|
||||
cfg = configparser.RawConfigParser()
|
||||
cfg.read("$S3CFG")
|
||||
sec = cfg["default"]
|
||||
print(sec.get("access_key", ""))
|
||||
print(sec.get("secret_key", ""))
|
||||
print(sec.get("host_base", ""))
|
||||
PY
|
||||
)
|
||||
ACCESS_KEY="${CFG_LINES[0]:-}"
|
||||
SECRET_KEY="${CFG_LINES[1]:-}"
|
||||
HOST_BASE="${CFG_LINES[2]:-}"
|
||||
|
||||
if [[ -z "$ACCESS_KEY" || -z "$SECRET_KEY" || -z "$HOST_BASE" ]]; then
|
||||
echo "ERROR: в $S3CFG нет access_key/secret_key/host_base"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mc alias rm "$ALIAS_NAME" >/dev/null 2>&1 || true
|
||||
mc alias set "$ALIAS_NAME" "https://$HOST_BASE" "$ACCESS_KEY" "$SECRET_KEY" >/dev/null
|
||||
|
||||
echo "[1/3] Текущие notification-правила в бакете $BUCKET:"
|
||||
mc event ls "$ALIAS_NAME/$BUCKET" || true
|
||||
|
||||
echo "[2/3] Добавление правила: events=$EVENTS target=$TARGET_ARN"
|
||||
EVENT_FLAGS=()
|
||||
IFS=',' read -r -a EVENT_ARRAY <<< "$EVENTS"
|
||||
for ev in "${EVENT_ARRAY[@]}"; do
|
||||
EVENT_FLAGS+=("--event" "$ev")
|
||||
done
|
||||
|
||||
FILTER_FLAGS=()
|
||||
if [[ -n "$PREFIX" ]]; then
|
||||
FILTER_FLAGS+=("--prefix" "$PREFIX")
|
||||
fi
|
||||
if [[ -n "$SUFFIX" ]]; then
|
||||
FILTER_FLAGS+=("--suffix" "$SUFFIX")
|
||||
fi
|
||||
|
||||
mc event add "$ALIAS_NAME/$BUCKET" "$TARGET_ARN" "${EVENT_FLAGS[@]}" "${FILTER_FLAGS[@]}"
|
||||
|
||||
echo "[3/3] Проверка после добавления:"
|
||||
mc event ls "$ALIAS_NAME/$BUCKET"
|
||||
|
||||
echo "OK: правило уведомлений настроено"
|
||||
Reference in New Issue
Block a user