Skip to content

Log missing enviroment variables.  #1188

@vordimous

Description

@vordimous

Is your feature request related to a problem? Please describe.
If environment variables are used in zilla.yaml the only way to know if they aren't set is if the config schema throws an error.

Describe the solution you'd like
failing startup and logging an error if an environment variable is null or empty would better communicate a bad deployment config.

Additional context
error from bad bootrap server env var:

Exactly one of the following sets of problems must be resolved.
1) [97,16][/bindings/south_kafka_client/kind] The value must be constant string "cache_client".
   [100,8][/bindings/south_kafka_client/options/servers] The object must not have a property whose name is "servers".
2) [97,16][/bindings/south_kafka_client/kind] The value must be constant string "cache_server".
   [100,8][/bindings/south_kafka_client/options/servers] The object must not have a property whose name is "servers".
3) [100,9][/bindings/south_kafka_client/options/servers/0] The value must be of string type, but actual type is null.
error
io.aklivity.zilla.runtime.engine.config.ConfigException: Engine configuration failed
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.registry.EngineManager.onPathChanged(EngineManager.java:207)
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.registry.EngineManager$WatchTaskImpl.onPathChanged(EngineManager.java:540)
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.watcher.EngineConfigWatchTask.submit(EngineConfigWatchTask.java:51)
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.registry.EngineManager.start(EngineManager.java:130)
        at [email protected]/io.aklivity.zilla.runtime.engine.Engine.start(Engine.java:239)
        at [email protected]/io.aklivity.zilla.runtime.command.start.internal.airline.ZillaStartCommand.run(ZillaStartCommand.java:160)
        at [email protected]/io.aklivity.zilla.runtime.command.internal.ZillaMain$Invoker.invoke(ZillaMain.java:69)
        at [email protected]/io.aklivity.zilla.runtime.command.internal.ZillaMain.invoke(ZillaMain.java:40)
        at [email protected]/io.aklivity.zilla.runtime.command.internal.ZillaMain.main(ZillaMain.java:34)
Caused by: io.aklivity.zilla.runtime.engine.config.ConfigException: Exactly one of the following sets of problems must be resolved.
        at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
        at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:72)
        at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:62)
        at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.render(BasicProblemRenderer.java:45)
        at [email protected]/org.leadpony.justify.internal.problem.ProblemPrinter.handleProblems(ProblemPrinter.java:57)
        at [email protected]/org.leadpony.justify.internal.validator.JsonValidator.dispatchProblems(JsonValidator.java:169)
        at [email protected]/org.leadpony.justify.internal.validator.JsonValidator.postprocess(JsonValidator.java:92)
        at [email protected]/org.leadpony.justify.internal.base.json.AbstractStreamJsonParser.next(AbstractStreamJsonParser.java:55)
        at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.read(EngineConfigReader.java:138)
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.registry.EngineManager.parse(EngineManager.java:226)
        at [email protected]/io.aklivity.zilla.runtime.engine.internal.registry.EngineManager.onPathChanged(EngineManager.java:170)
        ... 8 more
        Suppressed: io.aklivity.zilla.runtime.engine.config.ConfigException: 1) [97,16][/bindings/south_kafka_client/kind] The value must be constant string "cache_client".
                at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderSimpleProblem(BasicProblemRenderer.java:96)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:66)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:78)
                ... 17 more
        Suppressed: io.aklivity.zilla.runtime.engine.config.ConfigException:    [100,8][/bindings/south_kafka_client/options/servers] The object must not have a property whose name is "servers".
                at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderSimpleProblem(BasicProblemRenderer.java:96)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:66)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:81)
                ... 17 more
        Suppressed: io.aklivity.zilla.runtime.engine.config.ConfigException: 2) [97,16][/bindings/south_kafka_client/kind] The value must be constant string "cache_server".
                at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderSimpleProblem(BasicProblemRenderer.java:96)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:66)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:78)
                ... 17 more
        Suppressed: io.aklivity.zilla.runtime.engine.config.ConfigException:    [100,8][/bindings/south_kafka_client/options/servers] The object must not have a property whose name is "servers".
                at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderSimpleProblem(BasicProblemRenderer.java:96)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:66)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:81)
                ... 17 more
        Suppressed: io.aklivity.zilla.runtime.engine.config.ConfigException: 3) [100,9][/bindings/south_kafka_client/options/servers/0] The value must be of string type, but actual type is null.
                at [email protected]/io.aklivity.zilla.runtime.engine.config.EngineConfigReader.lambda$read$0(EngineConfigReader.java:119)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderSimpleProblem(BasicProblemRenderer.java:96)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderProblem(BasicProblemRenderer.java:66)
                at [email protected]/org.leadpony.justify.internal.problem.BasicProblemRenderer.renderBranchingProblem(BasicProblemRenderer.java:78)
                ... 17 more

Metadata

Metadata

Assignees

Labels

devxEffects the Developer Experience

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions