-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathechidnabot.example.toml
More file actions
83 lines (74 loc) · 2.72 KB
/
Copy pathechidnabot.example.toml
File metadata and controls
83 lines (74 loc) · 2.72 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# echidnabot Configuration Example
# Copy to echidnabot.toml and customize
[server]
# Host to bind to (0.0.0.0 for all interfaces)
host = "0.0.0.0"
# Port to listen on
port = 8080
[database]
# SQLite for development, PostgreSQL for production
# SQLite: sqlite://path/to/db.sqlite
# PostgreSQL: postgres://user:pass@host/dbname
url = "sqlite://echidnabot.db"
# Maximum database connections
max_connections = 5
[echidna]
# ECHIDNA Core GraphQL endpoint
endpoint = "http://localhost:8080/graphql"
# ECHIDNA Core REST endpoint
rest_endpoint = "http://localhost:8080"
# API mode: auto, graphql, rest
mode = "auto"
# Timeout for proof verification (seconds)
timeout_secs = 300
[scheduler]
# Maximum concurrent proof jobs
max_concurrent = 5
# Maximum jobs in queue
queue_size = 100
# GitHub Integration (optional)
# [github]
# # Option 1: GitHub App (recommended for production)
# app_id = 123456
# private_key_path = "/path/to/private-key.pem"
#
# # Option 2: Personal Access Token (simpler for testing)
# token = "ghp_xxxxxxxxxxxxxxxxxxxx"
#
# # Webhook secret for signature verification
# webhook_secret = "your-webhook-secret"
# GitLab Integration (optional)
# [gitlab]
# url = "https://gitlab.com"
# token = "glpat-xxxxxxxxxxxxxxxxxxxx"
# webhook_secret = "your-webhook-secret"
# Bot operating mode (daemon-wide default)
# Per-repo directives (.machine_readable/bot_directives/echidnabot.a2ml) and
# the per-repo mode registered via `echidnabot register --mode` take precedence.
# This is the final fallback before the built-in default (verifier).
#
# [bot]
# mode = "verifier" # verifier | advisor | consultant | regulator
#
# verifier — silent pass/fail via check run only (default)
# advisor — check run + PR comment with ML tactic suggestions on failure
# consultant — check run + inline review comment on offending lines; responds to @echidnabot mentions
# regulator — check run + PR comment; sets check to failure + blocks merge on coverage drop
# Lifecycle / graceful-shutdown settings
# On SIGTERM/SIGINT the daemon stops accepting new webhook requests, waits
# (up to `shutdown_timeout_secs`) for in-flight proof jobs to drain, closes
# the DB connection pool, and flushes observability before exiting.
#
# [lifecycle]
# shutdown_timeout_secs = 30 # default; range 1..=300 is sensible
#
# Env override (wins over the TOML value, no restart needed):
# ECHIDNABOT_SHUTDOWN_TIMEOUT_SECS=60
# Environment variables can override any setting:
# ECHIDNABOT__SERVER__PORT=9090
# ECHIDNABOT__DATABASE__URL=postgres://...
# ECHIDNABOT__ECHIDNA__ENDPOINT=http://...
# ECHIDNABOT__ECHIDNA__REST_ENDPOINT=http://...
# ECHIDNABOT__ECHIDNA__MODE=rest
# ECHIDNABOT__GITHUB__TOKEN=ghp_...
# ECHIDNABOT_SHUTDOWN_TIMEOUT_SECS=30 # graceful-shutdown deadline (seconds)