Sync CONFIG-PROPERTIES.md with pkg/pillar/types/global.go
Summary
The list of configuration properties in CONFIG-PROPERTIES.md no longer matches what is actually defined in pkg/pillar/types/global.go. The document has become outdated, with wrong defaults, missing keys, and inconsistent naming or wording. It needs a full sync with the code to stay reliable.
What’s Wrong
Over time, many differences have crept in between the markdown file and the code. Some defaults in the doc are incorrect. For example, debug flags like debug.enable.usb and debug.enable.console are listed as false, while the code sets them to true.
Key names have drifted, such as kubernetes.drain.timeout in the doc versus kubevirt.drain.timeout in code.
Several keys are completely missing: things like extra memory and disk settings, log level and drain timeouts, goroutine leak detection, modem recovery flags, NetDump, and Prometheus metrics.
What to Do
Compare every entry in CONFIG-PROPERTIES.md with NewConfigItemSpecMap() in pkg/pillar/types/global.go.
Fix wrong defaults, rename or remove outdated keys, add missing ones, and mark deprecated items clearly.
Clarify TriState fields (enabled, disabled, none) and clean up wording.
Make it clear in the doc that the code is the single source of truth.
Did you use some script to detect missing keys? Because you mentioned modem recovery flags & NetDump as missing, but they are documented. I also see Prometheus and goroutine leak detection config properties mentioned in the markdown file (didn't check if all of them).
Also debug.enable.usb and debug.enable.console have defaults false for the controller config. Only for the bootstrap and until the device is onboarded we work with USB, console and VGA enabled by default to facilitate TUI and troubleshooting for failed connectivity.
Very good idea @OhmSpectator , I'm currently gathering info on which config parameters require a reboot to rake effect and which don't.
Did you use some script to detect missing keys? Because you mentioned modem recovery flags & NetDump as missing, but they are documented. I also see Prometheus and goroutine leak detection config properties mentioned in the markdown file (didn't check if all of them). Also
debug.enable.usbanddebug.enable.consolehave defaultsfalsefor the controller config. Only for the bootstrap and until the device is onboarded we work with USB, console and VGA enabled by default to facilitate TUI and troubleshooting for failed connectivity.
To be honest, I could have done it without using the latest version of the code, while comparing it to the latest doc...