You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In HOCON an unquoted dotted path on the right-hand side is just a string value — inheritance requires ${elastic.credentials.method}. Consequences:
Garbage credentials: watcher.api-key is the non-empty string "elastic.credentials.api-key", so once REPL: environment variables AND conf/application.conf are both ignored — only CLI flags configure the connection #162's auth auto-detection is active (ElasticAuthMethod.fromCredentials prefers api-key), any watcher client built from this block would send a nonsense Authorization: ApiKey … header (base64 of the literal path string) instead of no auth or the main credentials.
No inheritance: setting ELASTIC_CREDENTIALS_* / elastic.credentials.* never propagates to the watcher; only the ELASTIC_WATCHER_* env vars work.
Found during Story REPL.2 (#162) review; verified against
core/src/main/resources/softnetwork-elastic.confon main.Problem
The builtin
elastic.watcherblock intends to inherit fromelastic.credentialsbut omits the HOCON substitution syntax:In HOCON an unquoted dotted path on the right-hand side is just a string value — inheritance requires
${elastic.credentials.method}. Consequences:watcher.api-keyis the non-empty string"elastic.credentials.api-key", so once REPL: environment variables AND conf/application.conf are both ignored — only CLI flags configure the connection #162's auth auto-detection is active (ElasticAuthMethod.fromCredentialsprefers api-key), any watcher client built from this block would send a nonsenseAuthorization: ApiKey …header (base64 of the literal path string) instead of no auth or the main credentials.ELASTIC_CREDENTIALS_*/elastic.credentials.*never propagates to the watcher; only theELASTIC_WATCHER_*env vars work.elastic.credentials.*paths; theelastic.watcher.*paths got no equivalent treatment.Fix
method = ${elastic.credentials.method}etc. — notemethodmay be absent after REPL.2 — Connection config precedence: CLI flag > env var > config file > default #165, so use optional inheritance consistent with the auto-detect design).elastic.watcher.*paths.ELASTIC_WATCHER_*unset; auto-detection yields no-auth when nothing is set anywhere.Should ride the 0.20.2 line. Refs #162, #165, #169.