File size: 2,536 Bytes
ea39c0e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | use serde::Deserialize;
use serde::Serialize;
use crate::NoiseChannelPublicKey;
/// Request body for registering an executor with the environment registry.
#[derive(Clone, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryRegistrationRequest {
pub security_profile: String,
pub executor_public_key: NoiseChannelPublicKey,
}
/// Environment registry response returned after executor registration.
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryRegistrationResponse {
pub environment_id: String,
pub url: String,
pub security_profile: String,
pub executor_registration_id: String,
}
/// Request body for connecting a harness key with the environment registry.
#[derive(Clone, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryConnectRequest {
pub harness_public_key: NoiseChannelPublicKey,
}
/// Environment registry response returned after connecting a harness key.
#[derive(Clone, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryConnectResponse {
pub environment_id: String,
pub url: String,
pub security_profile: String,
pub executor_registration_id: String,
pub executor_public_key: NoiseChannelPublicKey,
pub harness_key_authorization: String,
}
impl std::fmt::Debug for EnvironmentRegistryConnectResponse {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("EnvironmentRegistryConnectResponse")
.field("environment_id", &self.environment_id)
.field("url", &"<redacted>")
.field("security_profile", &self.security_profile)
.field("executor_registration_id", &self.executor_registration_id)
.field("executor_public_key", &self.executor_public_key)
.field("harness_key_authorization", &"<redacted>")
.finish()
}
}
/// Request body for authorizing a harness key with the environment registry.
#[derive(Clone, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryHarnessKeyValidationRequest {
pub executor_registration_id: String,
pub harness_public_key: NoiseChannelPublicKey,
pub harness_key_authorization: String,
}
/// Environment registry response returned after harness key validation.
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct EnvironmentRegistryHarnessKeyValidationResponse {
pub valid: bool,
}
#[cfg(test)]
#[path = "environment_registry_tests.rs"]
mod tests;
|