Skip to content

🌱 Support hrobot:// ProviderID of upstream ccm.#72

Open
guettli wants to merge 25 commits intomainfrom
tg/support-new-bm-provider-id
Open

🌱 Support hrobot:// ProviderID of upstream ccm.#72
guettli wants to merge 25 commits intomainfrom
tg/support-new-bm-provider-id

Conversation

@guettli
Copy link
Copy Markdown

@guettli guettli commented Nov 3, 2025

On Hold

Janis has written plan for the ccm upgrade. First we need to fill the gaps in that plan.

Summary

Support hrobot:// bare-metal ProviderIDs so clusters can move between the upstream Hetzner CCM and syself-ccm without breaking node lookup.

This covers the migration case where a cluster ran the upstream CCM first and already has bare-metal Nodes with hrobot://<id> ProviderIDs.

What This PR Changes

  • Read both bare-metal ProviderID formats:
    • hcloud://bm-<id>
    • hrobot://<id>
  • Keep an existing ProviderID unchanged when building bare-metal instance metadata.
  • For bare-metal nodes without an existing ProviderID, continue to write the legacy format by default.
  • Allow opting into the upstream-style format for new bare-metal nodes via:
    • --use-hrobot-provider-id-for-baremetal
    • HCLOUD_USE_HROBOT_PROVIDER_ID_FOR_BAREMETAL=true
  • Add tests and README updates for the new behavior.

Behavior Notes

  • HCloud server ProviderIDs are unchanged.
  • Existing Nodes are unaffected because this PR only changes how bare-metal ProviderIDs are parsed, and optionally how they are generated for nodes that do not already have one.
  • During bootstrap, CAPH and the CCM must agree on the same bare-metal ProviderID format.
  • If kubelet is started with --provider-id, the CCM does not generate the ProviderID.

Related

Manual testing

Image: ghcr.io/syself/hetzner-cloud-controller-manager-staging:latest@sha256:dc0a9a4b86f3e6a44e46051ba8a0b725146214276d0eddc962ededd52727f4ce

With unchanged arguments the old hcloud://bm- syntax gets created.

With --use-hrobot-provider-id-for-baremetal, the new format:

k get nodes bm-tcs-guettli-bvn-1-34-v5-2761200 -o yaml | grep -i providerid
  providerID: hrobot://2761200

@guettli guettli requested a review from janiskemper January 30, 2026 13:41
@guettli guettli changed the base branch from main to tg/hotreload-token-secret-key March 9, 2026 14:31
@guettli guettli changed the base branch from tg/hotreload-token-secret-key to main March 31, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants