On this page
SSH deployment primitives providing config validation, remote command execution, health checks, and automatic rollback on failure.
#rlsbl.deploy
#rlsbl.deploy
SSH deployment primitives providing config validation, remote command execution, health checks, and automatic rollback on failure.
#DeployResult
Result of a deploy operation.
#expand_env_vars
def expand_env_vars(value)Expand $VAR references in a string. Raises ValueError if var not set.
#validate_deploy_config
def validate_deploy_config(targets)Validate deploy targets from config. Returns list of errors (empty = valid).
#_validate_health_config
def _validate_health_config(health, prefix)Validate a health check config dict. Returns list of errors.
#ssh_run
def ssh_run(host, user, command, ssh_key=None, directory=None, env=None, timeout=120)Execute a command on a remote host via SSH. Returns (stdout, stderr, returncode).
#check_health
def check_health(config, deploy_host, user='root')Run a health check based on config. Returns (success: bool, message: str).
#_check_health_http
def _check_health_http(config)Poll an HTTP URL until 200 or timeout.
#_check_health_tcp
def _check_health_tcp(config, deploy_host)Try TCP connection until success or timeout.
#_check_health_script
def _check_health_script(config, deploy_host, user='root')Run a script health check via SSH on the deploy host.
#deploy_target
def deploy_target(target_config, current_branch)Deploy to a single target. Returns a DeployResult.