diff --git a/cli/app/cmd.go b/cli/app/cmd.go index ee230c3d..6bad0a57 100644 --- a/cli/app/cmd.go +++ b/cli/app/cmd.go @@ -211,7 +211,7 @@ var appCmdListCommand = cli.Command{ Before: internal.SubCommandBefore, Action: func(c *cli.Context) error { app := internal.ValidateApp(c) - r := recipe.Get2(app.Name) + r := recipe.Get(app.Name) if err := r.EnsureExists(); err != nil { log.Fatal(err) diff --git a/cli/app/new.go b/cli/app/new.go index 5978f39e..c9e8e9bf 100644 --- a/cli/app/new.go +++ b/cli/app/new.go @@ -230,7 +230,7 @@ func createSecrets(cl *dockerClient.Client, secretsConfig map[string]secret.Secr } // ensureDomainFlag checks if the domain flag was used. if not, asks the user for it/ -func ensureDomainFlag(recipe recipePkg.Recipe2, server string) error { +func ensureDomainFlag(recipe recipePkg.Recipe, server string) error { if internal.Domain == "" && !internal.NoInput { prompt := &survey.Input{ Message: "Specify app domain", diff --git a/cli/app/ps.go b/cli/app/ps.go index 6e485bd5..5ed15f6b 100644 --- a/cli/app/ps.go +++ b/cli/app/ps.go @@ -67,7 +67,7 @@ var appPsCommand = cli.Command{ // showPSOutput renders ps output. func showPSOutput(app appPkg.App, cl *dockerClient.Client) { - r := recipe.Get2(app.Name) + r := recipe.Get(app.Name) composeFiles, err := r.GetComposeFiles(app.Env) if err != nil { log.Fatal(err) diff --git a/cli/catalogue/catalogue.go b/cli/catalogue/catalogue.go index c5bf3c3b..e3a81e02 100644 --- a/cli/catalogue/catalogue.go +++ b/cli/catalogue/catalogue.go @@ -57,7 +57,7 @@ keys configured on your account. BashComplete: autocomplete.RecipeNameComplete, Action: func(c *cli.Context) error { recipeName := c.Args().First() - r := recipe.Get2(recipeName) + r := recipe.Get(recipeName) if recipeName != "" { internal.ValidateRecipe(c) diff --git a/cli/internal/recipe.go b/cli/internal/recipe.go index 5e8fb887..2e209ae1 100644 --- a/cli/internal/recipe.go +++ b/cli/internal/recipe.go @@ -85,7 +85,7 @@ func SetBumpType(bumpType string) { } // GetMainAppImage retrieves the main 'app' image name -func GetMainAppImage(recipe recipe.Recipe2) (string, error) { +func GetMainAppImage(recipe recipe.Recipe) (string, error) { var path string config, err := recipe.GetComposeConfig(nil) diff --git a/cli/internal/validate.go b/cli/internal/validate.go index ab111864..9f416e91 100644 --- a/cli/internal/validate.go +++ b/cli/internal/validate.go @@ -13,7 +13,7 @@ import ( ) // ValidateRecipe ensures the recipe arg is valid. -func ValidateRecipe(c *cli.Context) recipe.Recipe2 { +func ValidateRecipe(c *cli.Context) recipe.Recipe { recipeName := c.Args().First() if recipeName == "" && !NoInput { @@ -57,7 +57,7 @@ func ValidateRecipe(c *cli.Context) recipe.Recipe2 { ShowSubcommandHelpAndError(c, errors.New("no recipe name provided")) } - chosenRecipe := recipe.Get2(recipeName) + chosenRecipe := recipe.Get(recipeName) err := chosenRecipe.EnsureExists() if err != nil { log.Fatal(err) diff --git a/cli/recipe/fetch.go b/cli/recipe/fetch.go index 62db1256..102f6fb4 100644 --- a/cli/recipe/fetch.go +++ b/cli/recipe/fetch.go @@ -24,7 +24,7 @@ var recipeFetchCommand = cli.Command{ BashComplete: autocomplete.RecipeNameComplete, Action: func(c *cli.Context) error { recipeName := c.Args().First() - r := recipe.Get2(recipeName) + r := recipe.Get(recipeName) if recipeName != "" { internal.ValidateRecipe(c) if err := r.Ensure(false, false); err != nil { @@ -40,7 +40,7 @@ var recipeFetchCommand = cli.Command{ catlBar := formatter.CreateProgressbar(len(catalogue), "fetching latest recipes...") for recipeName := range catalogue { - r := recipe.Get2(recipeName) + r := recipe.Get(recipeName) if err := r.Ensure(false, false); err != nil { log.Error(err) } diff --git a/cli/recipe/new.go b/cli/recipe/new.go index 39f63a6e..d25792cc 100644 --- a/cli/recipe/new.go +++ b/cli/recipe/new.go @@ -56,7 +56,7 @@ recipe and domain in the sample environment config). `, Action: func(c *cli.Context) error { recipeName := c.Args().First() - r := recipe.Get2(recipeName) + r := recipe.Get(recipeName) if recipeName == "" { internal.ShowSubcommandHelpAndError(c, errors.New("no recipe name provided")) diff --git a/cli/recipe/release.go b/cli/recipe/release.go index 90069570..779acea6 100644 --- a/cli/recipe/release.go +++ b/cli/recipe/release.go @@ -141,7 +141,7 @@ your SSH keys configured on your account. } // getImageVersions retrieves image versions for a recipe -func getImageVersions(recipe recipe.Recipe2) (map[string]string, error) { +func getImageVersions(recipe recipe.Recipe) (map[string]string, error) { services := make(map[string]string) config, err := recipe.GetComposeConfig(nil) @@ -185,7 +185,7 @@ func getImageVersions(recipe recipe.Recipe2) (map[string]string, error) { } // createReleaseFromTag creates a new release based on a supplied recipe version string -func createReleaseFromTag(recipe recipe.Recipe2, tagString, mainAppVersion string) error { +func createReleaseFromTag(recipe recipe.Recipe, tagString, mainAppVersion string) error { var err error directory := path.Join(config.RECIPES_DIR, recipe.Name) @@ -249,7 +249,7 @@ func getTagCreateOptions(tag string) (git.CreateTagOptions, error) { // addReleaseNotes checks if the release/next release note exists and moves the // file to release/. -func addReleaseNotes(recipe recipe.Recipe2, tag string) error { +func addReleaseNotes(recipe recipe.Recipe, tag string) error { repoPath := path.Join(config.RECIPES_DIR, recipe.Name) tagReleaseNotePath := path.Join(repoPath, "release", tag) if _, err := os.Stat(tagReleaseNotePath); err == nil { @@ -323,7 +323,7 @@ func addReleaseNotes(recipe recipe.Recipe2, tag string) error { return nil } -func commitRelease(recipe recipe.Recipe2, tag string) error { +func commitRelease(recipe recipe.Recipe, tag string) error { if internal.Dry { log.Debugf("dry run: no changes committed") return nil @@ -376,7 +376,7 @@ func tagRelease(tagString string, repo *git.Repository) error { return nil } -func pushRelease(recipe recipe.Recipe2, tagString string) error { +func pushRelease(recipe recipe.Recipe, tagString string) error { if internal.Dry { log.Info("dry run: no changes published") return nil @@ -405,7 +405,7 @@ func pushRelease(recipe recipe.Recipe2, tagString string) error { return nil } -func createReleaseFromPreviousTag(tagString, mainAppVersion string, recipe recipe.Recipe2, tags []string) error { +func createReleaseFromPreviousTag(tagString, mainAppVersion string, recipe recipe.Recipe, tags []string) error { directory := path.Join(config.RECIPES_DIR, recipe.Name) repo, err := git.PlainOpen(directory) if err != nil { @@ -528,7 +528,7 @@ func cleanUpTag(tag, recipeName string) error { return nil } -func getLabelVersion(recipe recipe.Recipe2, prompt bool) (string, error) { +func getLabelVersion(recipe recipe.Recipe, prompt bool) (string, error) { initTag, err := recipe.GetVersionLabelLocal() if err != nil { return "", err diff --git a/cli/updater/updater.go b/cli/updater/updater.go index a6721a8b..94086819 100644 --- a/cli/updater/updater.go +++ b/cli/updater/updater.go @@ -318,7 +318,7 @@ func getAvailableUpgrades(cl *dockerclient.Client, stackName string, recipeName // processRecipeRepoVersion clones, pulls, checks out the version and lints the // recipe repository. -func processRecipeRepoVersion(r recipe.Recipe2, version string) error { +func processRecipeRepoVersion(r recipe.Recipe, version string) error { if err := r.EnsureExists(); err != nil { return err } @@ -355,7 +355,7 @@ func mergeAbraShEnv(recipeName string, env envfile.AppEnv) error { } // createDeployConfig merges and enriches the compose config for the deployment. -func createDeployConfig(r recipe.Recipe2, stackName string, env envfile.AppEnv) (*composetypes.Config, stack.Deploy, error) { +func createDeployConfig(r recipe.Recipe, stackName string, env envfile.AppEnv) (*composetypes.Config, stack.Deploy, error) { env["STACK_NAME"] = stackName deployOpts := stack.Deploy{ @@ -438,12 +438,12 @@ func upgrade(cl *dockerclient.Client, stackName, recipeName, app := appPkg.App{ Name: stackName, - Recipe: recipe.Get2(recipeName), + Recipe: recipe.Get(recipeName), Server: SERVER, Env: env, } - r := recipe.Get2(recipeName) + r := recipe.Get(recipeName) if err = processRecipeRepoVersion(r, upgradeVersion); err != nil { return err diff --git a/pkg/app/app.go b/pkg/app/app.go index e7c42e79..41bb2259 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -84,7 +84,7 @@ func GetApps(appFiles AppFiles, recipeFilter string) ([]App, error) { // App reprents an app with its env file read into memory type App struct { Name AppName - Recipe recipe.Recipe2 + Recipe recipe.Recipe Domain string Env envfile.AppEnv Server string @@ -260,7 +260,7 @@ func NewApp(env envfile.AppEnv, name string, appFile AppFile) (App, error) { return App{ Name: name, Domain: domain, - Recipe: recipe.Get2(recipeName), + Recipe: recipe.Get(recipeName), Env: env, Server: appFile.Server, Path: appFile.Path, @@ -358,7 +358,7 @@ func GetAppNames() ([]string, error) { // TemplateAppEnvSample copies the example env file for the app into the users // env files. -func TemplateAppEnvSample(r recipe.Recipe2, appName, server, domain string) error { +func TemplateAppEnvSample(r recipe.Recipe, appName, server, domain string) error { envSample, err := os.ReadFile(r.SampleEnvPath) if err != nil { return err diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go index d5b07058..509b0702 100644 --- a/pkg/app/app_test.go +++ b/pkg/app/app_test.go @@ -47,7 +47,7 @@ func TestGetApp(t *testing.T) { } func TestGetComposeFiles(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) @@ -85,7 +85,7 @@ func TestGetComposeFiles(t *testing.T) { } for _, test := range tests { - r2 := recipe.Get2(r.Name) + r2 := recipe.Get(r.Name) composeFiles, err := r2.GetComposeFiles(test.appEnv) if err != nil { t.Fatal(err) @@ -95,7 +95,7 @@ func TestGetComposeFiles(t *testing.T) { } func TestGetComposeFilesError(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) @@ -107,7 +107,7 @@ func TestGetComposeFilesError(t *testing.T) { } for _, test := range tests { - r2 := recipe.Get2(r.Name) + r2 := recipe.Get(r.Name) _, err := r2.GetComposeFiles(test.appEnv) if err == nil { t.Fatalf("should have failed: %v", test.appEnv) diff --git a/pkg/envfile/envfile_test.go b/pkg/envfile/envfile_test.go index 2ba67b76..dca7a792 100644 --- a/pkg/envfile/envfile_test.go +++ b/pkg/envfile/envfile_test.go @@ -55,7 +55,7 @@ func TestReadEnv(t *testing.T) { } func TestReadAbraShEnvVars(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) @@ -85,7 +85,7 @@ func TestReadAbraShEnvVars(t *testing.T) { } func TestReadAbraShCmdNames(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) @@ -110,13 +110,13 @@ func TestReadAbraShCmdNames(t *testing.T) { } func TestCheckEnv(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) } - r2 := recipe.Get2(r.Name) + r2 := recipe.Get(r.Name) envSample, err := r2.SampleEnv() if err != nil { t.Fatal(err) @@ -124,7 +124,7 @@ func TestCheckEnv(t *testing.T) { app := appPkg.App{ Name: "test-app", - Recipe: recipe.Get2(r.Name), + Recipe: recipe.Get(r.Name), Domain: "example.com", Env: envSample, Path: "example.com.env", @@ -144,13 +144,13 @@ func TestCheckEnv(t *testing.T) { } func TestCheckEnvError(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) } - r2 := recipe.Get2(r.Name) + r2 := recipe.Get(r.Name) envSample, err := r2.SampleEnv() if err != nil { t.Fatal(err) @@ -160,7 +160,7 @@ func TestCheckEnvError(t *testing.T) { app := appPkg.App{ Name: "test-app", - Recipe: recipe.Get2(r.Name), + Recipe: recipe.Get(r.Name), Domain: "example.com", Env: envSample, Path: "example.com.env", @@ -180,13 +180,13 @@ func TestCheckEnvError(t *testing.T) { } func TestEnvVarCommentsRemoved(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) } - r2 := recipe.Get2(r.Name) + r2 := recipe.Get(r.Name) envSample, err := r2.SampleEnv() if err != nil { t.Fatal(err) @@ -212,7 +212,7 @@ func TestEnvVarCommentsRemoved(t *testing.T) { } func TestEnvVarModifiersIncluded(t *testing.T) { - r := recipe.Get2("abra-test-recipe") + r := recipe.Get("abra-test-recipe") err := r.EnsureExists() if err != nil { t.Fatal(err) diff --git a/pkg/lint/recipe.go b/pkg/lint/recipe.go index d4d366cb..ae371e32 100644 --- a/pkg/lint/recipe.go +++ b/pkg/lint/recipe.go @@ -19,13 +19,13 @@ import ( var Warn = "warn" var Critical = "critical" -type LintFunction func(recipe.Recipe2) (bool, error) +type LintFunction func(recipe.Recipe) (bool, error) // SkipFunction determines whether the LintFunction is run or not. It should // not take the lint rule level into account because some rules are always an // error but may depend on some additional context of the recipe configuration. // This function aims to cover those additional cases. -type SkipFunction func(recipe.Recipe2) (bool, error) +type SkipFunction func(recipe.Recipe) (bool, error) // LintRule is a linting rule which helps a recipe maintainer avoid common // problems in their recipe configurations. We aim to highlight things that @@ -42,7 +42,7 @@ type LintRule struct { } // Skip implements the SkipFunction for the lint rule. -func (l LintRule) Skip(recipe recipe.Recipe2) bool { +func (l LintRule) Skip(recipe recipe.Recipe) bool { if l.SkipCondition != nil { ok, err := l.SkipCondition(recipe) if err != nil { @@ -173,7 +173,7 @@ var LintRules = map[string][]LintRule{ // LintForErrors lints specifically for errors and not other levels. This is // used in code paths such as "app deploy" to avoid nasty surprises but not for // the typical linting commands, which do handle other levels. -func LintForErrors(recipe recipe.Recipe2) error { +func LintForErrors(recipe recipe.Recipe) error { log.Debugf("linting for critical errors in %s configs", recipe.Name) for level := range LintRules { @@ -201,7 +201,7 @@ func LintForErrors(recipe recipe.Recipe2) error { return nil } -func LintComposeVersion(recipe recipe.Recipe2) (bool, error) { +func LintComposeVersion(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -213,8 +213,8 @@ func LintComposeVersion(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintEnvConfigPresent(r recipe.Recipe2) (bool, error) { - r2 := recipe.Get2(r.Name) +func LintEnvConfigPresent(r recipe.Recipe) (bool, error) { + r2 := recipe.Get(r.Name) if _, err := os.Stat(r2.SampleEnvPath); !os.IsNotExist(err) { return true, nil } @@ -222,7 +222,7 @@ func LintEnvConfigPresent(r recipe.Recipe2) (bool, error) { return false, nil } -func LintAppService(recipe recipe.Recipe2) (bool, error) { +func LintAppService(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -240,8 +240,8 @@ func LintAppService(recipe recipe.Recipe2) (bool, error) { // confirms that there is no "DOMAIN=..." in the .env.sample configuration of // the recipe. This typically means that no domain is required to deploy and // therefore no matching traefik deploy label will be present. -func LintTraefikEnabledSkipCondition(r recipe.Recipe2) (bool, error) { - r2 := recipe.Get2(r.Name) +func LintTraefikEnabledSkipCondition(r recipe.Recipe) (bool, error) { + r2 := recipe.Get(r.Name) sampleEnv, err := r2.SampleEnv() if err != nil { return false, fmt.Errorf("Unable to discover .env.sample for %s", r2.Name) @@ -254,7 +254,7 @@ func LintTraefikEnabledSkipCondition(r recipe.Recipe2) (bool, error) { return false, nil } -func LintTraefikEnabled(recipe recipe.Recipe2) (bool, error) { +func LintTraefikEnabled(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -272,7 +272,7 @@ func LintTraefikEnabled(recipe recipe.Recipe2) (bool, error) { return false, nil } -func LintHealthchecks(recipe recipe.Recipe2) (bool, error) { +func LintHealthchecks(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -286,7 +286,7 @@ func LintHealthchecks(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintAllImagesTagged(recipe recipe.Recipe2) (bool, error) { +func LintAllImagesTagged(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -304,7 +304,7 @@ func LintAllImagesTagged(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintNoUnstableTags(recipe recipe.Recipe2) (bool, error) { +func LintNoUnstableTags(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -331,7 +331,7 @@ func LintNoUnstableTags(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintSemverLikeTags(recipe recipe.Recipe2) (bool, error) { +func LintSemverLikeTags(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -358,7 +358,7 @@ func LintSemverLikeTags(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintImagePresent(recipe recipe.Recipe2) (bool, error) { +func LintImagePresent(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -371,7 +371,7 @@ func LintImagePresent(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintHasPublishedVersion(recipe recipe.Recipe2) (bool, error) { +func LintHasPublishedVersion(recipe recipe.Recipe) (bool, error) { catl, err := recipePkg.ReadRecipeCatalogue(false) if err != nil { log.Fatal(err) @@ -389,8 +389,8 @@ func LintHasPublishedVersion(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintMetadataFilledIn(r recipe.Recipe2) (bool, error) { - r2 := recipe.Get2(r.Name) +func LintMetadataFilledIn(r recipe.Recipe) (bool, error) { + r2 := recipe.Get(r.Name) features, category, err := recipe.GetRecipeFeaturesAndCategory(r2) if err != nil { return false, err @@ -411,7 +411,7 @@ func LintMetadataFilledIn(r recipe.Recipe2) (bool, error) { return true, nil } -func LintAbraShVendors(recipe recipe.Recipe2) (bool, error) { +func LintAbraShVendors(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -430,7 +430,7 @@ func LintAbraShVendors(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintHasRecipeRepo(recipe recipe.Recipe2) (bool, error) { +func LintHasRecipeRepo(recipe recipe.Recipe) (bool, error) { url := fmt.Sprintf("%s/%s.git", config.REPOS_BASE_URL, recipe.Name) res, err := http.Get(url) @@ -445,7 +445,7 @@ func LintHasRecipeRepo(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintSecretLengths(recipe recipe.Recipe2) (bool, error) { +func LintSecretLengths(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil { return false, err @@ -459,7 +459,7 @@ func LintSecretLengths(recipe recipe.Recipe2) (bool, error) { return true, nil } -func LintValidTags(recipe recipe.Recipe2) (bool, error) { +func LintValidTags(recipe recipe.Recipe) (bool, error) { recipeDir := path.Join(config.RECIPES_DIR, recipe.Name) repo, err := git.PlainOpen(recipeDir) diff --git a/pkg/recipe/compose.go b/pkg/recipe/compose.go index 5312263a..736e5f70 100644 --- a/pkg/recipe/compose.go +++ b/pkg/recipe/compose.go @@ -18,7 +18,7 @@ import ( // GetComposeFiles gets the list of compose files for an app (or recipe if you // don't already have an app) which should be merged into a composetypes.Config // while respecting the COMPOSE_FILE env var. -func (r Recipe2) GetComposeFiles(appEnv map[string]string) ([]string, error) { +func (r Recipe) GetComposeFiles(appEnv map[string]string) ([]string, error) { composeFileEnvVar, ok := appEnv["COMPOSE_FILE"] if !ok { if err := ensurePathExists(r.ComposePath); err != nil { @@ -59,7 +59,7 @@ func (r Recipe2) GetComposeFiles(appEnv map[string]string) ([]string, error) { return composeFiles, nil } -func (r Recipe2) GetComposeConfig(env map[string]string) (*composetypes.Config, error) { +func (r Recipe) GetComposeConfig(env map[string]string) (*composetypes.Config, error) { pattern := fmt.Sprintf("%s/compose**yml", r.Dir) composeFiles, err := filepath.Glob(pattern) if err != nil { @@ -86,7 +86,7 @@ func (r Recipe2) GetComposeConfig(env map[string]string) (*composetypes.Config, } // GetVersionLabelLocal retrieves the version label on the local recipe config -func (r Recipe2) GetVersionLabelLocal() (string, error) { +func (r Recipe) GetVersionLabelLocal() (string, error) { var label string config, err := r.GetComposeConfig(nil) if err != nil { @@ -109,7 +109,7 @@ func (r Recipe2) GetVersionLabelLocal() (string, error) { } // UpdateTag updates an image tag in-place on file system local compose files. -func (r Recipe2) UpdateTag(image, tag string) (bool, error) { +func (r Recipe) UpdateTag(image, tag string) (bool, error) { fullPattern := fmt.Sprintf("%s/compose**yml", r.Dir) image = formatter.StripTagMeta(image) @@ -179,7 +179,7 @@ func (r Recipe2) UpdateTag(image, tag string) (bool, error) { } // UpdateLabel updates a label in-place on file system local compose files. -func (r Recipe2) UpdateLabel(pattern, serviceName, label string) error { +func (r Recipe) UpdateLabel(pattern, serviceName, label string) error { fullPattern := fmt.Sprintf("%s/%s", r.Dir, pattern) composeFiles, err := filepath.Glob(fullPattern) if err != nil { diff --git a/pkg/recipe/files.go b/pkg/recipe/files.go index 8bc76b25..88ab5e59 100644 --- a/pkg/recipe/files.go +++ b/pkg/recipe/files.go @@ -6,7 +6,7 @@ import ( "coopcloud.tech/abra/pkg/envfile" ) -func (r Recipe2) SampleEnv() (map[string]string, error) { +func (r Recipe) SampleEnv() (map[string]string, error) { sampleEnv, err := envfile.ReadEnv(r.SampleEnvPath) if err != nil { return sampleEnv, fmt.Errorf("unable to discover .env.sample for %s", r.Name) diff --git a/pkg/recipe/git.go b/pkg/recipe/git.go index d41fa498..0d6ddc63 100644 --- a/pkg/recipe/git.go +++ b/pkg/recipe/git.go @@ -16,7 +16,7 @@ import ( ) // Ensure makes sure the recipe exists, is up to date and has the latest version checked out. -func (r Recipe2) Ensure(chaos bool, offline bool) error { +func (r Recipe) Ensure(chaos bool, offline bool) error { if err := r.EnsureExists(); err != nil { return err } @@ -38,7 +38,7 @@ func (r Recipe2) Ensure(chaos bool, offline bool) error { } // EnsureExists ensures that the recipe is locally cloned -func (r Recipe2) EnsureExists() error { +func (r Recipe) EnsureExists() error { recipeDir := path.Join(config.RECIPES_DIR, r.Name) if _, err := os.Stat(recipeDir); os.IsNotExist(err) { @@ -57,7 +57,7 @@ func (r Recipe2) EnsureExists() error { } // EnsureVersion checks whether a specific version exists for a recipe. -func (r Recipe2) EnsureVersion(version string) error { +func (r Recipe) EnsureVersion(version string) error { recipeDir := path.Join(config.RECIPES_DIR, r.Name) if err := gitPkg.EnsureGitRepo(recipeDir); err != nil { @@ -115,7 +115,7 @@ func (r Recipe2) EnsureVersion(version string) error { } // EnsureIsClean makes sure that the recipe repository has no unstaged changes. -func (r Recipe2) EnsureIsClean() error { +func (r Recipe) EnsureIsClean() error { recipeDir := path.Join(config.RECIPES_DIR, r.Name) isClean, err := gitPkg.IsClean(recipeDir) @@ -132,7 +132,7 @@ func (r Recipe2) EnsureIsClean() error { } // EnsureLatest makes sure the latest commit is checked out for the local recipe repository -func (r Recipe2) EnsureLatest() error { +func (r Recipe) EnsureLatest() error { recipeDir := path.Join(config.RECIPES_DIR, r.Name) if err := gitPkg.EnsureGitRepo(recipeDir); err != nil { @@ -169,7 +169,7 @@ func (r Recipe2) EnsureLatest() error { } // EnsureUpToDate ensures that the local repo is synced to the remote -func (r Recipe2) EnsureUpToDate() error { +func (r Recipe) EnsureUpToDate() error { recipeDir := path.Join(config.RECIPES_DIR, r.Name) repo, err := git.PlainOpen(recipeDir) @@ -222,7 +222,7 @@ func (r Recipe2) EnsureUpToDate() error { } // ChaosVersion constructs a chaos mode recipe version. -func (r Recipe2) ChaosVersion() (string, error) { +func (r Recipe) ChaosVersion() (string, error) { var version string head, err := gitPkg.GetRecipeHead(r.Name) @@ -247,7 +247,7 @@ func (r Recipe2) ChaosVersion() (string, error) { // Push pushes the latest changes to a SSH URL remote. You need to have your // local SSH configuration for git.coopcloud.tech working for this to work -func (r Recipe2) Push(dryRun bool) error { +func (r Recipe) Push(dryRun bool) error { repo, err := git.PlainOpen(r.Dir) if err != nil { return err @@ -265,7 +265,7 @@ func (r Recipe2) Push(dryRun bool) error { } // Tags list the recipe tags -func (r Recipe2) Tags() ([]string, error) { +func (r Recipe) Tags() ([]string, error) { var tags []string repo, err := git.PlainOpen(r.Dir) @@ -291,7 +291,7 @@ func (r Recipe2) Tags() ([]string, error) { } // GetRecipeVersions retrieves all recipe versions. -func (r Recipe2) GetRecipeVersions(offline bool) (RecipeVersions, error) { +func (r Recipe) GetRecipeVersions(offline bool) (RecipeVersions, error) { versions := RecipeVersions{} log.Debugf("attempting to open git repository in %s", r.Dir) diff --git a/pkg/recipe/recipe.go b/pkg/recipe/recipe.go index 46d618ef..bbf63668 100644 --- a/pkg/recipe/recipe.go +++ b/pkg/recipe/recipe.go @@ -122,9 +122,9 @@ type Features struct { SSO string `json:"sso"` } -func Get2(name string) Recipe2 { +func Get(name string) Recipe { dir := path.Join(config.RECIPES_DIR, name) - return Recipe2{ + return Recipe{ Name: name, Dir: dir, SSHURL: fmt.Sprintf(config.SSH_URL_TEMPLATE, name), @@ -135,7 +135,7 @@ func Get2(name string) Recipe2 { } } -type Recipe2 struct { +type Recipe struct { Name string Dir string SSHURL string @@ -157,7 +157,7 @@ func GetRecipesLocal() ([]string, error) { return recipes, nil } -func GetRecipeFeaturesAndCategory(r Recipe2) (Features, string, error) { +func GetRecipeFeaturesAndCategory(r Recipe) (Features, string, error) { feat := Features{} var category string diff --git a/pkg/recipe/recipe_test.go b/pkg/recipe/recipe_test.go index 08e23a07..37453c4d 100644 --- a/pkg/recipe/recipe_test.go +++ b/pkg/recipe/recipe_test.go @@ -14,7 +14,7 @@ func TestGetVersionLabelLocalDoesNotUseTimeoutLabel(t *testing.T) { t.Fatal(err) } - r := Get2("traefik") + r := Get("traefik") for i := 1; i < 1000; i++ { label, err := r.GetVersionLabelLocal() diff --git a/pkg/secret/secret.go b/pkg/secret/secret.go index 0f1d6d7b..d320816b 100644 --- a/pkg/secret/secret.go +++ b/pkg/secret/secret.go @@ -246,7 +246,7 @@ type secretStatuses []secretStatus func PollSecretsStatus(cl *dockerClient.Client, app appPkg.App) (secretStatuses, error) { var secStats secretStatuses - r := recipe.Get2(app.Name) + r := recipe.Get(app.Name) composeFiles, err := r.GetComposeFiles(app.Env) if err != nil { return secStats, err diff --git a/pkg/test/test.go b/pkg/test/test.go index d0860aef..1109a5dd 100644 --- a/pkg/test/test.go +++ b/pkg/test/test.go @@ -33,7 +33,7 @@ var ExpectedAppEnv = envfile.AppEnv{ var ExpectedApp = appPkg.App{ Name: AppName, - Recipe: recipe.Get2(ExpectedAppEnv["RECIPE"]), + Recipe: recipe.Get(ExpectedAppEnv["RECIPE"]), Domain: ExpectedAppEnv["DOMAIN"], Env: ExpectedAppEnv, Path: ExpectedAppFile.Path,