# argonaut-api.service — Argonaut 3 FastAPI backend # # HTTP bridge from Cockpit widgets to the ROS2 autonomy stack (port 8081). # Endpoints: /health, /abort (W3 RETURN TO SAFE), /mission/start, /mission/stop. # # DEPLOY LOCATION: /etc/systemd/system/argonaut-api.service # # DEV POLICY (matches argonaut.service): # Installed but NOT enabled-on-boot. Start manually: # sudo systemctl start argonaut-api.service # When field-ready, enable on boot: # sudo systemctl enable argonaut-api.service # # Soft ordering After=argonaut.service so the ROS2 graph is up first, but # no hard Requires= — the API can still start for /health checks if the # stack is down (mission commands then return a clear "unavailable" error). [Unit] Description=Argonaut 3 FastAPI backend (HTTP -> ROS2 bridge) After=network-online.target argonaut.service Wants=network-online.target [Service] Type=simple User=ubuntu Group=ubuntu WorkingDirectory=/data/ros2_ws ExecStart=/usr/local/bin/argonaut-api.sh Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target