rlsbl v0.40.1 /rlsbl.deploy
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

python
def expand_env_vars(value)

Expand $VAR references in a string. Raises ValueError if var not set.

#validate_deploy_config

python
def validate_deploy_config(targets)

Validate deploy targets from config. Returns list of errors (empty = valid).

#_validate_health_config

python
def _validate_health_config(health, prefix)

Validate a health check config dict. Returns list of errors.

#ssh_run

python
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

python
def check_health(config, deploy_host, user='root')

Run a health check based on config. Returns (success: bool, message: str).

#_check_health_http

python
def _check_health_http(config)

Poll an HTTP URL until 200 or timeout.

#_check_health_tcp

python
def _check_health_tcp(config, deploy_host)

Try TCP connection until success or timeout.

#_check_health_script

python
def _check_health_script(config, deploy_host, user='root')

Run a script health check via SSH on the deploy host.

#deploy_target

python
def deploy_target(target_config, current_branch)

Deploy to a single target. Returns a DeployResult.