(ip)
| 2983 | viking=rep.get('viking') or node.get('short_name') or '', |
| 2984 | unit_id=int(rep.get('unit_id') or 0), |
| 2985 | ram_gb=float(rep.get('ram_gb') or 0), |
| 2986 | nuclei=bool(rep.get('nuclei')), zap=bool(rep.get('zap')), |
| 2987 | node_id=node.get('id', ''), ip=node.get('ip', ''), reachable=True)) |
| 2988 | return roster |
| 2989 | |
| 2990 | |
| 2991 | # --- Peer-facing endpoints (another Ragnar calls these; peer-auth) ---------- |
| 2992 | |
| 2993 | @app.route('/api/mesh/scan/capabilities', methods=['GET']) |
| 2994 | def mesh_scan_capabilities(): |
| 2995 | """Advertise which heavy scanners this unit can run, for delegation.""" |
| 2996 | cap = _local_scan_capability() |
| 2997 | ram_gb = 0.0 |
no test coverage detected