File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: PMPL-1.0-or-later
2+ # fly.io deployment for panic-attack's dedicated verisim-api instance.
3+ #
4+ # This is a per-project VeriSimDB instance serving panic-attack scan results.
5+ # It runs as an internal Fly app, reachable only via 6PN .flycast from other
6+ # apps in the same org (CI runners, hypatia, panll dashboard).
7+ #
8+ # Deploy:
9+ # flyctl launch --no-deploy --copy-config --name verisim-panic-api
10+ # flyctl secrets set VERISIM_API_TOKEN=$(openssl rand -hex 32)
11+ # flyctl deploy -c deploy/panic-attack/fly.toml -f Containerfile.api
12+ #
13+ # panic-attack callers set:
14+ # VERISIMDB_URL=http://verisim-panic-api.flycast:8080
15+ # VERISIM_API_TOKEN=<same secret>
16+
17+ app = " verisim-panic-api"
18+ primary_region = " lhr"
19+ kill_signal = " SIGTERM"
20+ kill_timeout = " 10s"
21+
22+ [build ]
23+ dockerfile = " Containerfile.api"
24+
25+ [env ]
26+ RUST_LOG = " info,tower_http=warn"
27+ VERISIM_HOST = " ::"
28+ VERISIM_PORT = " 8080"
29+ VERISIM_LOG_FORMAT = " json"
30+ VERISIM_ENABLE_CORS = " false"
31+ # VERISIM_API_TOKEN via `flyctl secrets set` (shared with panic-attack callers)
32+
33+ # Internal-only: no public HTTP edge, only reachable via 6PN .flycast
34+ [[services ]]
35+ protocol = " tcp"
36+ internal_port = 8080
37+ auto_stop_machines = " stop"
38+ auto_start_machines = true
39+ min_machines_running = 0
40+ processes = [" app" ]
41+
42+ [[services .ports ]]
43+ port = 8080
44+ handlers = [] # no TLS — internal 6PN only
45+
46+ [[services .tcp_checks ]]
47+ interval = " 30s"
48+ timeout = " 5s"
49+ grace_period = " 15s"
50+
51+ [[vm ]]
52+ size = " shared-cpu-1x"
53+ memory = " 256mb"
54+ cpu_kind = " shared"
55+ cpus = 1
You can’t perform that action at this time.
0 commit comments