network/preseem
2026-07-19 14:42:02 -05:00
..
.envrc update 2026-07-19 14:42:02 -05:00
client.go update 2026-07-19 14:42:02 -05:00
client_test.go update 2026-07-19 14:42:02 -05:00
cmd_accounts.go update 2026-07-19 14:42:02 -05:00
cmd_ap.go update 2026-07-19 14:42:02 -05:00
cmd_clear.go update 2026-07-19 14:42:02 -05:00
cmd_common.go update 2026-07-19 14:42:02 -05:00
cmd_cpe.go update 2026-07-19 14:42:02 -05:00
cmd_olts.go update 2026-07-19 14:42:02 -05:00
cmd_packages.go update 2026-07-19 14:42:02 -05:00
cmd_routers.go update 2026-07-19 14:42:02 -05:00
cmd_services.go update 2026-07-19 14:42:02 -05:00
cmd_sites.go update 2026-07-19 14:42:02 -05:00
go.mod update 2026-07-19 14:42:02 -05:00
main.go update 2026-07-19 14:42:02 -05:00
output.go update 2026-07-19 14:42:02 -05:00
preseem update 2026-07-19 14:42:02 -05:00
preseem.yaml update 2026-07-19 14:42:02 -05:00
README.md update 2026-07-19 14:42:02 -05:00
types.go update 2026-07-19 14:42:02 -05:00

preseem

Small Go CLI for the Preseem Model API. Read-only fan-out across every resource in preseem.yaml (the bundled OpenAPI spec).

Build

go build .
go test ./...

Auth

export PRESEEM_KEY=<api key>           # required
export PRESEEM_URL=https://api.preseem.com  # optional override

Add to .envrc for direnv auto-load. The key is sent as HTTP Basic username with an empty password, per the Preseem spec.

Usage

preseem <resource> <verb> [args] [flags]

Resources: accounts, ap, ap-config, ap-scores, cpe-scores, packages, services, routers, olts, sites.

List flags: --json, --page N, --limit 100..1000. Without --page, list endpoints auto-paginate; with --json, the merged output keeps the API's {data, paginator} envelope.

preseem accounts list
preseem accounts get 100
preseem ap list
preseem ap get 123
preseem ap-config get 123
preseem ap-scores
preseem cpe-scores
preseem packages list
preseem services list
preseem services get 23
preseem routers list
preseem olts list
preseem sites list

preseem accounts list --json | jq '.data | length'
preseem ap list --page 1 --limit 100

IDs containing / are URL-encoded automatically (accounts/john/doeaccounts/john%2Fdoe).

Scope

Read-only (GET) for the whole spec. PUT/DELETE wrappers are intentionally not implemented — the spec is small and stable, so add them in cmd_*.go when an actual write workflow shows up.