What happened:
The Harvester Cloud Provider needs a Secret to be set in the Workload cluster in order to set the ProviderID of the nodes that will be needed by Cluster API to continue provisioning.
First, the cloud-config is not documented.
Second, the templates are not doing the implementation the same way.
The RKE2 template uses a placeholder that is complex to generate for the final user, as it has non-trivial formatting.
The Kubeadm template uses the same as the main Harvester Kubeconfig (privileges too large).
What did you expect to happen:
Expected the template to work in a simpler way, for instance, the ${CLOUD_CONFIG_SECRET} should become ${CLOUD_CONFIG_KUBECONFIG_B64} and only have only the data.cloud-config content. That way the user would only need to provide a Base64 string without worrying about formatting.
How to reproduce it:
Any formatting issue in ${CLOUD_CONFIG_SECRET} will cause the provisioning to not function.
What happened: The Harvester Cloud Provider needs a Secret to be set in the Workload cluster in order to set the
ProviderID
of the nodes that will be needed by Cluster API to continue provisioning.First, the
cloud-config
is not documented. Second, the templates are not doing the implementation the same way.What did you expect to happen: Expected the template to work in a simpler way, for instance, the
${CLOUD_CONFIG_SECRET}
should become${CLOUD_CONFIG_KUBECONFIG_B64}
and only have only thedata.cloud-config
content. That way the user would only need to provide a Base64 string without worrying about formatting.How to reproduce it: Any formatting issue in
${CLOUD_CONFIG_SECRET}
will cause the provisioning to not function.