Skip to content

Let Server start the engine without a config file - #220

Merged
ccomb merged 2 commits into
mainfrom
pyvolca-server-no-config
Jul 15, 2026
Merged

Let Server start the engine without a config file#220
ccomb merged 2 commits into
mainfrom
pyvolca-server-no-config

Conversation

@ccomb

@ccomb ccomb commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Server(config=None) spawns the engine with no --config at all: built-in defaults, no databases — what a converter or upload-driven script wants. Needs an engine >= v0.9.3, which learned to run config-less (#211).

Two silent failure modes die with it. A config path that does not exist now fails loudly at start() instead of the engine dying behind the scenes — the docstring used to claim "missing file is tolerated" while the spawned engine refused it. And an engine that exits before serving (the likeliest config-less cause: an engine too old) fails immediately with its exit code and a version hint, instead of hanging until the readiness timeout.

Verified end-to-end against a locally built v0.9.3: Server(config=None, port="auto") boots, answers /version with wire 3, and lists the uploads it rediscovers from the shared data dir. 233 tests green (4 new).

ccomb added 2 commits July 15, 2026 23:17
Server(config=None) spawns the engine with no --config at all: built-in
defaults, no databases — what a converter or upload-driven script wants.
Needs an engine >= v0.9.3, which learned to run config-less.

Two silent failure modes die with it. A config path that does not exist
now fails loudly at start() instead of the engine dying behind the
scenes — the docstring used to claim "missing file is tolerated" while
the spawned engine refused it. And an engine that exits before serving
(the likeliest config-less cause: an engine too old) fails immediately
with its exit code and a version hint, instead of hanging until the
readiness timeout.

Verified against a locally built v0.9.3: Server(config=None,
port="auto") boots, answers /version with wire 3, and lists the
uploads it rediscovers from the shared data dir.
The exit-code and version-hint diagnostic only fired in the fixed-port
readiness loop. In dynamic-port mode — the canonical config-less
invocation — a dying engine still raised the opaque "exited before
reporting its bound port", with no exit code and no hint. One shared
error builder now serves both paths.
@ccomb
ccomb force-pushed the pyvolca-server-no-config branch from e86f606 to b2806fe Compare July 15, 2026 21:18
@ccomb
ccomb merged commit 2731a26 into main Jul 15, 2026
11 checks passed
@ccomb
ccomb deleted the pyvolca-server-no-config branch July 15, 2026 21:22
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.

1 participant