Repository navigation
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
69 lines (57 loc) · 3.82 KB
/
Copy pathconfig.example.yaml
File metadata and controls
69 lines (57 loc) · 3.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# pktLog configuration
# Copy to <install_dir>/config.yaml, or set PKTLOG_CONFIG=/path/to/config.yaml,
# then restart the service.
#
# install.sh generates config.yaml from this file automatically, fills in
# secret_key + credential_key, and appends install_dir — edit config.yaml
# afterwards for any further changes.
#
# install_dir is the app root. Every on-disk path below (db_path, journal_dir,
# duckdb_path, log_file, ssl_dir) defaults to somewhere under install_dir and
# does NOT need to be set explicitly — only uncomment one if you need that
# particular path to live somewhere else.
#
# Most runtime settings (storage backend, retention, notifications, etc.) are
# managed via the Settings page in the UI and stored in SQLite.
# This file only covers infrastructure/startup settings.
# ── Server ────────────────────────────────────────────────────────────────────
host: "0.0.0.0"
port: 8768
workers: 2
debug: false
# ── App root — install.sh appends this automatically ──────────────────────────
# install_dir: "/opt/pktlog"
# ── SQLite app database (optional override; default: <install_dir>/pktlog.db) ─
# db_path: "/opt/pktlog/pktlog.db"
# ── ClickHouse ────────────────────────────────────────────────────────────────
# Use the IP/hostname of your ClickHouse instance ("localhost" if installed
# on the same host by install.sh).
clickhouse_host: "localhost"
clickhouse_port: 9000
clickhouse_database: "pktlog"
clickhouse_user: "default"
clickhouse_password: ""
# ── Syslog ingest port ────────────────────────────────────────────────────────
syslog_port: 5514
# ── Ingest journal (optional override; default: <install_dir>/ingest_journal) ─
# Overflow storage used when ClickHouse is unreachable.
# journal_dir: "/opt/pktlog/ingest_journal"
# ── DuckDB (optional override; default: <install_dir>/pktlog_data.duckdb) ─────
# Only relevant if using the DuckDB backend instead of ClickHouse.
# duckdb_path: "/opt/pktlog/pktlog_data.duckdb"
# ── JWT (generate with: openssl rand -hex 32) ─────────────────────────────────
secret_key: "CHANGE_ME_generate_with_openssl_rand_hex_32"
# ── Credential encryption key (generate with the Fernet command below) ───────
# python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
credential_key: "CHANGE_ME_generate_with_fernet_generate_key"
# ── CORS ─────────────────────────────────────────────────────────────────────
# Empty is correct for a normal install: the UI is served from this same origin,
# so no cross-origin permission is needed. Only list origins here if something
# genuinely external calls the API — "*" allows every site to make credentialed
# requests, which is never what an appliance wants.
cors_origins: []
# ── Logging ───────────────────────────────────────────────────────────────────
log_level: "info"
# log_file: "/opt/pktlog/logs/pktlog.log" # optional override; default: <install_dir>/logs/pktlog.log
# ── SSL certificates (optional override; default: <install_dir>/ssl) ──────────
# ssl_dir: "/opt/pktlog/ssl"