Pyramid web app for inspecting arborist Merkle trees over sharded SQLite: document roots, inclusion proofs, an interactive 3D Merkle lattice (six.js / WebGL with graceful fallback), audit-chain linkage, and a live SSE event stream. Generated artifacts (env/, vendored static/six/ bundles, demo databases) are gitignored and rebuilt via the Makefile (venv, six, init-db, serve).
78 lines
1.5 KiB
INI
78 lines
1.5 KiB
INI
###
|
|
# arborist-viz — Merkle Command Center (production)
|
|
###
|
|
|
|
[alembic]
|
|
script_location = arborist_viz/scripts/alembic
|
|
sqlalchemy.url = sqlite:///%(here)s/data/arborist_viz.sqlite
|
|
|
|
[app:main]
|
|
use = egg:arborist-viz
|
|
|
|
sqlalchemy.url = sqlite:///%(here)s/data/arborist_viz.sqlite
|
|
|
|
arborist.shards =
|
|
|
|
pyramid.reload_templates = false
|
|
pyramid.debug_authorization = false
|
|
pyramid.debug_notfound = false
|
|
pyramid.debug_routematch = false
|
|
pyramid.default_locale_name = en
|
|
pyramid.includes =
|
|
pyramid_jinja2
|
|
pyramid_tm
|
|
pyramid_retry
|
|
|
|
jinja2.directories = arborist_viz:templates
|
|
jinja2.extensions =
|
|
jinja2.ext.do
|
|
|
|
session.hashalg = sha512
|
|
# OVERRIDE in deployed environment via env / secrets manager.
|
|
session.secret = CHANGE-ME-IN-PROD
|
|
session.timeout = 86400
|
|
session.max_age = 86400
|
|
session.reissue_time = 7200
|
|
session.samesite = strict
|
|
session.secure = True
|
|
|
|
privacy.reveal_private_leaves = false
|
|
|
|
sse.heartbeat_seconds = 15
|
|
sse.max_event_bytes = 65536
|
|
|
|
[server:main]
|
|
use = egg:waitress#main
|
|
listen = 127.0.0.1:6543
|
|
|
|
[loggers]
|
|
keys = root, arborist_viz, sqlalchemy
|
|
|
|
[handlers]
|
|
keys = console
|
|
|
|
[formatters]
|
|
keys = generic
|
|
|
|
[logger_root]
|
|
level = WARN
|
|
handlers = console
|
|
|
|
[logger_arborist_viz]
|
|
level = INFO
|
|
handlers =
|
|
qualname = arborist_viz
|
|
|
|
[logger_sqlalchemy]
|
|
level = WARN
|
|
handlers =
|
|
qualname = sqlalchemy.engine
|
|
|
|
[handler_console]
|
|
class = StreamHandler
|
|
args = (sys.stderr,)
|
|
level = NOTSET
|
|
formatter = generic
|
|
|
|
[formatter_generic]
|
|
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
|