forked from toolshed/abra
		
	@ -59,10 +59,16 @@ Passing "--prune/-p" does not remove those volumes.`,
 | 
			
		||||
			chaosVersion = deployMeta.ChaosVersion
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		toWriteVersion := deployMeta.Version
 | 
			
		||||
		if deployMeta.IsChaos {
 | 
			
		||||
			toWriteVersion = chaosVersion
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err := internal.UndeployOverview(
 | 
			
		||||
			app,
 | 
			
		||||
			deployMeta.Version,
 | 
			
		||||
			chaosVersion,
 | 
			
		||||
			toWriteVersion,
 | 
			
		||||
		); err != nil {
 | 
			
		||||
			log.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
@ -81,11 +87,6 @@ Passing "--prune/-p" does not remove those volumes.`,
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		toWriteVersion := deployMeta.Version
 | 
			
		||||
		if deployMeta.IsChaos {
 | 
			
		||||
			toWriteVersion = chaosVersion
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err := app.WriteRecipeVersion(toWriteVersion, false); err != nil {
 | 
			
		||||
			log.Fatalf("writing recipe version failed: %s", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -210,8 +210,10 @@ func DeployOverview(
 | 
			
		||||
// UndeployOverview shows an undeployment overview
 | 
			
		||||
func UndeployOverview(
 | 
			
		||||
	app appPkg.App,
 | 
			
		||||
	version,
 | 
			
		||||
	chaosVersion string) error {
 | 
			
		||||
	deployedVersion,
 | 
			
		||||
	deployedChaosVersion,
 | 
			
		||||
	toWriteVersion string,
 | 
			
		||||
) error {
 | 
			
		||||
	deployConfig := "compose.yml"
 | 
			
		||||
	if composeFiles, ok := app.Env["COMPOSE_FILE"]; ok {
 | 
			
		||||
		deployConfig = composeFiles
 | 
			
		||||
@ -227,6 +229,20 @@ func UndeployOverview(
 | 
			
		||||
		domain = config.NO_DOMAIN_DEFAULT
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	recipeName, exists := app.Env["RECIPE"]
 | 
			
		||||
	if !exists {
 | 
			
		||||
		recipeName = app.Env["TYPE"]
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	envVersion, err := recipe.GetEnvVersionRaw(recipeName)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if envVersion == "" {
 | 
			
		||||
		envVersion = config.NO_VERSION_DEFAULT
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	rows := [][]string{
 | 
			
		||||
		{"APP", domain},
 | 
			
		||||
		{"RECIPE", app.Recipe.Name},
 | 
			
		||||
@ -234,12 +250,12 @@ func UndeployOverview(
 | 
			
		||||
		{"CONFIG", deployConfig},
 | 
			
		||||
 | 
			
		||||
		{"CURRENT DEPLOYMENT", "---"},
 | 
			
		||||
		{"VERSION", formatter.BoldDirtyDefault(version)},
 | 
			
		||||
		{"CHAOS", formatter.BoldDirtyDefault(chaosVersion)},
 | 
			
		||||
		{"VERSION", formatter.BoldDirtyDefault(deployedVersion)},
 | 
			
		||||
		{"CHAOS", formatter.BoldDirtyDefault(deployedChaosVersion)},
 | 
			
		||||
 | 
			
		||||
		{fmt.Sprintf("%s.ENV", strings.ToUpper(app.Name)), "---"},
 | 
			
		||||
		{"CURRENT VERSION", formatter.BoldDirtyDefault(app.Recipe.EnvVersion)},
 | 
			
		||||
		{"NEW VERSION", formatter.BoldDirtyDefault(version)},
 | 
			
		||||
		{"CURRENT VERSION", formatter.BoldDirtyDefault(envVersion)},
 | 
			
		||||
		{"NEW VERSION", formatter.BoldDirtyDefault(toWriteVersion)},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	overview := formatter.CreateOverview("UNDEPLOY OVERVIEW", rows)
 | 
			
		||||
 | 
			
		||||
@ -107,6 +107,15 @@ type DeployMeta struct {
 | 
			
		||||
	ChaosVersion string // the --chaos deployment version
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d DeployMeta) String() string {
 | 
			
		||||
	var out string
 | 
			
		||||
	out += fmt.Sprintf("{isDeployed: %v, ", d.IsDeployed)
 | 
			
		||||
	out += fmt.Sprintf("version: %s, ", d.Version)
 | 
			
		||||
	out += fmt.Sprintf("isChaos: %v, ", d.IsChaos)
 | 
			
		||||
	out += fmt.Sprintf("chaosVersion: %s}", d.ChaosVersion)
 | 
			
		||||
	return out
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsDeployed gathers metadata about an app deployment.
 | 
			
		||||
func IsDeployed(ctx context.Context, cl *dockerClient.Client, stackName string) (DeployMeta, error) {
 | 
			
		||||
	deployMeta := DeployMeta{
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user