Require config files to be explicitly created (#1040)

The behaviour of creating the config file if it's missing while
convenient causes confusion and problems when the tools are run
in the wrong folder.  They end up creating a shadow installation
and misdirect the user with nonsensical error messages, instead
pointing to the real problem which is that the tool can't find
the configuration needed to actually run.

Require a config file to be present at startup and refuse to run if this
file is missing.  To support the odd use-case of creating the config
when missing a --create-config flag is added. To conveniently generate
a config file to edit out from the "config create" command is added.
This commit is contained in:
Hornwitser authored and GitHub committed 2026-09-15 22:16:54 +02:00
1 parent 5df5af7ca8
commit 2c52c265cf
15 files changed
+249 -75

No files matched your search

+5
View File
@@ -248,6 +248,11 @@ async function main() {
console.log(`Testing controller ${await packageVersion("controller", options.controller)} `
+ `with host ${await packageVersion("host", options.host)}`);
try {
await run("controller", controller, ["config", "create"], controllerDir);
} catch {
// Ignore failure on previous version where config create does not exist and is not needed.
}
await run("controller", controller, ["config", "set", "controller.http_port", String(httpPort)], controllerDir);
await run("controller", controller, ["bootstrap", "create-admin", "test"], controllerDir);
await run("controller", controller, ["bootstrap", "create-ctl-config", "test"], controllerDir);