@aphrody/ovh
v0.1.1
Published
Safe multi-profile OVH health and inventory monitor
Readme
@aphrody/ovh
Safe, non-interactive OVH profile selection and health polling for Aphrody.
Supported profiles are fixed and intentionally small:
| Profile | Credential source | Scope |
| --- | --- | --- |
| aphrody.com | ~/.bash_secrets | aphrody.com, rpbey.fr |
| rosegriffon.fr | ~/.ovh.conf | rosegriffon.fr |
| dragonballfr.com | ~/.config/ovh/dbfr.conf | dragonballfr.com |
The loader reads only the allowlisted file and the three OVH_* keys below. It
never logs or copies credential values. Quoted values and export KEY=value
syntax are supported; shell expansion is deliberately not evaluated. On POSIX,
credential files must not be readable by group or other users, and symlinks are
rejected. The Let’s Encrypt credentials file used by certificate renewal is
outside this package’s API credential loader and is never read.
Create each source with:
OVH_APPLICATION_KEY=...
OVH_APPLICATION_SECRET=...
OVH_CONSUMER_KEY=...OVH_PROFILE selects the default; --profile takes precedence. init creates
the local configuration directory but does not ask for or write credentials.
Push-Location packages/ovh
bun run init
bun run profiles
$env:OVH_PROFILE="aphrody.com"; bun run check
bun ./src/cli.ts vps --profile aphrody.com --service vps-203bea89.vps.ovh.net
bun ./src/cli.ts domain --profile aphrody.com --name aphrody.com
bun ./src/cli.ts monitor --profile dragonballfr.com --interval 60000
Pop-Locationprofiles prints metadata only. check performs an authenticated /me health
probe through @ovh-api/api; it exits with status 1 when authentication fails.
monitor emits one JSON snapshot per interval and stops cleanly on SIGINT.
vps collects the VPS details, datacenter, IPs, automated-backup settings, and
subscription status through read-only endpoints. domain collects the zone
status, nameservers, DNSSEC/Anycast state, subscription dates, and DNS records.
Only domains listed for the selected profile are accepted. The API client stays
behind createClient, and inventory helpers accept a request client so tests
can run without network access or credentials.
Package checks:
bun run --cwd packages/ovh typecheck
bun run --cwd packages/ovh test