pub use wist_contracts::enrollment::{
AgentIdentity, AgentIdentityStatus, CredentialBundle, HostProfile, InitialConfig, PolicyBinding,
};
pub mod v1;
pub use v1::*;
pub const CURRENT: &str = v1::API_VERSION;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn current_matches_the_live_wire_version() {
let request = v1::EnrollmentRequest::new(
"t".to_string(),
"cr".to_string(),
"csr".to_string(),
HostProfile {
node_id: "n".to_string(),
hostname: "h".to_string(),
os: "linux".to_string(),
arch: "x86_64".to_string(),
machine_id: "m".to_string(),
cloud_instance_id: None,
k8s_node_uid: None,
ip_addresses: vec![],
},
"caps".to_string(),
"2026-09-28T00:00:00Z".to_string(),
);
assert_eq!(request.api_version, CURRENT);
}
#[test]
fn domain_types_are_the_contracts_ones() {
#[allow(dead_code)]
fn assert_identity() {
fn host(v: wist_contracts::enrollment::HostProfile) -> HostProfile {
v
}
fn agent(v: wist_contracts::enrollment::AgentIdentity) -> AgentIdentity {
v
}
fn agent_status(
v: wist_contracts::enrollment::AgentIdentityStatus,
) -> AgentIdentityStatus {
v
}
fn cred(v: wist_contracts::enrollment::CredentialBundle) -> CredentialBundle {
v
}
fn init(v: wist_contracts::enrollment::InitialConfig) -> InitialConfig {
v
}
fn policy(v: wist_contracts::enrollment::PolicyBinding) -> PolicyBinding {
v
}
let _ = (host, agent, agent_status, cred, init, policy);
}
assert_identity();
}
}