on master help sign in
Add Moon Maintenance Across Breach (#1309)

* Add Moon Maintenance Across Breach Add instructions for maintaining a moon across a breach of the sponsor. This helped ~dalten Collective so we thought we'd return the favor and put them up publicly. Hope this placement fits. * Fixing typo

commitb112f7d407a4cf3dab4fd3ae9cda88e13e8a929e authorrabsef-bicrym <52549148+rabsef-bicrym@users.noreply.github.com> dateThu 3 Mar 2022, 09:25 (5 years ago) parent327e868
1 file changed+23
content/using/os/basics.md+23
content/using/os/basics.md+23
@@ -178,6 +178,29 @@ To cycle the keys of a moon without a factory reset, run:
178178
179179You can then run `|rekey` on the moon with the key given by the above command as the argument.
180180
181+### Maintaining Moons Through A Breach {#restoring-moons}
182+
183+Moons are [always subordinate to the ship that issued them](/docs/glossary/moon). Their PKI is sent around the network by their parent planet/star/galaxy. As such, if the sponsor planet/star/galaxy of a moon breaches, other urbits on the network who were not aware of the moon prior to the breach (knew its PKI information) will not be able to reach the old moon. Moons can, however, be preserved over the breach of their sponsor and re-added to `jael`. The following guide assumes you are on `[life=n rift=1]` where `n` can be any life #. If you've previously breached your moon and want to preserve it, you'll need to modify the instructions to include setting the appropriate rift using `|moon-breach` from `hood`.
184+
185+To add an existing moon to `jael` on a breached planet, you'll need the following:
186+
187+ - Your moon's current life # `+keys ~sampel-monler-dozzod-dozzod` (run on the moon) _and_;
188+ - Your moon's sponsor's understanding of your moon's current life (same command, run on the sponsor).
189+ - Your moon's existing keyfile or key-string (`@uw`) _or_ the result of `pub:ex:(nol:nu:crub:crypto .^(@uv %j /=vein=/<life # of moon, per moon, here>))` _and_;
190+ - Your moon's sponsor's understanding of your moon's existing public key `pass:.^([@ud pass=@uw ~] %j /=deed=/~sampel-monler-dozzod-dozzod/<life # of moon per sponsor here>)`.
191+
192+If you only have they keyfile or key-string from your moon's last boot, you'll need to derive the `pass` value from that using `pub:ex:(nol:nu:crub:crypto key:(seed:jael:l (cue <your @uw keyfile contents or key-string contents here>)))`. This should produce a long `@ud`.
193+
194+Once you have all of the requisite elements, you can perform the following on the moon's sponsor:
195+
196+```
197+|moon-cycle-keys ~sampel-monler-dozzod-dozzod, =life <life # of moon, per moon, here>, =public-key <result of the existing keyfile conversion to pass or the result of scrying jael on your moon, found above>
198+```
199+
200+Eventually, the PKI will populate through the network w/ the correct life #, reconnecting your previously orphaned moon. You can speed this up by `|hi ~zod` and `|hi ~sampel-monler-dozzod-dozzod`-ing from the moon and sponsor, respectively (replace with the appropriate ship names).
201+
202+
203+
181204## Escaping A Sponsor {#escape}
182205
183206To use the network as a planet or star, you must be sponsored by an active star