canic-host 0.70.11

Host-side build, install, deployment, and fleet-template library for Canic workspaces
Documentation
use super::super::super::*;

pub(super) const fn root_verification_transition(
    status: DeploymentRootVerificationEvidenceStatusV1,
    current: DeploymentRootVerificationStateV1,
) -> DeploymentRootVerificationStateTransitionV1 {
    match (status, current) {
        (
            DeploymentRootVerificationEvidenceStatusV1::EvidenceSatisfied,
            DeploymentRootVerificationStateV1::NotVerified,
        ) => DeploymentRootVerificationStateTransitionV1::WouldPromoteNotVerifiedToVerified,
        (
            DeploymentRootVerificationEvidenceStatusV1::EvidenceSatisfied,
            DeploymentRootVerificationStateV1::Verified,
        ) => DeploymentRootVerificationStateTransitionV1::NoStateChange,
        _ => DeploymentRootVerificationStateTransitionV1::Blocked,
    }
}

pub(super) fn root_verification_next_actions(
    status: DeploymentRootVerificationEvidenceStatusV1,
) -> Vec<String> {
    match status {
        DeploymentRootVerificationEvidenceStatusV1::EvidenceSatisfied => vec![
            "run the explicit root verification command to write verified local state".to_string(),
        ],
        DeploymentRootVerificationEvidenceStatusV1::VerificationFailed => vec![
            "collect a deployment-truth check with matching root evidence before verifying"
                .to_string(),
        ],
        DeploymentRootVerificationEvidenceStatusV1::NotApplicable => Vec::new(),
    }
}