ConfigurationKeys
The wow.* keys of the environment that no property names: Spring binds what it knows and ignores the rest, so wow.cluster.forward-timout would be a silent no-op. A key is known when a property of the configuration metadata on the class path (METADATA, the host's and any module's) is the key or holds it (a map or list property, such as wow.aggregates), or when it is under the prefix of another @ConfigurationProperties bean of the application that no metadata describes (its owned prefixes), whose keys this check cannot tell. Names compare as Spring's relaxed binding does (laneCapacity is lane-capacity); only property sources that list their names are read.
Environment variables are checked too, those named WOW_<GROUP>_… (ENV_PREFIX) whose group is one of Wow's (the first element of a known key or a MODULES prefix, so WOW_BENCH_… or a user's WOW_PG_PASSWORD is left alone), as Spring maps them: lower case, an underscore a dot, a number an index (WOW_CALLERS_BASKET_COMMANDS_0 is wow.callers.basket.commands[0]), and dashes lost, which the comparison ignores (WOW_KAFKA_COMMANDINTAKE_ENABLED is wow.kafka.command-intake.enabled), or, Spring's legacy form, a key's dashes written as underscores too (WOW_COSEC_TENANT_LEVEL_ROLES is wow.cosec.tenant-level.roles): a variable is known when either reading names a key (namesOf). An entry of a checked map may span several elements there, since a variable cannot write its brackets or dashes: one is known when the elements after some part of it name a property of the value.
check refuses the startup for every unknown key: a mistyped wow.cosec.authorizer.enabled would otherwise leave the authorizer that allows all in place, and a key of an earlier version would do nothing. The refusal points at the migration guide's configuration page (MIGRATION), which maps the keys of earlier versions to today's.
A map whose values are beans (CHECKED_MAPS: wow.callers, wow.peers, wow.aggregates, wow.stores, ...) is checked to its leaves: a key under one of its entries is known only when it names a property of the value, down its nested settings, so wow.callers.basket.command is unknown, and refused, instead of leaving commands empty, which lets the service call every domain command, and so is an aggregate's snapshot.store of an earlier version.
Constructors
Functions
Refuses the startup when environment has an unknown key, or an environment variable named for one of Wow's groups (WOW_<group>_…) that no key binds, naming the module of one whose module is not on the class path; a key of an earlier version is refused as any other, the message pointing at the migration guide.
The wow.* keys and WOW_… environment variables of environment no property names, in the order the environment lists them.