K8s: Add APIGroupPostStartHookProvider (#97801)

This commit is contained in:
Todd Treece
2024-12-11 19:13:42 +02:00
committed by GitHub
parent 5d326b90ac
commit c5e8e71ee3
3 changed files with 141 additions and 0 deletions
+27
View File
@@ -141,6 +141,10 @@ func SetupConfig(
serverConfig.EffectiveVersion = utilversion.DefaultKubeEffectiveVersion()
if err := AddPostStartHooks(serverConfig, builders); err != nil {
return err
}
return nil
}
@@ -261,3 +265,26 @@ func InstallAPIs(
return nil
}
// AddPostStartHooks adds post start hooks to a generic API server config
func AddPostStartHooks(
config *genericapiserver.RecommendedConfig,
builders []APIGroupBuilder,
) error {
for _, b := range builders {
hookProvider, ok := b.(APIGroupPostStartHookProvider)
if !ok {
continue
}
hooks, err := hookProvider.GetPostStartHooks()
if err != nil {
return err
}
for name, hook := range hooks {
if err := config.AddPostStartHook(name, hook); err != nil {
return err
}
}
}
return nil
}