Add internal/metrics package with dedicated Prometheus registry exposing SSH connection, auth attempt, session, and build info metrics. Wire into SSH server (4 instrumentation points) and web server (/metrics endpoint). Add dockerImage output to flake.nix via dockerTools.buildLayeredImage. Bump version to 0.7.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
65 lines
1.5 KiB
Plaintext
65 lines
1.5 KiB
Plaintext
log_level = "info"
|
||
log_format = "text" # "text" or "json"
|
||
|
||
[ssh]
|
||
listen_addr = ":2222"
|
||
host_key_path = "oubliette_host_key"
|
||
max_connections = 500
|
||
|
||
[auth]
|
||
accept_after = 10
|
||
credential_ttl = "24h"
|
||
|
||
[[auth.static_credentials]]
|
||
username = "root"
|
||
password = "toor"
|
||
|
||
[[auth.static_credentials]]
|
||
username = "admin"
|
||
password = "admin"
|
||
|
||
# Route specific credentials to a named shell (optional).
|
||
# [[auth.static_credentials]]
|
||
# username = "samsung"
|
||
# password = "fridge"
|
||
# shell = "fridge"
|
||
|
||
# [[auth.static_credentials]]
|
||
# username = "teller"
|
||
# password = "banking"
|
||
# shell = "banking"
|
||
|
||
[storage]
|
||
db_path = "oubliette.db"
|
||
retention_days = 90
|
||
retention_interval = "1h"
|
||
|
||
# [web]
|
||
# enabled = true
|
||
# listen_addr = ":8080"
|
||
# metrics_enabled = true
|
||
|
||
[shell]
|
||
hostname = "ubuntu-server"
|
||
# banner = "Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-89-generic x86_64)\r\n\r\n"
|
||
# fake_user = "" # override username in prompt; empty = use authenticated user
|
||
|
||
# Per-shell configuration (optional).
|
||
# [shell.banking]
|
||
# bank_name = "SECUREBANK"
|
||
# terminal_id = "SB-0001" # random if not set
|
||
# region = "NORTHEAST"
|
||
|
||
# [shell.adventure]
|
||
# dungeon_name = "THE OUBLIETTE"
|
||
|
||
# [detection]
|
||
# enabled = true
|
||
# threshold = 0.6 # 0.0–1.0, sessions above this trigger notifications
|
||
# update_interval = "5s" # how often to recompute the score during a session
|
||
|
||
# [[notify.webhooks]]
|
||
# url = "https://ntfy.example.com/honeypot"
|
||
# headers = { Authorization = "Bearer your-token" }
|
||
# events = ["human_detected", "session_started"] # empty = all events
|