What
On the Talos v1.12 multi-doc path, both charts/generic/templates/_helpers.tpl:talos.config.network.multidoc and the equivalent in charts/cozystack/templates/_helpers.tpl resolve a single link via talm.discovered.default_link_name_by_gateway and emit network documents (LinkConfig / BondConfig / VLANConfig / Layer2VIPConfig) only for that one link.
Every other physical NIC, bond, VLAN, or bridge present on the node is ignored by the renderer.
Why this is a bug
Multi-NIC nodes are an expected shape; #125 tracks the discovery side ("discover secondary network links alongside primary gateway link"). The discovery helpers added in #127 (physical_link_names, configurable_link_names, addresses_by_link, gateway_by_link, routes_by_link) exist specifically to enumerate the full link inventory, but the multi-doc renderer does not consume them — it still resolves a single link and stops.
Result: on a node with one routed NIC plus a storage NIC, the rendered config configures the routed NIC and silently leaves the storage NIC unconfigured. Same for any non-default-route VLAN, additional bond, or bridge.
Affected versions
Coverage gap since the multi-doc path was introduced in #116 (v0.24.0).
Suggested direction
Iterate configurable_link_names and emit the appropriate document per link kind, populating addresses and routes via the by-link helpers from #127. The single-gateway-link logic becomes a special case (the link that carries the default route also gets the gateway route appended).
Related to #125, but distinct: that issue tracks discovery; this one tracks the chart-side rendering. Even with full discovery available today, the renderer picks one link.
What
On the Talos v1.12 multi-doc path, both
charts/generic/templates/_helpers.tpl:talos.config.network.multidocand the equivalent incharts/cozystack/templates/_helpers.tplresolve a single link viatalm.discovered.default_link_name_by_gatewayand emit network documents (LinkConfig/BondConfig/VLANConfig/Layer2VIPConfig) only for that one link.Every other physical NIC, bond, VLAN, or bridge present on the node is ignored by the renderer.
Why this is a bug
Multi-NIC nodes are an expected shape; #125 tracks the discovery side ("discover secondary network links alongside primary gateway link"). The discovery helpers added in #127 (
physical_link_names,configurable_link_names,addresses_by_link,gateway_by_link,routes_by_link) exist specifically to enumerate the full link inventory, but the multi-doc renderer does not consume them — it still resolves a single link and stops.Result: on a node with one routed NIC plus a storage NIC, the rendered config configures the routed NIC and silently leaves the storage NIC unconfigured. Same for any non-default-route VLAN, additional bond, or bridge.
Affected versions
Coverage gap since the multi-doc path was introduced in #116 (v0.24.0).
Suggested direction
Iterate
configurable_link_namesand emit the appropriate document per link kind, populating addresses and routes via the by-link helpers from #127. The single-gateway-link logic becomes a special case (the link that carries the default route also gets the gateway route appended).Related to #125, but distinct: that issue tracks discovery; this one tracks the chart-side rendering. Even with full discovery available today, the renderer picks one link.