Procházet zdrojové kódy

Merge pull request #1862 from porter-dev/nafees/hotfixes

[hotfix] Assign correct output for `update-config` driver
abelanger5 před 4 roky
rodič
revize
3a754248b8

+ 1 - 1
api/types/environment.go

@@ -63,7 +63,7 @@ type CreateDeploymentRequest struct {
 
 type FinalizeDeploymentRequest struct {
 	Namespace string `json:"namespace" form:"required"`
-	Subdomain string `json:"subdomain"`
+	Subdomain string `json:"subdomain" form:"required"`
 }
 
 type UpdateDeploymentRequest struct {

+ 27 - 2
cli/cmd/preview/update_config_driver.go

@@ -8,9 +8,11 @@ import (
 	"github.com/cli/cli/git"
 	"github.com/fatih/color"
 	"github.com/mitchellh/mapstructure"
+	api "github.com/porter-dev/porter/api/client"
 	"github.com/porter-dev/porter/api/types"
 	"github.com/porter-dev/porter/cli/cmd/config"
 	"github.com/porter-dev/porter/cli/cmd/deploy"
+	"github.com/porter-dev/porter/internal/templater/utils"
 	"github.com/porter-dev/switchboard/pkg/drivers"
 	"github.com/porter-dev/switchboard/pkg/models"
 )
@@ -118,13 +120,12 @@ func (d *UpdateConfigDriver) Apply(resource *models.Resource) (*models.Resource,
 			},
 		}
 
-		subdomain, err := createAgent.CreateFromRegistry(d.config.UpdateConfig.Image, d.config.Values)
+		_, err := createAgent.CreateFromRegistry(d.config.UpdateConfig.Image, d.config.Values)
 
 		if err != nil {
 			return nil, err
 		}
 
-		d.output["live_url"] = subdomain
 	} else {
 		updateAgent, err := deploy.NewDeployAgent(client, d.target.AppName, &deploy.DeployOpts{
 			SharedOpts: sharedOpts,
@@ -142,6 +143,12 @@ func (d *UpdateConfigDriver) Apply(resource *models.Resource) (*models.Resource,
 		}
 	}
 
+	err = d.assignOutput(resource, client)
+
+	if err != nil {
+		return nil, err
+	}
+
 	return resource, nil
 }
 
@@ -170,3 +177,21 @@ func (d *UpdateConfigDriver) getConfig(resource *models.Resource) (*UpdateConfig
 
 	return config, nil
 }
+
+func (d *UpdateConfigDriver) assignOutput(resource *models.Resource, client *api.Client) error {
+	release, err := client.GetRelease(
+		context.Background(),
+		d.target.Project,
+		d.target.Cluster,
+		d.target.Namespace,
+		d.target.AppName,
+	)
+
+	if err != nil {
+		return err
+	}
+
+	d.output = utils.CoalesceValues(d.source.SourceValues, release.Config)
+
+	return nil
+}