mirror of
https://github.com/urbit/shrub.git
synced 2024-11-29 06:45:42 +03:00
60 lines
1.2 KiB
Plaintext
60 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 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=(jar ship (pair ship target))
|
||
|
pen=(map ship target)
|
||
|
==
|
||
|
:: +command: top-level app actions
|
||
|
::
|
||
|
+$ command
|
||
|
$% [%authority aut=authority]
|
||
|
[%bind for=ship him=ship tar=target]
|
||
|
[%bond for=ship him=ship dom=turf]
|
||
|
==
|
||
|
--
|