forked from toolshed/abra
		
	| @ -6,10 +6,8 @@ import ( | ||||
| 	"strings" | ||||
|  | ||||
| 	"coopcloud.tech/abra/cli/internal" | ||||
| 	"coopcloud.tech/abra/pkg/app" | ||||
| 	"coopcloud.tech/abra/pkg/autocomplete" | ||||
| 	"coopcloud.tech/abra/pkg/config" | ||||
| 	"coopcloud.tech/abra/pkg/envfile" | ||||
| 	"coopcloud.tech/abra/pkg/secret" | ||||
|  | ||||
| 	appPkg "coopcloud.tech/abra/pkg/app" | ||||
| @ -130,13 +128,9 @@ checkout as-is. Recipe commit hashes are also supported as values for | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
|  | ||||
| 		abraShEnv, err := envfile.ReadAbraShEnvVars(app.Recipe.AbraShPath) | ||||
| 		if err != nil { | ||||
| 		if err := deploy.MergeAbraShEnv(app.Recipe, app.Env); err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
| 		for k, v := range abraShEnv { | ||||
| 			app.Env[k] = v | ||||
| 		} | ||||
|  | ||||
| 		composeFiles, err := app.Recipe.GetComposeFiles(app.Env) | ||||
| 		if err != nil { | ||||
| @ -202,7 +196,7 @@ checkout as-is. Recipe commit hashes are also supported as values for | ||||
| 		} | ||||
|  | ||||
| 		// Gather configs | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv) | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, app.Env) | ||||
| 		if err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
| @ -269,7 +263,7 @@ checkout as-is. Recipe commit hashes are also supported as values for | ||||
| 	}, | ||||
| } | ||||
|  | ||||
| func getLatestVersionOrCommit(app app.App) (string, error) { | ||||
| func getLatestVersionOrCommit(app appPkg.App) (string, error) { | ||||
| 	versions, err := app.Recipe.Tags() | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| @ -304,7 +298,7 @@ func validateArgsAndFlags(args []string) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func validateSecrets(cl *dockerClient.Client, app app.App) error { | ||||
| func validateSecrets(cl *dockerClient.Client, app appPkg.App) error { | ||||
| 	secStats, err := secret.PollSecretsStatus(cl, app) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| @ -319,7 +313,7 @@ func validateSecrets(cl *dockerClient.Client, app app.App) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func getDeployVersion(cliArgs []string, deployMeta stack.DeployMeta, app app.App) (string, error) { | ||||
| func getDeployVersion(cliArgs []string, deployMeta stack.DeployMeta, app appPkg.App) (string, error) { | ||||
| 	// Chaos mode overrides everything | ||||
| 	if internal.Chaos { | ||||
| 		v, err := app.Recipe.ChaosVersion() | ||||
|  | ||||
| @ -4,12 +4,10 @@ import ( | ||||
| 	"errors" | ||||
| 	"strings" | ||||
|  | ||||
| 	"coopcloud.tech/abra/pkg/app" | ||||
| 	appPkg "coopcloud.tech/abra/pkg/app" | ||||
| 	"coopcloud.tech/abra/pkg/autocomplete" | ||||
| 	"coopcloud.tech/abra/pkg/config" | ||||
| 	"coopcloud.tech/abra/pkg/deploy" | ||||
| 	"coopcloud.tech/abra/pkg/envfile" | ||||
| 	"coopcloud.tech/abra/pkg/formatter" | ||||
| 	"coopcloud.tech/abra/pkg/i18n" | ||||
| 	"coopcloud.tech/abra/pkg/lint" | ||||
| @ -156,13 +154,9 @@ beforehand. See "abra app backup" for more.`), | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
|  | ||||
| 		abraShEnv, err := envfile.ReadAbraShEnvVars(app.Recipe.AbraShPath) | ||||
| 		if err != nil { | ||||
| 		if err := deploy.MergeAbraShEnv(app.Recipe, app.Env); err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
| 		for k, v := range abraShEnv { | ||||
| 			app.Env[k] = v | ||||
| 		} | ||||
|  | ||||
| 		composeFiles, err := app.Recipe.GetComposeFiles(app.Env) | ||||
| 		if err != nil { | ||||
| @ -198,7 +192,7 @@ beforehand. See "abra app backup" for more.`), | ||||
| 		} | ||||
|  | ||||
| 		// Gather configs | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv) | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, app.Env) | ||||
| 		if err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
| @ -289,7 +283,7 @@ func chooseDowngrade( | ||||
| // validateDownpgradeVersionArg validates the specific version. | ||||
| func validateDowngradeVersionArg( | ||||
| 	specificVersion string, | ||||
| 	app app.App, | ||||
| 	app appPkg.App, | ||||
| 	deployMeta stack.DeployMeta, | ||||
| ) error { | ||||
| 	parsedDeployedVersion, err := tagcmp.Parse(deployMeta.Version) | ||||
|  | ||||
| @ -12,7 +12,6 @@ import ( | ||||
| 	"coopcloud.tech/abra/pkg/client" | ||||
| 	"coopcloud.tech/abra/pkg/config" | ||||
| 	"coopcloud.tech/abra/pkg/deploy" | ||||
| 	"coopcloud.tech/abra/pkg/envfile" | ||||
| 	"coopcloud.tech/abra/pkg/formatter" | ||||
| 	"coopcloud.tech/abra/pkg/i18n" | ||||
| 	"coopcloud.tech/abra/pkg/lint" | ||||
| @ -168,13 +167,9 @@ beforehand. See "abra app backup" for more.`), | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
|  | ||||
| 		abraShEnv, err := envfile.ReadAbraShEnvVars(app.Recipe.AbraShPath) | ||||
| 		if err != nil { | ||||
| 		if err := deploy.MergeAbraShEnv(app.Recipe, app.Env); err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
| 		for k, v := range abraShEnv { | ||||
| 			app.Env[k] = v | ||||
| 		} | ||||
|  | ||||
| 		composeFiles, err := app.Recipe.GetComposeFiles(app.Env) | ||||
| 		if err != nil { | ||||
| @ -223,7 +218,7 @@ beforehand. See "abra app backup" for more.`), | ||||
| 		} | ||||
|  | ||||
| 		// Gather configs | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv) | ||||
| 		configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, app.Env) | ||||
| 		if err != nil { | ||||
| 			log.Fatal(err) | ||||
| 		} | ||||
|  | ||||
| @ -11,6 +11,7 @@ import ( | ||||
| 	"coopcloud.tech/abra/cli/internal" | ||||
| 	appPkg "coopcloud.tech/abra/pkg/app" | ||||
| 	"coopcloud.tech/abra/pkg/client" | ||||
| 	"coopcloud.tech/abra/pkg/deploy" | ||||
| 	"coopcloud.tech/abra/pkg/envfile" | ||||
| 	"coopcloud.tech/abra/pkg/i18n" | ||||
| 	"coopcloud.tech/abra/pkg/lint" | ||||
| @ -335,21 +336,6 @@ func processRecipeRepoVersion(r recipe.Recipe, version string) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // mergeAbraShEnv merges abra.sh env vars into the app env vars. | ||||
| func mergeAbraShEnv(recipe recipe.Recipe, env envfile.AppEnv) error { | ||||
| 	abraShEnv, err := envfile.ReadAbraShEnvVars(recipe.AbraShPath) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	for k, v := range abraShEnv { | ||||
| 		log.Debugf("read v:%s k: %s", v, k) | ||||
| 		env[k] = v | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // createDeployConfig merges and enriches the compose config for the deployment. | ||||
| func createDeployConfig(r recipe.Recipe, stackName string, env envfile.AppEnv) (*composetypes.Config, stack.Deploy, error) { | ||||
| 	env["STACK_NAME"] = stackName | ||||
| @ -444,7 +430,7 @@ func upgrade(cl *dockerclient.Client, stackName, recipeName, upgradeVersion stri | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	if err = mergeAbraShEnv(app.Recipe, app.Env); err != nil { | ||||
| 	if err = deploy.MergeAbraShEnv(app.Recipe, app.Env); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
|  | ||||
| @ -10,7 +10,9 @@ import ( | ||||
|  | ||||
| 	appPkg "coopcloud.tech/abra/pkg/app" | ||||
| 	"coopcloud.tech/abra/pkg/client" | ||||
| 	"coopcloud.tech/abra/pkg/envfile" | ||||
| 	"coopcloud.tech/abra/pkg/log" | ||||
| 	"coopcloud.tech/abra/pkg/recipe" | ||||
| 	"coopcloud.tech/abra/pkg/secret" | ||||
|  | ||||
| 	composetypes "github.com/docker/cli/cli/compose/types" | ||||
| @ -18,6 +20,22 @@ import ( | ||||
| 	dockerClient "github.com/docker/docker/client" | ||||
| ) | ||||
|  | ||||
| // MergeAbraShEnv merges abra.sh env vars into the app env vars. | ||||
| func MergeAbraShEnv(recipe recipe.Recipe, env envfile.AppEnv) error { | ||||
| 	abraShEnv, err := envfile.ReadAbraShEnvVars(recipe.AbraShPath) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	for k, v := range abraShEnv { | ||||
| 		log.Debugf("read v:%s k: %s", v, k) | ||||
| 		env[k] = v | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
|  | ||||
| // GetConfigsForStack retrieves all Docker configs attached to services in a given stack. | ||||
| func GetConfigsForStack(cl *dockerClient.Client, app appPkg.App) (map[string]string, error) { | ||||
| 	filters, err := app.Filters(false, false) | ||||
| @ -185,7 +203,7 @@ func GatherImagesForDeploy(cl *dockerClient.Client, app appPkg.App, compose *com | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	log.Infof("Deployed images: %v", currentImages) | ||||
| 	log.Debugf("Deployed images: %v", currentImages) | ||||
|  | ||||
| 	// Proposed new images from the compose files | ||||
| 	newImages := make(map[string]string) | ||||
| @ -207,7 +225,7 @@ func GatherImagesForDeploy(cl *dockerClient.Client, app appPkg.App, compose *com | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	log.Infof("Proposed images: %v", newImages) | ||||
| 	log.Debugf("Proposed images: %v", newImages) | ||||
|  | ||||
| 	var imageInfo []string | ||||
| 	for newImageName, newImageVersion := range newImages { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user