Operations
The vine binary is intended to support both development-time foreground use and long-running daemon use.
Foreground Workflow
Foreground mode is for:
- initial configuration bring-up
- debugging TUN and routing behavior
- watching logs and counters interactively
The expected foreground flow is:
- validate config
- load identity
- start the node runtime
- observe peers, routes, sessions, and counters
- stop cleanly with a signal or explicit command
Daemon Workflow
Daemon mode is for:
- multi-PC deployments
- persistent background VPN service
- boot-time or service-manager startup
The expected daemon flow is:
- start with a config file
- record pidfile and state paths
- own TUN lifecycle and session lifecycle
- expose status and diagnostics through CLI subcommands
- stop cleanly without leaking routes or stale runtime state
Operational Priorities
- identity must load before overlay membership is advertised
- route ownership must remain tied to authenticated peers
- direct sessions should be preferred over relay when both are available
- relay fallback should be observable rather than silent