- Ajoute dict_browser_h2 dans /reflists (lecture seule via dict_browser_h2)
- Nouveaux endpoints API :
GET /api/browser-signatures/entries — liste browser_h2_signatures
(fallback dict CSV si migration 06 non appliquée)
POST /api/browser-signatures/entries — ajout fingerprint + reload dict
DELETE /api/browser-signatures/entries — suppression + reload dict
- Page /browsers : 2 nouvelles sections
'Base de signatures H2' — tableau des 10 fingerprints, form d'ajout,
mode lecture seule automatique si migration 06 non appliquée
'Règles de scoring browser_matcher.py' — tableau statique des 7 dimensions
(poids, valeurs par famille, seuils de bypass)
- Integration : browser_h2.csv copié dans user_files au démarrage ClickHouse
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
49 lines
1.6 KiB
Bash
Executable File
49 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# =============================================================================
|
|
# clickhouse-init.sh — Pre-process shared SQL files for integration testing
|
|
#
|
|
# Copies SQL from /initdb-src/ to /tmp, patches credentials, then executes.
|
|
# =============================================================================
|
|
set -e
|
|
|
|
SRC_DIR="/initdb-src"
|
|
TMP_DIR="/tmp/initdb-patched"
|
|
USER_FILES="/var/lib/clickhouse/user_files"
|
|
mkdir -p "$TMP_DIR"
|
|
|
|
# Copier les CSV de référence dans user_files (dictionnaires navigateurs)
|
|
for csv in "$SRC_DIR"/*.csv; do
|
|
[ -f "$csv" ] || continue
|
|
fname=$(basename "$csv")
|
|
if [ ! -f "$USER_FILES/$fname" ]; then
|
|
cp "$csv" "$USER_FILES/$fname"
|
|
echo "[init] CSV copié : $fname"
|
|
fi
|
|
done
|
|
|
|
for f in "$SRC_DIR"/*.sql; do
|
|
[ -f "$f" ] || continue
|
|
base=$(basename "$f")
|
|
echo "[init] Patching $base"
|
|
sed \
|
|
-e "s/USER 'admin'/USER 'default'/g" \
|
|
-e "s/PASSWORD 'CHANGE_ME'/PASSWORD ''/g" \
|
|
-e "s/PASSWORD 'ChangeMe'/PASSWORD ''/g" \
|
|
"$f" > "$TMP_DIR/$base"
|
|
done
|
|
|
|
for f in "$TMP_DIR"/*.sql; do
|
|
[ -f "$f" ] || continue
|
|
base=$(basename "$f")
|
|
echo "[init] Executing $base"
|
|
# 10_perf_indexes.sql uses ALTER TABLE ADD INDEX which may fail if index
|
|
# already exists — allow non-zero exit for migration/perf scripts
|
|
if [[ "$base" == 10_* ]]; then
|
|
clickhouse-client --multiquery < "$f" || echo "[init] WARNING: $base had errors (expected for duplicate indexes)"
|
|
else
|
|
clickhouse-client --multiquery < "$f"
|
|
fi
|
|
done
|
|
|
|
echo "[init] All SQL files executed successfully"
|