- argonaut.service + argonaut-stack.sh (autonomy stack) - argonaut-api.service + argonaut-api.sh (FastAPI backend) - README documents deploy locations, pip dependencies, install procedure - Resolves: systemd/wrapper files were previously not version-controlled - Documents fastapi/uvicorn system-wide install (--ignore-installed typing_extensions)
34 lines
1.0 KiB
Desktop File
34 lines
1.0 KiB
Desktop File
# 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
|