3480d04ec3
Add an IPRegionResolver wrapping the ip2region xdb library and attach it to AuditService so each appended event records both the raw IP and a resolved region in a new ops.audit_logs.ip_region column. Loopback and private addresses short-circuit to local labels; missing xdb data or lookup errors degrade silently so auditing keeps working without it. The ops console audit view shows the region beneath the IP. Bundle the v4/v6 xdb data under internal/ops/app/ipregiondata so the resolver works out of the box, with config paths/env overrides for swapping in updated data sets. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
702 B
YAML
36 lines
702 B
YAML
server:
|
|
port: 8090
|
|
mode: debug
|
|
|
|
database:
|
|
host: localhost
|
|
port: 5432
|
|
user: geo
|
|
password: geo_dev
|
|
dbname: geo
|
|
sslmode: disable
|
|
max_open_conns: 10
|
|
max_idle_conns: 2
|
|
|
|
log:
|
|
level: info
|
|
format: json
|
|
|
|
jwt:
|
|
secret: "15645415841" # 必须通过 OPS_JWT_SECRET 环境变量提供
|
|
access_ttl: 8h
|
|
|
|
default_admin:
|
|
username: admin
|
|
display_name: 系统管理员
|
|
email: ""
|
|
password: "liang0920" # 必须通过 OPS_DEFAULT_ADMIN_PASSWORD 提供(首次启动且表为空时使用)
|
|
|
|
admin_users:
|
|
default_plan_code: free
|
|
|
|
ip_region:
|
|
# 可选外部 xdb 路径;文件不存在时自动使用二进制 embed 内置数据。
|
|
v4_xdb_path: ""
|
|
v6_xdb_path: ""
|