On this page
Settings keysGlossary
PR template (.github/PULL_REQUEST_TEMPLATE.md) — the Markdown file GitHub uses to pre-fill the description box whenever someone opens a new pull request against this repo. This PR is the only file changed.
🧪 Sandbox block — the ## 🧪 Sandbox heading and fenced YAML block this PR adds to the template. Lives in the PR description text, not a separate file; edited by hand like any other part of the description.
Sandbox (in this context) — the disposable per-PR preview deployment of the full Dentolize stack (web, API, database, S3 mock, etc.), automatically created when a PR opens and destroyed when it closes. Not to be confused with "sandbox mode" inside the product itself — there isn't one; this is purely a CI/infrastructure concept.
sandbox CLI (/opt/homelab/sandbox/bin/sandbox) — the binary on the self-hosted GitHub Actions runner that actually clones, builds, deploys, seeds, and tears down a PR's sandbox. Lives outside this repository; the workflow shells out to it.
gate job — the CI job (sandbox.yml) that decides whether a given PR event should trigger a redeploy. See gate-and-deploy-flow.md.
SANDBOX_SETTINGS_FILE — the JSON file (converted from the PR's YAML Sandbox block, or {} if none/invalid) that the deploy step passes to the sandbox CLI.
SETTINGS_SUMMARY — a short string (e.g. two_regions=false whatsapp=false cron=true env_overrides=0) produced by sandbox … info and shown in the job summary always, but only added to the PR comment when it differs from "defaults (no settings block)".
Settings keys
| Key | Default | Effect |
|---|---|---|
two_regions | false | On regional branches only (those with packages/auth-server): also brings up the ME-1 region and its own S3 mock. |
whatsapp | false | Brings up the whatsapp-official service in the sandbox. |
cron | true | Runs scheduled jobs in the sandbox; set false for a frozen dataset. |
seed | rich | rich = full dynamic demo dataset; basic = minimal auto-seed (owner + admin only). |
env | { IS_SANDBOX: "true" } | Extra environment variables injected into the server/queue/cron app containers. Currently unread by any application code (see sandbox-settings-block.md). |