Skip to content

Manage scan subnets (multiple CIDRs) from the web UI #4

Description

@guycorbaz

Context

Scan targets are currently configured via a single OPENCMDB_SCAN_CIDR env var (one CIDR, set at deploy time, read once on startup). Real deployments have several subnets — Guy's home-lab already does, and an SMB will typically have more (VLANs per role/site).

Request

Let the operator manage the set of scan subnets from the web interface, not just an env var:

  • Enter/edit multiple CIDRs (a list, not a single value).
  • Add / remove / edit them at runtime, persisted (a table), no container restart.
  • Validate each CIDR (reuse the existing subnet_hosts bounds: reject / too large, malformed input).
  • Trigger a scan of all configured subnets (and, later, on the periodic schedule — FR6).

Notes / design pointers

  • Today the scan is a one-shot startup scan wired in spawn_startup_scan (main.rs), building one ArpPingConnector from one CIDR via ArpPingConnector::from_cidr. subnet_hosts already expands+bounds a single CIDR.
  • Interim step (cheap): accept a comma/space-separated list in OPENCMDB_SCAN_CIDR so multiple subnets work before the UI exists.
  • Full feature: a scan_subnet table + a form on the page (Askama/HTMX) + the scan reading targets from the DB instead of the env; ties into the periodic scheduler (FR6) and the full ARP/ping scan epic.

Scope

Enhancement — Growth (beyond the v0.1 walking skeleton). Raised by Guy during the v0.1.0 deployment, 2026-07-20.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions