Pihole
Pi-hole custom DNS record management for swamp — list, add, delete, and declaratively sync local DNS A-records on a Pi-hole v6 (FTL) appliance.
Model:
@magistr/pihole— custom DNS host records with full CRUD plussync(add missing) andsync-clean(declarative converge: add missing + delete extras).
Hardened for shared use: the web password is marked sensitive and never persisted in cleartext; HTTPS is supported with an optional inline CA certificate for self-signed appliances (no insecure verify-skip); every FTL session is released after use (DELETE /api/auth) so the appliance's concurrent-session limit is never exhausted; requests are bounded by a timeout; and captured API error bodies are redacted before they are logged or persisted.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| host | string | Pi-hole host, e.g. pihole.local or 10.0.0.53 (a scheme/port may be included, e.g. https://pi.lan:8443) |
| password | string | Pi-hole web password — use a vault reference: ${{ vault.get(my-vault, PIHOLE_PASSWORD) }} |
| scheme | enum | URL scheme (default http). Use https to avoid sending the password over cleartext. |
| caCert? | string | Optional inline PEM CA certificate to trust a self-signed Pi-hole HTTPS certificate |
| records? | array | Declarative DNS records used by add/sync |
| Argument | Type | Description |
|---|---|---|
| deleteExtras? | boolean | Delete records not present in globalArguments.records |
Release 2026.07.16.2 — align model versions with manifests
Maintenance release across the @magistr extensions. For most packages this
carries no functional change: the only edit is the model's version: field,
brought back in line with its manifest version so the published model type
version and the package version no longer drift.
Functional changes in this release are limited to:
anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.
arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.
Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned