# go-netops Go client library for UniFi network controllers. Provides a thin wrapper around the [unpoller/unifi](https://github.com/unpoller/unifi) SDK with config-based authentication, TLS flexibility, site filtering, and flat device/network/route types for easy consumption by CLI commands. | | | |---|---| | **Module** | `forge.lthn.ai/core/go-netops` | | **Licence** | EUPL-1.2 | | **Language** | Go 1.25 | ## Quick Start ```go import "forge.lthn.ai/core/go-netops/unifi" // Direct credentials client, err := unifi.New("https://10.69.1.1", "admin", "pass", "", true) // Or resolve from config file / env vars / flags client, err := unifi.NewFromConfig("", "", "", "", nil) // Query devices devices, err := client.GetDeviceList("default", "") // Query connected clients clients, err := client.GetClients(unifi.ClientFilter{Wireless: true}) // Query networks and routes networks, err := client.GetNetworks("default") routes, err := client.GetRoutes("default") ``` ## Documentation - [Architecture](docs/architecture.md) — package structure, key types, design decisions - [Development](docs/development.md) — prerequisites, build/test, coding standards - [History](docs/history.md) — extraction origin, known limitations, future plans ## Build & Test ```bash go test ./... # run all tests go test -race ./... # race detector go test -cover ./... # coverage (39%) go vet ./... # vet check ``` ## Licence EUPL-1.2