in pkg/authenticator/target_cluster_client.go [166:191]
func (tcc *targetClusterClient) CreateClusterNamespace(ctx context.Context, clusterName string) (err error) {
err = tcc.Initialize(ctx, clusterName)
if err != nil {
return fmt.Errorf("initializing target client: %s", err)
}
restConfig, err := tcc.ToRESTConfig()
if err != nil {
return fmt.Errorf("create rest config for %s: %s", clusterName, err)
}
k8sClient, err := client.New(restConfig, client.Options{})
if err != nil {
return fmt.Errorf("creating client for %s: %s", clusterName, err)
}
if !tcc.CheckNamespace(ctx, api.PackageNamespace) {
err := k8sClient.Create(ctx, &corev1.Namespace{
ObjectMeta: metav1.ObjectMeta{Name: api.PackageNamespace},
})
if err != nil {
return fmt.Errorf("create namespace for %q: %s", clusterName, err)
}
}
return nil
}