code: func HookClientConfigForSink(a *v1alpha1.AuditSink) webhook.ClientConfig {
  	c := a.Spec.Webhook.ClientConfig
  	ret := webhook.ClientConfig{Name: a.Name, CABundle: c.CABundle}
  	if c.URL != nil {
  		ret.URL = *c.URL
  	}
  	if c.Service != nil {
  		ret.Service = &webhook.ClientConfigService{
  			Name:      c.Service.Name,
  			Namespace: c.Service.Namespace,
  		}
  		if c.Service.Port != nil {
  			ret.Service.Port = *c.Service.Port
  		} else {
  			ret.Service.Port = 443
  		}
  
  		if c.Service.Path != nil {
  			ret.Service.Path = *c.Service.Path
  		}
  	}
  	return ret
  }
docs: // HookClientConfigForSink constructs a webhook.ClientConfig using a v1alpha1.AuditSink API object.
  // webhook.ClientConfig is used to create a HookClient and the purpose of the config struct is to
  // share that with other packages that need to create a HookClient.