# Smart Deploy Agent Demo Edge Agent ## Setup ```bash python -m venv .venv .venv\Scripts\python -m pip install -e edge-agent ``` ## Run Once ```bash set PYTHONPATH=edge-agent .venv\Scripts\python -m app.main --once ``` ## Run Loop ```bash set PYTHONPATH=edge-agent .venv\Scripts\python -m app.main ``` ## Test ```bash set PYTHONPATH=edge-agent C:\Users\MH\AppData\Local\Programs\Python\Python311\python.exe -m pytest edge-agent/tests -q -p no:cacheprovider ``` ## Default Runtime Notes 1. default backend url: `http://127.0.0.1:8000` 2. default edge id: `edge-shanghai-001` 3. current registered tools: `http_health_check` `tcp_probe` `check_port` `check_process` `grep_log` `windows_service_control` `linux_service_control` 4. current bootstrap implements: heartbeat pull task execute registered tools report result report event ## Package Scripts Current repo includes: 1. `scripts/start-windows.ps1` 2. `scripts/start-linux.sh` 3. `scripts/package-windows.ps1` 4. `scripts/package-linux.sh` 5. `scripts/package-linux.ps1` These scripts currently prepare a portable package skeleton and startup entrypoints. Current Windows package script already bundles a private Python runtime into: `runtime/python/` Current Linux package script supports bundling a private Python runtime directory passed in by argument or `EDGE_PYTHON_HOME`. Current repo also provides `package-linux.ps1` as a Windows-hosted equivalent for validating Linux artifact structure when bash/WSL is unavailable. ## Packaging Direction For user-side delivery, this edge agent is intended to be bundled as: 1. Windows: `zip` portable package 2. Linux: `tar.gz` self-contained runtime directory ## Current Verification Baseline Current edge-agent baseline: `20 passed` ## Verified Packaging Current verified artifact: 1. Windows portable package zip has been generated and verified to include: `start.ps1` `app/main.py` `runtime/python/python.exe` 2. Linux portable package tar.gz has been generated and verified to include: `start.sh` `app/main.py` `runtime/python/bin/python3` ## Native Linux Verification Steps When a real Linux/bash environment is available, validate native packaging with: ```bash export EDGE_PYTHON_HOME=/path/to/private/python/runtime chmod +x edge-agent/scripts/package-linux.sh ./edge-agent/scripts/package-linux.sh tar -tf edge-agent/dist/edge-agent-linux-*.tar.gz | grep -E 'start.sh|app/main.py|runtime/python/bin/python3' ``` Recommended follow-up checks: 1. verify `runtime/python/bin/python3` can start 2. verify `start.sh --once` can run against backend 3. verify file permissions are preserved after extraction