Skip to content

Runtime validation packs

Runtime validation packs group release checks, package smoke, per-plugin check runbooks and SSH evidence collection into named validation profiles.

List available packs:

scripts/runtime-validation-packs.sh --list

Run the package-only pack:

scripts/runtime-validation-packs.sh --pack package-only

A run writes logs, a manifest, a summary and checksums under dist/runtime-packs/<pack>-<timestamp>/.

Included packs

package-only runs release metadata checks and package smoke. It is suitable for local release rehearsals where no disposable runtime host is available.

debian-like and redhat-like are disposable VM profiles. They run release metadata, package smoke, per-plugin check runbooks and SSH evidence collection. Provide the normal SSH smoke variables before running them:

AUTOMAX_SSH_HOST=192.0.2.10
AUTOMAX_SSH_USER=deploy
AUTOMAX_SSH_KEY_FILE=~/.ssh/id_ed25519
AUTOMAX_SSH_KNOWN_HOSTS=~/.ssh/known_hosts

privileged-vm is intended for disposable hosts where destructive or privileged checks are allowed by the operator. Keep it isolated from long-lived systems.

Plugin check requirements

The plugin-checks step uses examples/runbooks/scripts/run-all-checks.sh and therefore requires a sudo password environment variable:

export AUTOMAX_SUDO_PASSWORD='...'

Use AUTOMAX_SUDO_PASSWORD_ENV when the password lives under a different environment variable name.

Evidence output

Each pack creates:

summary.txt
manifest.json
SHA256SUMS
logs/<step>.log

Steps that require unavailable runtime inputs return skipped with rc=77 in the manifest. Failed steps stop the pack by default. Use --keep-going to collect all step outcomes before returning a failing summary.

Index and retention

Runtime validation packs update dist/runtime-evidence-index.json automatically after each run. Set AUTOMAX_RUNTIME_EVIDENCE_RETAIN to prune older evidence runs while updating the index:

AUTOMAX_RUNTIME_EVIDENCE_RETAIN=10 scripts/runtime-validation-packs.sh --pack package-only

Use scripts/runtime-evidence-index.sh --verify to rebuild the index and verify all discovered checksums without running a new pack.

Database smoke step

The database-smoke step runs scripts/database-smoke.sh. SQLite is local and deterministic; PostgreSQL, MySQL/MariaDB and Oracle run only when their environment variables are configured.