fix: a paired replica asks the other member for Anubis's key (common#56) #187
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel!187
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/anubis-key-from-the-pair-common56"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes Keel-Linux/common#56. Based on main after #185.
On a pair,
keel-overlay-anubis-key.servicemakes no key on the database replica: the key is shared and comes from the primary (decision 0041,shared: true). Nothing copied it, soanubis@keeldid not start on the replica, and the apply failed the anubis overlay. The LNMP and LNPP pair tests copied the key by hand.What changes:
secretmessage of the members' channel gives a second name,anubis/signing_key. It is answered with/etc/anubis/keel.key, only to the other member of the pair record, as the replication credential is (keel.mesh.vipserve.shared).keel.system.anubiskey: on the live system, in a run that may change the machine, a node whose spec makes it a database replica, with Anubis enabled, no key file and nosecrets.anubis_signing_key, asks the other member of its pair. The plan writes the key with mode 0600 before the overlay's units start. The key unit then finds the key and leaves it. The key is not in the plan's output.docs/replication.mdsays it, for both engines.Tests:
tests/test_system_anubiskey.py(the channel: the other member gets the key, a member outside the pair does not, a holder with no key, an answer that is no key, a key through a link; the observation: asks, waits, refuses, asks nothing in a dry run) andtests/test_system_appliance.py(the write comes before the start, a waiting replica starts nothing, a problem refuses). The real-node proof is the cross-site test of LNMP and LNPP 19.0-3.keel 0.23.34.
240512d44c8fc10142ee8fc10142eee1beb9c4cfe1beb9c4cf5adbb9dc61