-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Description
Add support for installing and automatically updating the edge-agent binary from GitHub releases.
Components Needed
- Build-time download script - Downloads initial binary during image creation
- Runtime updater service - Updates binary when internet available
- Systemd services - Manages agent lifecycle
Recipe Structure
recipes-core/edge-agent/
├── edge-agent.bb
├── files/
│ ├── edge-agent.service
│ ├── edge-agent-running.service
│ ├── edge-agent-updater.sh
│ └── download-edge-agent.sh
Implementation Details
- Download from https://github.com/edgeengineer/edge-agent/releases
- Install to
/usr/local/bin/edge-agent - Keep backup in
/opt/edgeos/bin/ - Check for updates on boot when network available
- Handle both tar.gz and binary releases
Build-time Download
The recipe should attempt to download the latest edge-agent during build if network is available, falling back to runtime download if not.
Runtime Update Service
[Unit]
Description=EdgeOS Agent Updater
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/opt/edgeos/bin/edge-agent-updater.sh
RemainAfterExit=trueAcceptance Criteria
- Edge agent downloaded during build if internet available
- Fallback to runtime download if build-time fails
- Auto-update checks on boot when network available
- Binary stored in
/usr/local/binwith backup in/opt/edgeos/bin - Proper systemd service management
- Handles both pre-releases and stable releases
Reactions are currently unavailable