Skip to content

Commit 8e59535

Browse files
hyperpolymathclaude
andcommitted
feat(deploy): add panic-attack dedicated verisim-api instance
deploy/panic-attack/fly.toml: Fly.io app `verisim-panic-api` for panic-attack's own VeriSimDB octad store. Internal 6PN only (.flycast), lhr region, 256MB shared-cpu-1x, auto-stop. panic-attack callers set: VERISIMDB_URL=http://verisim-panic-api.flycast:8080 VERISIM_API_TOKEN=<flyctl secrets set> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a223f30 commit 8e59535

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

deploy/panic-attack/fly.toml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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

0 commit comments

Comments
 (0)