PortivoComplete handbook← Back to siteGitHub← Site
Core concepts

Architecture

Components and command execution model of Portivo.

v2.0.0Source-backed

Component model

Browser
   |
   v
Portivo Web UI
   |
   v
FastAPI application
   +--> Authentication / RBAC
   +--> Jobs / Audit / Fleet Audits / Scheduler
   +--> Device inventory / state cache
   +--> Vendor driver registry
   |      +--> ALE AOS 6
   |      +--> ALE AOS 8
   +--> Per-device SSH coordinator --> OmniSwitch
   +--> SNMPv3 monitoring ----------> UPS / stack telemetry
   +--> SQLite database

Command execution lifecycle

  1. User selects an action and targets.
  2. The backend resolves compatibility and renders AOS-specific command templates.
  3. The UI displays the exact preview.
  4. A Job and per-device Job Items are created.
  5. Workers execute with bounded fleet parallelism while the same switch remains serialized through its per-device lane.
  6. Read-only actions stop after collection/verification.
  7. Configuration changes update running configuration and create pending persistent state where applicable.
  8. An explicit save workflow writes pending changes persistently using the AOS-family-specific save command.

Vendor driver boundary

The driver registry isolates platform identity, Netmiko transport selection, CLI rejection behavior and capability metadata. The current registry contains only AOS 6 and AOS 8 switch drivers.

Persistent data

SQLite stores current operational data and audit records. Port state cache stores latest observed state and transition timestamps, not a full time-series. Traffic graphs and long-term telemetry belong in a time-series system outside the current Portivo database design.

Source-backed detail

Concurrency and state boundaries

FastAPI serves the application and operational API. SQLite stores configuration, normalized current state and audit evidence, while in-process coordinators protect live SSH sessions. Cross-device work uses bounded parallelism; same-device work enters one strict FIFO lane.

Background availability monitoring is deliberately lighter than authenticated operations. Detailed inventory, diagnostics, audits and execution use explicit authenticated sessions.

Data-model limit

The database is not a full time-series platform. It retains current observations, transitions and bounded operational history. Long-term traffic graphs belong in a purpose-built time-series system.