docs(database): record MariaDB qualification and retirement gates
MariaDB persistence qualification / mariadb (push) Failing after 1m7s
MariaDB persistence qualification / mariadb (push) Failing after 1m7s
This commit is contained in:
@@ -6,8 +6,9 @@ This table covers the variables in `.env.example`, their Docker Compose mappings
|
||||
|
||||
| Variable | Required | Service | Secret | Default | Description |
|
||||
|---|---|---|---|---|---|
|
||||
| `DATABASE_PROVIDER` | Production | Compose/API | No | `sqlite` | `sqlite`, `mariadb`, or `mysql`; also selects the backup path. |
|
||||
| `JOBTRACKER_CONNECTION_STRING` | Conditional | API | Yes | — | Server database connection string; ignored for SQLite. |
|
||||
| `DATABASE_PROVIDER` | Production | Compose/API | No | `mariadb` | MariaDB standard; `mysql` alias retained, explicit `sqlite` only for transitional preservation. Unknown values fail closed. |
|
||||
| `DATABASE_SERVER_VERSION` | No | Compose/API | No | `12.2.2` | Configured MariaDB `major.minor.patch`; registration never connects to auto-detect. |
|
||||
| `JOBTRACKER_CONNECTION_STRING` | MariaDB | Compose/API | Yes | — | Required for MariaDB; missing configuration never falls back. Direct API equivalent: `ConnectionStrings__JobTracker`. Explicit SQLite can supply its existing path. |
|
||||
| `APP_PUBLIC_BASE_URL` | Production | API/UI | No | — | Canonical external origin for links, callbacks, cookies, billing, and host validation. |
|
||||
| `APP_VERSION` | No | API | No | — | Release/version metadata. |
|
||||
| `APP_COMMIT_SHA` | No | API | No | — | Release commit metadata. |
|
||||
|
||||
@@ -2,11 +2,17 @@
|
||||
|
||||
## Local development
|
||||
|
||||
SQLite and localhost defaults are supported. Run the API on 5202 and the UI on 3000, or use the development Compose override. Use seeded development credentials only from local settings and never reuse them in production.
|
||||
MariaDB is the standard. Start the isolated persistent service in `docker-compose.database.yml`,
|
||||
then run the API on 5202 and UI on 3000. Development settings use only loopback port33306 and
|
||||
development-only credentials. See [MariaDB setup](../database/mariadb-standardisation/README.md).
|
||||
Explicit SQLite selection is temporary for existing data and legacy test fixtures; it is never an automatic fallback.
|
||||
|
||||
## Tests
|
||||
|
||||
Jest, Playwright, xUnit, and the Python tests create isolated fixtures or temporary databases. They may set test-only variables such as `AI_SERVICE_SKIP_MODEL_LOAD`; they must not use a real database, mailbox, provider key, or production URL.
|
||||
Jest, Playwright, xUnit and Python use isolated fixtures. The MariaDB integration lane uses an actual
|
||||
disposable local server and creates only generated `jt_it_*` schemas. Never use an existing user or
|
||||
production database, mailbox, provider key or production URL. Legacy SQLite/InMemory tests remain
|
||||
explicitly labelled transition evidence and cannot substitute for MariaDB qualification.
|
||||
|
||||
## Production
|
||||
|
||||
|
||||
Reference in New Issue
Block a user