shrub/pkg/arvo/sur/dns-bind.hoon
2019-07-16 15:59:39 -07:00

59 lines
1.2 KiB
Plaintext

|%
:: +provider: DNS service provider (gcloud only for now)
::
+$ provider
$% [%fcloud zone=@ta auth=[email=@t key=@t]]
$: %gcloud
project=@ta
zone=@ta
:: XX passed as params since we can't scry in +mule
::
scry=[code=@t =hart:eyre secrets=@t]
auth=(unit [access=@t refresh=@t])
==
==
:: +authority: responsibility for a DNS zone
::
+$ authority
$: :: dom: authority over a fully-qualified domain
::
dom=turf
:: pro: DNS service provider
::
pro=provider
==
:: +target: a ship is bound to a ...
::
+$ target
$% :: %direct: an A record
::
[%direct %if p=@if]
:: %indirect: a CNAME record
::
[%indirect p=ship]
==
:: +bound: an established binding, plus history
::
+$ bound
$: :: wen: established
::
wen=@da
:: id: binding UUID (unused by gcloud)
::
id=@ta
:: cur: current target
::
cur=target
:: hit: historical targets
::
hit=(list (pair @da target))
==
:: +nameserver: a b s o l u t e p o w e r
::
+$ nameserver
$: aut=authority
bon=(map ship bound)
dep=(jug ship (pair ship target))
==
--