[RFE] Drop `ct` support from Mantle
Current situation
While ct is deprecated and not used anymore (even LTS can support Ignition 3 now) - we might be interested to drop ct from Mantle to only use Butane.
Impact
Scaleway test suite can't be implemented without hacks as Mantle flight relies on ct platform -> we can use a ctplatform.Custom but we need then to implement some logic to convert the Scaleway metadata to the expected "custom" format.
Ideal future situation
No more ct configuration inside Mantle, everything relies on Butane or raw Ignition.
Implementation options
- Remove
ctplatformdependency fromctplatform - Rewrite ct configuration to butane configuration (
git grep ContainerLinuxConfig)
See also: https://github.com/coreos/coreos-assembler/commit/f0e49857931dec827992903c7b335fa9830fb0b9
Scaleway test suite can't be implemented without hacks as Mantle flight relies on ct platform -> we can use a ctplatform.Custom but we need then to implement some logic to convert the Scaleway metadata to the expected "custom" format.
Can you link to some code? I don't understand what ctplatform and why it would require hacks to support scaleway.
If we remove ct from mantle we can't be sure that we won't break users who still have old ignition configs. I'm sure they haven't migrated.
If we remove ct from mantle we can't be sure that we won't break users who still have old ignition configs. I'm sure they haven't migrated.
In this case, we can replace container linux configuration by raw Ignition v2 configuration in our codebase - it won't impact the test coverage.
ctplatform is the Container Linux platform used during Ignition transpile (as ct is not platform agnostic): https://github.com/flatcar/mantle/blob/eb48031bb90fb147d24b534632a58d6a1d02f39e/platform/flight.go#L55
This is the kind of "hack" we have to do if we want to test platform not supported in CT: https://github.com/flatcar/mantle/blob/eb48031bb90fb147d24b534632a58d6a1d02f39e/platform/machine/esx/cluster.go#L85-L97 except that in our case metadata are already fetched by Afterburn.
hack: https://github.com/flatcar/mantle/pull/501/commits/2f3131756616423a2d457ab26d339ab0ae049574#diff-ab022fe37ee07f3a3ea59dbe5a38076c9bbd7a02316ec29ca95a28a526b0131eR31-R38