Add infra/flowable/docker-compose.yml (flowable-rest on Postgres, host :8090) and workflows/registratie.bpmn — a minimal "Registratie ontvangen" process: start -> external-worker task OpenZaakAanmaken -> end. A flowable-init container deploys the model via the REST API on boot (idempotent: skips if already deployed). Add `make flowable-up/flowable-smoke/flowable-down`; flowable-smoke runs infra/flowable/verify.py, which starts an instance and asserts it parks on the OpenZaakAanmaken external task, then cleans up. Runbook included. Verified clean-slate: down --volumes -> `make flowable-smoke` deploys on boot, starts an instance, and confirms it waits at OpenZaakAanmaken. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
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)
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:
- waits for the
registratieprocess definition to be deployed, - starts an instance and asserts it did not end immediately,
- asserts an execution is parked at activity
OpenZaakAanmaken, - deletes the test instance.
Notes
- Deploy on boot is idempotent:
flowable-initskips if a deployment namedregistratiealready 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:
curl -s -u rest-admin:test -H 'Content-Type: application/json' \ -d '{"processDefinitionKey":"registratie"}' \ http://localhost:8090/flowable-rest/service/runtime/process-instances