refactor(recipe): use new recipe.Ensure method

This commit is contained in:
p4u1 2024-07-07 12:46:32 +02:00
parent eee2ecda06
commit 01f3f4be17
10 changed files with 20 additions and 172 deletions

View File

@ -48,26 +48,10 @@ var appBackupListCommand = cli.Command{
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
r := recipe.Get2(app.Recipe) r := recipe.Get2(app.Recipe)
if err := r.EnsureExists(); err != nil { if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
cl, err := client.New(app.Server) cl, err := client.New(app.Server)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)

View File

@ -36,28 +36,12 @@ ${FOO:<default>} syntax). "check" does not confirm or deny this for you.`,
BashComplete: autocomplete.AppNameComplete, BashComplete: autocomplete.AppNameComplete,
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
r := recipe.Get2(app.Recipe) r := recipe.Get2(app.Recipe)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
if err := r.EnsureExists(); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
tableCol := []string{"recipe env sample", "app env"} tableCol := []string{"recipe env sample", "app env"}
table := formatter.CreateTable(tableCol) table := formatter.CreateTable(tableCol)

View File

@ -59,28 +59,12 @@ Example:
}, },
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
r := recipe.Get2(app.Name)
if err := r.EnsureExists(); err != nil { r := recipe.Get2(app.Recipe)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
if internal.LocalCmd && internal.RemoteUser != "" { if internal.LocalCmd && internal.RemoteUser != "" {
internal.ShowSubcommandHelpAndError(c, errors.New("cannot use --local & --user together")) internal.ShowSubcommandHelpAndError(c, errors.New("cannot use --local & --user together"))
} }

View File

@ -52,33 +52,17 @@ recipes.
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
stackName := app.StackName() stackName := app.StackName()
r2 := recipe.Get2(app.Recipe)
specificVersion := c.Args().Get(1) specificVersion := c.Args().Get(1)
if specificVersion != "" && internal.Chaos { if specificVersion != "" && internal.Chaos {
log.Fatal("cannot use <version> and --chaos together") log.Fatal("cannot use <version> and --chaos together")
} }
if err := r2.EnsureExists(); err != nil { r2 := recipe.Get2(app.Recipe)
if err := r2.Ensure(internal.Chaos, internal.Offline); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r2.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r2.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r2.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
r, err := recipe.Get(app.Recipe, internal.Offline) r, err := recipe.Get(app.Recipe, internal.Offline)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)

View File

@ -32,28 +32,12 @@ var appRestoreCommand = cli.Command{
BashComplete: autocomplete.AppNameComplete, BashComplete: autocomplete.AppNameComplete,
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
r := recipe.Get2(app.Recipe) r := recipe.Get2(app.Recipe)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
if err := r.EnsureExists(); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
cl, err := client.New(app.Server) cl, err := client.New(app.Server)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)

View File

@ -52,33 +52,17 @@ recipes.
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
stackName := app.StackName() stackName := app.StackName()
r2 := recipe.Get2(app.Recipe)
specificVersion := c.Args().Get(1) specificVersion := c.Args().Get(1)
if specificVersion != "" && internal.Chaos { if specificVersion != "" && internal.Chaos {
log.Fatal("cannot use <version> and --chaos together") log.Fatal("cannot use <version> and --chaos together")
} }
if err := r2.EnsureExists(); err != nil { r2 := recipe.Get2(app.Recipe)
if err := r2.Ensure(internal.Chaos, internal.Offline); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r2.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r2.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r2.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
r, err := recipe.Get(app.Recipe, internal.Offline) r, err := recipe.Get(app.Recipe, internal.Offline)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)

View File

@ -56,28 +56,12 @@ var appSecretGenerateCommand = cli.Command{
BashComplete: autocomplete.AppNameComplete, BashComplete: autocomplete.AppNameComplete,
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
r := recipe.Get2(app.Recipe) r := recipe.Get2(app.Recipe)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
if err := r.EnsureExists(); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
if len(c.Args()) == 1 && !allSecrets { if len(c.Args()) == 1 && !allSecrets {
err := errors.New("missing arguments <secret>/<version> or '--all'") err := errors.New("missing arguments <secret>/<version> or '--all'")
internal.ShowSubcommandHelpAndError(c, err) internal.ShowSubcommandHelpAndError(c, err)

View File

@ -58,27 +58,15 @@ recipes.
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
app := internal.ValidateApp(c) app := internal.ValidateApp(c)
stackName := app.StackName() stackName := app.StackName()
r := recipe.Get2(app.Name)
specificVersion := c.Args().Get(1) specificVersion := c.Args().Get(1)
if specificVersion != "" && internal.Chaos { if specificVersion != "" && internal.Chaos {
log.Fatal("cannot use <version> and --chaos together") log.Fatal("cannot use <version> and --chaos together")
} }
if !internal.Chaos { r := recipe.Get2(app.Recipe)
if err := r.EnsureIsClean(); err != nil { if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
log.Fatal(err) log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
} }
recipe, err := recipePkg.Get(app.Recipe, internal.Offline) recipe, err := recipePkg.Get(app.Recipe, internal.Offline)

View File

@ -28,28 +28,12 @@ var recipeLintCommand = cli.Command{
BashComplete: autocomplete.RecipeNameComplete, BashComplete: autocomplete.RecipeNameComplete,
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
recipe := internal.ValidateRecipe(c) recipe := internal.ValidateRecipe(c)
r := recipePkg.Get2(recipe.Name) r := recipePkg.Get2(recipe.Name)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
if err := r.EnsureExists(); err != nil {
log.Fatal(err) log.Fatal(err)
} }
if !internal.Chaos {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if !internal.Offline {
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err)
}
}
tableCol := []string{"ref", "rule", "severity", "satisfied", "skipped", "resolve"} tableCol := []string{"ref", "rule", "severity", "satisfied", "skipped", "resolve"}
table := formatter.CreateTable(tableCol) table := formatter.CreateTable(tableCol)

View File

@ -72,21 +72,9 @@ You may invoke this command in "wizard" mode and be prompted for input:
BashComplete: autocomplete.RecipeNameComplete, BashComplete: autocomplete.RecipeNameComplete,
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
recipe := internal.ValidateRecipe(c) recipe := internal.ValidateRecipe(c)
r := recipePkg.Get2(recipe.Name) r := recipePkg.Get2(recipe.Name)
if err := r.Ensure(internal.Chaos, internal.Offline); err != nil {
if err := r.EnsureIsClean(); err != nil {
log.Fatal(err)
}
if err := r.EnsureExists(); err != nil {
log.Fatal(err)
}
if err := r.EnsureUpToDate(); err != nil {
log.Fatal(err)
}
if err := r.EnsureLatest(); err != nil {
log.Fatal(err) log.Fatal(err)
} }