mirror of
https://github.com/urbit/shrub.git
synced 2024-12-21 09:51:36 +03:00
59 lines
1.2 KiB
Plaintext
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))
|
|
==
|
|
--
|