mirror of
https://github.com/urbit/shrub.git
synced 2024-12-14 20:02:51 +03:00
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
|%
|
|
:: +provider: DNS service provider (gcloud only for now)
|
|
::
|
|
+$ provider
|
|
$% [%fcloud zone=@ta auth=[email=@t key=@t]]
|
|
[%gcloud project=@ta zone=@ta]
|
|
==
|
|
:: +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=(jar ship (pair ship target))
|
|
pen=(map ship target)
|
|
==
|
|
:: +relay: a good parent keeps track
|
|
::
|
|
+$ relay
|
|
$: wen=@da
|
|
wer=(unit @if)
|
|
:: XX track bound state per domain
|
|
::
|
|
dom=(unit turf)
|
|
tar=target
|
|
==
|
|
:: +command: top-level app actions
|
|
::
|
|
+$ command
|
|
$% [%authority aut=authority]
|
|
[%bind for=ship him=ship tar=target]
|
|
[%bond for=ship him=ship dom=turf]
|
|
[%ip %if addr=@if]
|
|
[%meet him=ship]
|
|
==
|
|
--
|