Alexander Belanger 5 лет назад
Родитель
Сommit
2ff440ad56

+ 0 - 6
cmd/migrate/keyrotate/rotate.go

@@ -22,12 +22,6 @@ func Rotate(db *_gorm.DB, oldKey, newKey *[32]byte) error {
 	copy(oldKeyBytes[:], oldKey[:])
 	copy(newKeyBytes[:], newKey[:])
 
-	fmt.Printf("beginning key rotation from %s to %s\n", string(oldKeyBytes), string(newKeyBytes))
-
-	for i, b := range oldKeyBytes {
-		fmt.Println(i, ":", string(b), string(newKeyBytes[i]))
-	}
-
 	err := rotateClusterModel(db, oldKey, newKey)
 
 	if err != nil {

+ 1 - 0
internal/helm/agent.go

@@ -94,6 +94,7 @@ func (a *Agent) UpgradeReleaseByValues(
 	ch := rel.Chart
 
 	cmd := action.NewUpgrade(a.ActionConfig)
+	cmd.Namespace = rel.Namespace
 
 	if conf.Cluster != nil && a.K8sAgent != nil && conf.Registries != nil && len(conf.Registries) > 0 {
 		cmd.PostRenderer, err = NewDockerSecretsPostRenderer(

+ 19 - 10
internal/helm/config.go

@@ -33,6 +33,7 @@ func GetAgentOutOfClusterConfig(form *Form, l *logger.Logger) (*Agent, error) {
 	// create a kubernetes agent
 	conf := &kubernetes.OutOfClusterConfig{
 		Cluster:           form.Cluster,
+		DefaultNamespace:  form.Namespace,
 		Repo:              form.Repo,
 		DigitalOceanOAuth: form.DigitalOceanOAuth,
 	}
@@ -48,21 +49,29 @@ func GetAgentOutOfClusterConfig(form *Form, l *logger.Logger) (*Agent, error) {
 
 // GetAgentFromK8sAgent creates a new Agent
 func GetAgentFromK8sAgent(stg string, ns string, l *logger.Logger, k8sAgent *kubernetes.Agent) (*Agent, error) {
-	clientset, ok := k8sAgent.Clientset.(*k8s.Clientset)
+	// clientset, ok := k8sAgent.Clientset.(*k8s.Clientset)
 
-	if !ok {
-		return nil, errors.New("Agent Clientset was not of type *(k8s.io/client-go/kubernetes).Clientset")
+	// if !ok {
+	// 	return nil, errors.New("Agent Clientset was not of type *(k8s.io/client-go/kubernetes).Clientset")
+	// }
+
+	// actionConf := &action.Configuration{
+	// 	RESTClientGetter: k8sAgent.RESTClientGetter,
+	// 	KubeClient:       kube.New(k8sAgent.RESTClientGetter),
+	// 	Releases:         StorageMap[stg](l, clientset.CoreV1(), ns),
+	// 	Log:              l.Printf,
+	// }
+
+	actionConf := &action.Configuration{}
+
+	if err := actionConf.Init(k8sAgent.RESTClientGetter, ns, stg, l.Printf); err != nil {
+		return nil, err
 	}
 
 	// use k8s agent to create Helm agent
 	return &Agent{
-		ActionConfig: &action.Configuration{
-			RESTClientGetter: k8sAgent.RESTClientGetter,
-			KubeClient:       kube.New(k8sAgent.RESTClientGetter),
-			Releases:         StorageMap[stg](l, clientset.CoreV1(), ns),
-			Log:              l.Printf,
-		},
-		K8sAgent: k8sAgent,
+		ActionConfig: actionConf,
+		K8sAgent:     k8sAgent,
 	}, nil
 }
 

+ 12 - 3
internal/kubernetes/config.go

@@ -89,8 +89,9 @@ func GetAgentTesting(objects ...runtime.Object) *Agent {
 // OutOfClusterConfig is the set of parameters required for an out-of-cluster connection.
 // This implements RESTClientGetter
 type OutOfClusterConfig struct {
-	Cluster *models.Cluster
-	Repo    *repository.Repository
+	Cluster          *models.Cluster
+	Repo             *repository.Repository
+	DefaultNamespace string // optional
 
 	// Only required if using DigitalOcean OAuth as an auth mechanism
 	DigitalOceanOAuth *oauth2.Config
@@ -186,7 +187,15 @@ func (conf *OutOfClusterConfig) GetClientConfigFromCluster() (clientcmd.ClientCo
 		return nil, err
 	}
 
-	config := clientcmd.NewDefaultClientConfig(*apiConfig, &clientcmd.ConfigOverrides{})
+	overrides := &clientcmd.ConfigOverrides{}
+
+	if conf.DefaultNamespace != "" {
+		overrides.Context = api.Context{
+			Namespace: conf.DefaultNamespace,
+		}
+	}
+
+	config := clientcmd.NewDefaultClientConfig(*apiConfig, overrides)
 
 	return config, nil
 }

+ 2 - 1
server/api/release_handler.go

@@ -131,6 +131,7 @@ func (app *App) HandleGetRelease(w http.ResponseWriter, r *http.Request) {
 	}
 
 	k8sForm.PopulateK8sOptionsFromQueryParams(vals, app.Repo.Cluster)
+	k8sForm.DefaultNamespace = form.ReleaseForm.Namespace
 
 	// validate the form
 	if err := app.validator.Struct(k8sForm); err != nil {
@@ -637,7 +638,7 @@ func (app *App) HandleReleaseDeployWebhook(w http.ResponseWriter, r *http.Reques
 	client := *app.segmentClient
 	client.Enqueue(segment.Track{
 		UserId: "anonymous",
-		Event: "Triggered Re-deploy via Webhook",
+		Event:  "Triggered Re-deploy via Webhook",
 		Properties: segment.NewProperties().
 			Set("repository", repository),
 	})

+ 2 - 4
server/api/template_handler.go

@@ -1,7 +1,6 @@
 package api
 
 import (
-	"fmt"
 	"encoding/json"
 	"net/http"
 	"net/url"
@@ -18,8 +17,8 @@ import (
 // HandleListTemplates retrieves a list of Porter templates
 // TODO: test and reduce fragility (handle untar/parse error for individual charts)
 // TODO: separate markdown retrieval into its own query if necessary
-func (app *App) HandleListTemplates(w http.ResponseWriter, r *http.Request) {		
-	
+func (app *App) HandleListTemplates(w http.ResponseWriter, r *http.Request) {
+
 	vals, err := url.ParseQuery(r.URL.RawQuery)
 
 	if err != nil {
@@ -36,7 +35,6 @@ func (app *App) HandleListTemplates(w http.ResponseWriter, r *http.Request) {
 	repoIndex, err := loader.LoadRepoIndexPublic(repoURL)
 
 	if err != nil {
-		fmt.Println("ERRRRRRRRSDFSDFSDFSDFSDFSDFSDFSDFSFFSD", err)
 		app.handleErrorFormDecoding(err, ErrReleaseDecode, w)
 		return
 	}

+ 2 - 4
server/api/user_handler.go

@@ -53,7 +53,7 @@ func (app *App) HandleCreateUser(w http.ResponseWriter, r *http.Request) {
 	if err == nil {
 		// send to segment
 		client := *app.segmentClient
-		
+
 		client.Enqueue(segment.Identify{
 			UserId: fmt.Sprintf("%v", user.ID),
 			Traits: segment.NewTraits().
@@ -63,7 +63,7 @@ func (app *App) HandleCreateUser(w http.ResponseWriter, r *http.Request) {
 
 		client.Enqueue(segment.Track{
 			UserId: fmt.Sprintf("%v", user.ID),
-			Event: "New User",
+			Event:  "New User",
 			Properties: segment.NewProperties().
 				Set("email", user.Email),
 		})
@@ -517,8 +517,6 @@ func (app *App) FinalizEmailVerifyUser(w http.ResponseWriter, r *http.Request) {
 
 	user, err = app.Repo.User.UpdateUser(user)
 
-	fmt.Println("UPDATED USER WITH VERIFIED EMAIL", user)
-
 	if err != nil {
 		http.Redirect(w, r, "/dashboard?error="+url.QueryEscape("Could not verify email address"), 302)
 		return