Documentation
¶
Overview ¶
Package appconfig ingests an application's own configuration files — Spring Boot's application*.yml / application*.properties and bootstrap*.yml — as Config nodes, one per flattened key (a context path, a service's module URL).
They are the same kind of node an .env key becomes (package compose), for the same reason: code names an address as ${key} (@FeignClient(url = "${some-service.module.url}"), CART_ADDR=${CART_ADDR}) and the value that key holds is where the call goes. With both in the graph, one expansion rule serves a Spring monorepo and a compose stack alike. Without them, a Spring service's clients were only names, and two clients of one URL under two names became two services.
Like compose and k8s, the YAML is line-scanned, not parsed: `url : http://…` with a space before the colon, ${…} placeholders and profile files that are half comments all stay readable, and one bad block costs its own keys only. Values go through compose.Redact before they are stored.
Index ¶
Constants ¶
const KindConfig = compose.KindConfig
KindConfig is the node kind, shared with .env keys.
Variables ¶
This section is empty.
Functions ¶
func IsConfigFile ¶
IsConfigFile reports whether a path is an application config file.
func IsTSConfig ¶
IsTSConfig reports whether a path is a TypeScript/JavaScript project config (tsconfig.json, tsconfig.*.json, jsconfig.json): where compilerOptions.paths maps an import alias (@/*) onto the directories it names.
Types ¶
This section is empty.