# Flowable runbook Flowable (`infra/flowable/docker-compose.yml`) runs the **flowable-rest** engine on Postgres. The `workflows/registratie.bpmn` model is deployed via the REST API at boot by the `flowable-init` container. Host port **:8090**; REST API under `http://localhost:8090/flowable-rest/service/` (basic auth **rest-admin / test**, dev only). ## The model — `registratie` A minimal "Registratie ontvangen" process: **start → external-worker task `OpenZaakAanmaken` → end**. The external task is where the Workflow Client / ACL will later create the zaak in OpenZaak (S-04/S-05); for now a started instance parks there. ## Quick test (`make`) ```bash make flowable-up # start engine + deploy registratie.bpmn on boot make flowable-smoke # start + verify a new instance waits on the external task make flowable-down # stop + wipe ``` `make flowable-smoke` runs `infra/flowable/verify.py`, which: 1. waits for the `registratie` process definition to be deployed, 2. starts an instance and asserts it did **not** end immediately, 3. asserts an execution is parked at activity **`OpenZaakAanmaken`**, 4. deletes the test instance. ## Notes - **Deploy on boot** is idempotent: `flowable-init` skips if a deployment named `registratie` already exists (so restarts on the same volume don't pile up versions). - **Dev creds:** `rest-admin` / `test`. Override via the flowable-rest app config for anything beyond local dev. - **Image** `flowable/flowable-rest:latest` — pin a tag when stabilising. - Start an instance by hand: ```bash curl -s -u rest-admin:test -H 'Content-Type: application/json' \ -d '{"processDefinitionKey":"registratie"}' \ http://localhost:8090/flowable-rest/service/runtime/process-instances ```