Freeipa/dns
@shrug/freeipa/dnsv2026.07.12.1
01README
Manage FreeIPA DNS over the JSON-RPC API: zoneFind/zoneShow/recordFind read-only snapshots plus idempotent ensureZone/ensureForwardZone and a fan-out ensureRecords (add a list of records in one call), with confirm-guarded zoneDel/recordDel — each write carrying an audit trail. ensureRecords records partial applies honestly.
02Models
@shrug/freeipa/dnsv2026.07.12.1dns.ts
fn zoneFind()
Snapshot zones matching an optional search criteria (read-only).
fn zoneShow(idnsname: string)
Snapshot a single zone by name (read-only).
| Argument | Type | Description |
|---|---|---|
| idnsname | string | Zone name to fetch, e.g. example.com |
fn ensureZone(idnsname: string)
Idempotently ensure a DNS zone exists (dnszone_add). An existing zone (IPA DuplicateEntry) is a no-op success — the live entry is re-read via dnszone_show. Writes the zone state on success; audits both paths.
| Argument | Type | Description |
|---|---|---|
| idnsname | string | Zone name to create, e.g. example.com |
fn zoneDel(idnsname: string)
Delete a DNS zone (dnszone_del). Requires confirm:true; audits both paths.
| Argument | Type | Description |
|---|---|---|
| idnsname | string | Zone name to delete |
fn recordFind(zone: string)
Snapshot the records of a zone matching an optional criteria (read-only).
| Argument | Type | Description |
|---|---|---|
| zone | string | Zone to list records in, e.g. example.com |
fn ensureRecords(zone: string)
Fan-out: idempotently ensure a LIST of records in one zone (dnsrecord_add per record, swallowing DuplicateEntry). One method run adds every record — do not loop N method runs (repo rule 6). Re-reads the zone via dnsrecord_find and snapshots the resulting `records` plus the last ensured `record`. On a partial failure the records that landed are persisted (complete:false) and the last ensured `record` snapshotted before the step is failed. Audits both paths.
| Argument | Type | Description |
|---|---|---|
| zone | string | Zone to add the records into, e.g. example.com |
fn recordDel(zone: string, name: string, type: string, data: string)
Delete a single DNS record's rdata (dnsrecord_del). Requires confirm:true; audits both paths.
| Argument | Type | Description |
|---|---|---|
| zone | string | Zone the record lives in, e.g. example.com |
| name | string | Record name relative to the zone, e.g. www |
| type | string | Record type, e.g. A, AAAA, CNAME |
| data | string | The rdata value to remove, e.g. 192.0.2.10 |
fn ensureForwardZone(idnsname: string)
Idempotently ensure a DNS forward zone exists (dnsforwardzone_add) with the given forwarders and policy. An existing forward zone (IPA DuplicateEntry) is a no-op success — the live entry is re-read via dnsforwardzone_show. Writes the zone state on success; audits both paths.
| Argument | Type | Description |
|---|---|---|
| idnsname | string | Forward zone name, e.g. example.com |
Resources
zones(infinite)— Snapshot of zones matching a find (array of parsed rows)
zone(infinite)— Snapshot of a single DNS zone (parsed row + raw entry). Read by the zone-exists pre-flight check.
records(infinite)— Snapshot of a zone's records (array of parsed rows). `complete:false` marks a partial ensureRecords apply.
record(infinite)— Snapshot of a single DNS record (parsed row + raw entry). Written for the most recently ensured record; read by the record-exists pre-flight check.
attempt(infinite)— Audit record of a mutation attempt (request + result/error + timestamp). Written on both success and failure.
03Stats
A
100 / 100
Downloads
0
Archive size
26.0 KB
- 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
Repository
https://github.com/shrugpw/swamp-freeipa04Platforms
05Labels