fix(infra): deploy the DMN via the process repository, not dmn-api (S-13, refs #14)
Some checks failed
CI / lint (pull_request) Successful in 1m13s
CI / build (pull_request) Successful in 58s
CI / unit (pull_request) Successful in 1m9s
CI / frontend (pull_request) Successful in 2m37s
CI / mutation (pull_request) Successful in 5m5s
CI / verify-stack (pull_request) Failing after 3m55s

flowable/flowable-rest embeds the DMN engine but does not expose the dmn-api REST
app, so POSTing the .dmn to dmn-api/dmn-repository/deployments 404'd and
flowable-init exited 22. Deploy the .dmn through the process repository endpoint
instead; the process deployment cross-deploys the resource to the DMN engine,
where the registratie businessRuleTask resolves it by key.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-18 10:57:41 +02:00
parent 4a7dc07786
commit 2411e72aee
2 changed files with 12 additions and 10 deletions

View File

@@ -267,14 +267,15 @@ services:
- -c
- |
base=http://flowable-rest:8080/flowable-rest/service/repository/deployments
dmnbase=http://flowable-rest:8080/flowable-rest/dmn-api/dmn-repository/deployments
until curl -sf -u rest-admin:test "$$base" >/dev/null 2>&1; do echo "waiting for flowable-rest..."; sleep 3; done
# Deploy the diploma-eligibility DMN to the DMN engine so the registratie process's
# businessRuleTask can resolve it by key (S-13, ADR-0016).
if curl -s -u rest-admin:test "$$dmnbase?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
# Deploy the diploma-eligibility DMN via the process repository: the flowable-rest image embeds
# the DMN engine but does not expose the dmn-api app, so the process deployment cross-deploys the
# .dmn resource to the DMN engine, where the registratie businessRuleTask resolves it by key
# (S-13, ADR-0016).
if curl -s -u rest-admin:test "$$base?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
echo "diploma-eligibility already deployed; skip"
else
curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$dmnbase" >/dev/null && echo "deployed diploma-eligibility"
curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$base" >/dev/null && echo "deployed diploma-eligibility"
fi
if curl -s -u rest-admin:test "$$base?name=registratie" | grep -q '"name":"registratie"'; then
echo "registratie already deployed; skip"

View File

@@ -48,14 +48,15 @@ services:
- -c
- |
base=http://flowable-rest:8080/flowable-rest/service/repository/deployments
dmnbase=http://flowable-rest:8080/flowable-rest/dmn-api/dmn-repository/deployments
until curl -sf -u rest-admin:test "$$base" >/dev/null 2>&1; do echo "waiting for flowable-rest..."; sleep 3; done
# Deploy the diploma-eligibility DMN to the DMN engine so the registratie process's
# businessRuleTask can resolve it by key (S-13, ADR-0016).
if curl -s -u rest-admin:test "$$dmnbase?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
# Deploy the diploma-eligibility DMN via the process repository: the flowable-rest image embeds
# the DMN engine but does not expose the dmn-api app, so the process deployment cross-deploys the
# .dmn resource to the DMN engine, where the registratie businessRuleTask resolves it by key
# (S-13, ADR-0016).
if curl -s -u rest-admin:test "$$base?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
echo "diploma-eligibility already deployed; skip"
else
curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$dmnbase" >/dev/null && echo "deployed diploma-eligibility"
curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$base" >/dev/null && echo "deployed diploma-eligibility"
fi
if curl -s -u rest-admin:test "$$base?name=registratie" | grep -q '"name":"registratie"'; then
echo "registratie already deployed; skip"