Skip to main content

Module remote_actions

Module remote_actions 

Source
Expand description

Remote actions module (Level 3 of Three-Level Architecture)

This module provides the lowest-level operations in the three-level architecture, containing leaf-level actions that directly interact with remote systems via SSH. These actions are the building blocks used by steps (Level 2) and commands (Level 1).

§Execution Context: Inside VM via SSH

All remote actions in this module execute commands INSIDE the VM via SSH. For external validation (E2E testing from outside the VM), see external_validators/.

Distinction:

  • remote_actions (this module): Execute commands inside VM via SSH
  • external_validators: Validate services from outside VM via HTTP

§Available Remote Actions

  • validators::cloud_init - Cloud-init status checking and validation
  • validators::docker - Docker installation and service management
  • validators::docker_compose - Docker Compose installation and validation

§Architecture Pattern

Remote actions follow a consistent pattern:

  • Take SSH connection and required parameters
  • Execute specific remote operations via SSH
  • Provide structured error handling with action context
  • Return typed results for use by higher-level components

These actions are designed to be atomic, testable, and reusable across different deployment scenarios.

Re-exports§

pub use validators::cloud_init::CloudInitValidator;
pub use validators::docker::DockerValidator;
pub use validators::docker_compose::DockerComposeValidator;

Modules§

validators

Enums§

RemoteActionError
Errors that can occur during remote action execution

Traits§

RemoteAction
Trait for remote actions that can be executed on a server via SSH