Adds asn (int), as_name (varchar 128), asn_source (varchar 16) to the Attacker SQLModel — direct columns, no _migrate_* helper per feedback_no_new_migrations_prev1. Profiler worker now calls decnet.asn.enrich_ip alongside the existing geoip enrich_ip; both feed the upsert payload. Failure is total — if either lookup throws or the IP is private/unannounced, the field stays None and the row still writes. Both lookups are independent: a CGNAT address can have a country (RIR allocation) but no ASN (no BGP origin), and vice-versa for unrouted RIR-allocated space. Storing them separately preserves that signal.
1.5 KiB
1.5 KiB