func newWebhookTokenAuthenticator(webhookConfigFile string, ttl time.Duration) (authenticator.Request, error) { webhookTokenAuthenticator, err := webhook.New(webhookConfigFile, ttl) if err != nil { return nil, err } return bearertoken.New(webhookTokenAuthenticator), nil }
func getTestWebhookTokenAuth(serverURL string) (authenticator.Request, error) { kubecfgFile, err := ioutil.TempFile("", "webhook-kubecfg") if err != nil { return nil, err } defer os.Remove(kubecfgFile.Name()) config := v1.Config{ Clusters: []v1.NamedCluster{ { Cluster: v1.Cluster{Server: serverURL}, }, }, } if err := json.NewEncoder(kubecfgFile).Encode(config); err != nil { return nil, err } webhookTokenAuth, err := webhook.New(kubecfgFile.Name(), 2*time.Minute) if err != nil { return nil, err } return bearertoken.New(webhookTokenAuth), nil }