autumn-cli 0.7.0

CLI tool for the Autumn web framework
# fly.toml — generated by `autumn release init --target fly`
# See https://fly.io/docs/reference/configuration/ for all options.

app = "{{project_name}}"
primary_region = "iad"

# Fly sends SIGKILL when kill_timeout expires.  Set this above Autumn's total
# graceful-shutdown budget: prestop_grace_secs (5) + shutdown_timeout_secs (30)
# = 35 s, plus 10 s buffer for the process to log and exit cleanly.
# Value is in seconds (integer); Fly does not accept a string like "45s".
kill_signal  = "SIGTERM"
kill_timeout = 45

[build]
  dockerfile = "Dockerfile"

[deploy]
  # Uncomment to run `autumn migrate` in a one-shot machine before new app
  # machines start.  If the migration fails the deploy stops before any
  # traffic-serving machine is replaced.  Leave commented for apps without
  # a database — autumn migrate exits non-zero when no DB URL is configured.
  # release_command = "autumn migrate"

[http_service]
  internal_port        = 3000
  force_https          = true
  auto_stop_machines   = true
  auto_start_machines  = true
  min_machines_running = 0

  [http_service.concurrency]
    type       = "connections"
    hard_limit = 25
    soft_limit = 20

  # Readiness: the Fly proxy uses service-level checks to gate traffic routing.
  # Top-level [checks] affect machine lifecycle (restarts) but NOT proxy routing.
  # /ready must be here so the proxy stops sending traffic when Autumn flips
  # /ready to 503 during the prestop grace window.
  [[http_service.checks]]
    grace_period = "5s"
    interval     = "5s"
    method       = "GET"
    path         = "/ready"
    timeout      = "2s"
    type         = "http"

[[vm]]
  memory   = "1gb"
  cpu_kind = "shared"
  cpus     = 1

# Fly scrapes this Prometheus text endpoint and surfaces it in the dashboard.
# /actuator/prometheus is controlled by `actuator.prometheus` (default true) and
# is independent of `actuator.sensitive`: metrics stay scrapeable while
# env/configprops/loggers/tasks/jobs remain off the public surface.
# To keep metrics off public traffic, bind a separate internal listener and set
# `port` here to that non-public port (no [http_service] mapping) — Fly scrapes
# it over the private network. See docs/guide/deployment.md.
[metrics]
  port = 3000
  path = "/actuator/prometheus"

[checks]
  # Liveness: restart the machine if the process is deadlocked or broken.
  # /live never fails due to a missing dependency.  Use [[http_service.checks]]
  # above (not this section) to control proxy traffic routing via /ready.
  [checks.live]
    port         = 3000
    type         = "http"
    interval     = "15s"
    timeout      = "2s"
    grace_period = "5s"
    method       = "get"
    path         = "/live"