siderolabs / cluster-api-bootstrap-provider-talos

A cluster-api bootstrap provider for deploying Talos clusters.
https://www.talos-systems.com
Mozilla Public License 2.0
103 stars 27 forks source link

feat: add support for strategic merge patches #181

Closed yoctozepto closed 4 months ago

yoctozepto commented 9 months ago

Currently, CABPT supports only RFC 6902 patches (aka JSON patch). [1]

The talosctl tool supports also the strategic merge patches. [2] This patching style is used in customisation approaches which aim to preserve the config structure, e.g., for clearer understanding, complex structure of patches.

Additionally, the strategic merge patch in talosctl supports the newly-introduced multiple-document configuration unlike the RFC 6902 approach. [3]

This feature is a prerequisite to support the same in Sidero. [4]

[1] https://github.com/siderolabs/cluster-api-bootstrap-provider-talos/blob/8a6cc135b431edbfff005d151218a39edb540a28/README.md [2] https://www.talos.dev/v1.6/talos-guides/configuration/patching/#strategic-merge-patches [3] https://www.talos.dev/v1.6/talos-guides/configuration/patching/#configuration-patch-formats [4] https://github.com/siderolabs/sidero/issues/1259

yoctozepto commented 9 months ago

We may have some humanpower to start this in February 2024.