kubernetes-sigs/cluster-api

RuntimeSDK: Surface the usage of deprecated versions of a Runtime Hook

Open

#6,903 opened on Jul 12, 2022

View on GitHub
 (7 comments) (0 reactions) (0 assignees)Go (1,532 forks)auto 404
area/runtime-sdkhelp wantedkind/featurepriority/important-longtermtriage/accepted

Repository metrics

Stars
 (4,267 stars)
PR merge metrics
 (PR metrics pending)

Description

User Story

As an operator I would like to have a way to observe that a Runtime Extension uses a deprecated Runtime Hook version.

Detailed Description

Background information:

  • Runtime Hooks can have multiple apiVersions just like regular API types
  • When creating a new apiVersion of a Runtime Hook we can deprecate the old version
  • Runtime Extension authors can still use the old version of the Runtime Hook, but they are expected to migrate to the new apiVersion before the old one is removed

Goal of this issue is to surface that an old Runtime Hook version is used, so that Runtime Extension authors are made aware of that they should migrate to using the new Runtime Hook version.

Anything else you would like to add:

Some ideas:

  • We could surface it as condition on the ExtensionConfig during discovery
  • We could potentially surface it as:
    • a warning via a ValidatingWebhook on ExtensionConfig
      • TBD how this would work given that we only have the information in status after discovery
    • a well known HTTP header
      • TBD on which HTTP call and how that would be noticed

Please note, we can already implement this, but it can only be used by users once we have multiple Runtime Hook versions.

/kind feature

Contributor guide