Harden signed node authorization flow

This commit is contained in:
Eric Wendland 2026-05-21 18:15:10 +02:00
commit 1336fa38e8
9 changed files with 382 additions and 55 deletions

View file

@ -132,10 +132,24 @@ pub enum ControlRequest {
resource: String,
capability: String,
grant_id: Option<String>,
signing_key_path: Option<PathBuf>,
admin_key_path: Option<PathBuf>,
},
NodeRevokeGrant {
resource: String,
grant_id: String,
signing_key_path: Option<PathBuf>,
admin_key_path: Option<PathBuf>,
},
NodeEndpointAdd {
node: String,
endpoint: String,
signing_key_path: Option<PathBuf>,
},
NodeEndpointRevoke {
node: String,
endpoint: String,
signing_key_path: Option<PathBuf>,
},
NodeEnrollRequest {
node_name: String,
@ -219,10 +233,14 @@ pub enum ControlRequest {
resource: String,
capability: String,
grant_id: Option<String>,
signing_key_path: Option<PathBuf>,
admin_key_path: Option<PathBuf>,
},
AuthRevoke {
resource: String,
grant_id: String,
signing_key_path: Option<PathBuf>,
admin_key_path: Option<PathBuf>,
},
SshCertRequest {
public_key_path: PathBuf,
@ -601,6 +619,7 @@ pub enum ControlResponse {
AuthExplain(AuthExplanation),
AuthOpRecorded {
op: AuthOp,
signatures: Vec<AuthOpSignature>,
},
NodeList {
nodes: Vec<NodeRecord>,