mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-24 12:49:51 +08:00
* Add basic support for `bound_keypair` joining for all agent types This adds basic support for bound keypair joining for all agent types. This provides benefits in certain situations, for example: - Bound keypair registration secrets are single-use, unlike `token`. In rare cases, users may want to provide a credential that can only join one node. - Bound keypair allows preregistration of the node's public key, eliminating shared secrets. Notably, agents are still issued long-lived, effectively permanent credentials (10yr) after their first registration. This means many benefits of bound keypair joining are not relevant once joined; agents should effectively never need to perform a recovery as their primary credentials are valid for the life of the agent. * Parse bound keypair params from file config * Fix a few lints * Properly pass registration secret to the join client * Add first batch of tests * Add test for makeJoinParams() * Fix imports * Write bound keypair credentials to the correct storage backend * Only load the registration secret if no client state exists * Explicitly raise an error if no registration secret is loaded when required