Skip to content

2026-01: Self-Hosted Shoot Exposure

  • ✍🏻 Author(s): @timebertt (Tim Ebert)
  • 🗓️ Presentation: 2026-01-19, 16:00 - 17:00 CET
  • 🎥 Recording: click here
  • 👨‍⚖️ Decisions:
    • Proceed with the proposed approach; the GEP will be merged and implemented as described.
    • Default domains are not relevant, as DNS is required already during bootstrapping; default domains only exist in the garden cluster (accessible only after gardenadm connect).
    • DNS strategy does not support health checks, but can support maintenance scenarios (e.g., cordoning nodes removes them from the endpoint set in the SelfHostedShootExposure API).
    • Disabling exposure should be possible and fall back to internal DNS (as it is used in the bootstrap phase).
    • provider-local implementations with native support for Services of type LoadBalancer (e.g., via cloud-provider-kind, see Hackathon results) is independent, but we try to support it as part of this story.
    • What was previously considered a "future optimization" in the GEP is now part of the immediate optimization scope.
    • Direct Node querying (PR discussion) in the extension remains unchanged: prefer the existing approach over introducing a generic actuator, leveraging the existing gardenlet controller and port field in the SelfHostedShootExposure API.

Proposal

GEP-36: Self-Hosted Shoot Exposure

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.