Skip to content

Database Smoke Checks

scripts/database-smoke.sh runs controller-side database health checks through the Automax database check plugins.

SQLite is always executed because it requires no external service. PostgreSQL, MySQL/MariaDB and Oracle are optional and run only when their environment variables are provided.

Commands

scripts/database-smoke.sh --list
scripts/database-smoke.sh --engine sqlite
scripts/database-smoke.sh --engine all

The default output directory is:

dist/database-smoke/

Each run writes:

summary.txt
summary.json
sqlite.log
postgres.log
mysql.log
oracle.log

Only the selected engines create logs.

Environment variables

PostgreSQL:

export AUTOMAX_POSTGRES_DSN='postgresql://automax:automax@127.0.0.1:5432/automax'

MySQL/MariaDB:

export AUTOMAX_MYSQL_HOST=127.0.0.1
export AUTOMAX_MYSQL_PORT=3306
export AUTOMAX_MYSQL_USER=automax
export AUTOMAX_MYSQL_PASSWORD=automax
export AUTOMAX_MYSQL_DATABASE=automax

Oracle:

export AUTOMAX_ORACLE_DSN='db01.example.com/FREEPDB1'
export AUTOMAX_ORACLE_USER=automax
export AUTOMAX_ORACLE_PASSWORD=automax

Optional engines require their corresponding Python extras and database client setup.

Runtime validation packs

Runtime validation packs include the database-smoke step. Without optional database environment variables, the script records PostgreSQL, MySQL/MariaDB and Oracle as skipped while SQLite still runs.

Release check

scripts/release-check.sh runs SQLite database smoke as a release guardrail because it is local and deterministic.