2018-06-20 19:44:34 +03:00
|
|
|
|%
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +provider: DNS service provider (gcloud only for now)
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ provider
|
2018-06-20 19:44:34 +03:00
|
|
|
$% [%gcloud project=@ta zone=@ta]
|
|
|
|
==
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +authority: responsibility for a DNS zone
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ authority
|
2018-06-20 19:44:34 +03:00
|
|
|
$: :: dom: authority over a fully-qualified domain
|
|
|
|
::
|
|
|
|
dom=turf
|
|
|
|
:: pro: DNS service provider
|
|
|
|
::
|
|
|
|
pro=provider
|
|
|
|
==
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +target: a ship is bound to a ...
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ target
|
2018-06-20 19:44:34 +03:00
|
|
|
$% :: %direct: an A record
|
|
|
|
::
|
|
|
|
[%direct %if p=@if]
|
|
|
|
:: %indirect: a CNAME record
|
|
|
|
::
|
|
|
|
[%indirect p=ship]
|
|
|
|
==
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +bound: an established binding, plus history
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ bound
|
2018-06-20 19:44:34 +03:00
|
|
|
$: :: wen: established
|
|
|
|
::
|
|
|
|
wen=@da
|
|
|
|
:: cur: current target
|
|
|
|
::
|
|
|
|
cur=target
|
|
|
|
:: hit: historical targets
|
|
|
|
::
|
|
|
|
hit=(list (pair @da target))
|
|
|
|
==
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +nameserver: a b s o l u t e p o w e r
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ nameserver
|
2018-06-20 19:44:34 +03:00
|
|
|
$: aut=authority
|
|
|
|
bon=(map ship bound)
|
2018-11-05 20:55:16 +03:00
|
|
|
dep=(jar ship (pair ship target))
|
|
|
|
pen=(map ship target)
|
2018-06-20 19:44:34 +03:00
|
|
|
==
|
2018-10-30 07:42:39 +03:00
|
|
|
:: +relay: a good parent keeps track
|
2018-06-20 19:44:34 +03:00
|
|
|
::
|
2018-10-30 07:42:39 +03:00
|
|
|
+$ relay
|
2018-06-20 19:44:34 +03:00
|
|
|
$: wen=@da
|
|
|
|
wer=(unit @if)
|
2018-10-31 01:19:34 +03:00
|
|
|
:: XX track bound state per domain
|
|
|
|
::
|
|
|
|
dom=(unit turf)
|
2018-06-20 19:44:34 +03:00
|
|
|
tar=target
|
|
|
|
==
|
2018-10-30 22:05:42 +03:00
|
|
|
:: +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]
|
|
|
|
==
|
2018-06-20 19:44:34 +03:00
|
|
|
--
|