refactor(recipe): rename Recipe2 -> Recipe
This commit is contained in:
parent
f638b6a16b
commit
f14d49cc64
@ -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)
|
||||
|
@ -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",
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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"))
|
||||
|
@ -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/<tag>.
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user