go-netops/README.md
Claude b27034b710
docs: add production documentation and README
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 15:22:57 +00:00

53 lines
1.4 KiB
Markdown

# 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