Skip to content

docs(run): the runtime does not derive a root URL from the bind address - #1383

Merged
ako merged 2 commits into
mainfrom
claude/merge-pr-1249-improvements-b5e8da
Oct 15, 2026
Merged

ako merged 2 commits into
mainfrom
claude/merge-pr-1249-improvements-b5e8da

Conversation

@ako

@ako ako commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1381 (--listen-addr, from mendixlabs#1249). Wording only, no behaviour change.

What

The --listen-addr help text, the wildcard-bind warning, two older code comments, the run-local skill, the docs-site page and the CHANGELOG all claimed that with no ApplicationRootUrl the runtime derives one from the listen address. It does not; they now say so.

Evidence (live, Mendix 11.12.1, blank app on HSQLDB)

An after-startup microflow logged Core.getConfiguration().getApplicationRootUrl():

Boot Value
default (127.0.0.1) null
--listen-addr 0.0.0.0 null
0.0.0.0 + --runtime-setting ApplicationRootUrl=http://192.0.2.2:8080/ http://192.0.2.2:8080/

The same runs also verified #1381's behaviour:

  • 0.0.0.0: the app answers 200 on the LAN address and on loopback, the admin API only on loopback, and the network URL is printed.
  • A single interface address: mxcli connects to that address, loopback refuses, and the admin API stays on loopback.
  • localhost: refused before the build.

:: could not be measured: this container has no IPv6 at all (AF_INET6 unsupported). Mendix reports that failed bind as "Runtime port '8080' is already in use".

Checks

  • go vet, gofmt, and the --listen-addr / AppURL / warning tests in cmd/mxcli/docker pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UBgg5k5sdMTsURKiigb19C


Generated by Claude Code

Measured on 11.12.1 with a blank app (HSQLDB) and an after-startup
microflow logging Core.getConfiguration().getApplicationRootUrl():

  default (127.0.0.1)                       -> null
  --listen-addr 0.0.0.0                     -> null
  0.0.0.0 + --runtime-setting ApplicationRootUrl=http://192.0.2.2:8080/
                                            -> http://192.0.2.2:8080/

So the claim, in #1249's help text and in two older comments, that the
runtime derives its root URL from the listen address is false: unset
stays unset. The wildcard warning, flag help, docs rows and CHANGELOG
now say that instead. Behaviour is unchanged.

Also verified live: under 0.0.0.0 the app answers 200 on the LAN
address and loopback, the admin API only on loopback; under a single
interface address mxcli dials that address (loopback refuses) and the
admin API stays on loopback. `::` could not be measured: this container
has no IPv6 (AF_INET6 unsupported), and Mendix reports the failed bind
as "Runtime port '8080' is already in use".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UBgg5k5sdMTsURKiigb19C
@ako
ako merged commit b6aa622 into main Oct 15, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants