Try a clientset instead of a client
This commit is contained in:
		| @@ -13,7 +13,6 @@ import ( | ||||
| 	"git.badhouseplants.net/softplayer/softplayer-backend/internal/helpers/kube" | ||||
| 	corev1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	"k8s.io/client-go/kubernetes" | ||||
| 	"k8s.io/client-go/rest" | ||||
| 	ctrl "sigs.k8s.io/controller-runtime" | ||||
| @@ -21,6 +20,7 @@ import ( | ||||
|  | ||||
| type Environemnt struct { | ||||
| 	Controller ctrl.Manager | ||||
| 	Config     *rest.Config | ||||
| 	UserID     string | ||||
| 	Data       *EnvironemntData | ||||
| 	Token      string | ||||
| @@ -56,9 +56,12 @@ SP_DISK_SIZE=%d`, | ||||
|  | ||||
| // Check whether used has passed the email verification | ||||
| func (env *Environemnt) isNsVerified(ctx context.Context) error { | ||||
| 	client := env.Controller.GetClient() | ||||
| 	ns := &corev1.Namespace{} | ||||
| 	if err := client.Get(ctx, types.NamespacedName{Name: env.UserID}, ns); err != nil { | ||||
| 	clientset, err := kubernetes.NewForConfig(env.Config) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	ns, err := clientset.CoreV1().Namespaces().Get(ctx, env.UserID, metav1.GetOptions{}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| @@ -66,18 +69,21 @@ func (env *Environemnt) isNsVerified(ctx context.Context) error { | ||||
| 	if !ok || val == "false" { | ||||
| 		return errors.New("user email is not verified, can't create an new env") | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // Create environment should create a new configmap in the user's namespace | ||||
| // using a token that belongs to the user. | ||||
| func (env *Environemnt) Create(ctx context.Context) error { | ||||
| 	env.Data.UUID = uuid.New().String() | ||||
| 	if err := env.isNsVerified(ctx); err != nil { | ||||
| 		log.Println("Can't verify ns") | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Prepare a new ID for a  enironment | ||||
| 	env.Data.UUID = uuid.New().String() | ||||
|  | ||||
| 	env.Controller.GetClient() | ||||
| 	conf := &rest.Config{ | ||||
| 		Host:        "https://kubernetes.default.svc.cluster.local:443", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user