From 0019ac125e2ed0f99be16a318816b424f667d784 Mon Sep 17 00:00:00 2001 From: Peter Baumgartner Date: Thu, 9 Jun 2022 07:59:48 -0600 Subject: [PATCH 1/3] ci: update aurora mysql timeout Apparently it takes a half an hour to get a DB from AWS. --- .github/workflows/databases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/databases.yml b/.github/workflows/databases.yml index 66c4315..9a38c46 100644 --- a/.github/workflows/databases.yml +++ b/.github/workflows/databases.yml @@ -139,7 +139,7 @@ jobs: --allocated-storage 10 \ --max-allocated-storage 20 \ aurora-mysql - timeout-minutes: 25 + timeout-minutes: 35 env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} From a0b5a455ef29e1cad5b868ca8eb43bfde22cf535 Mon Sep 17 00:00:00 2001 From: Peter Baumgartner Date: Wed, 1 Jun 2022 10:23:18 -0600 Subject: [PATCH 2/3] Fix alignment issues in config list command --- cmd/config.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/cmd/config.go b/cmd/config.go index 4e70901..fcde224 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -23,7 +23,8 @@ import ( "os" "strings" - "github.com/juju/ansiterm/tabwriter" + "github.com/juju/ansiterm" + "github.com/mattn/go-isatty" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" @@ -32,7 +33,6 @@ import ( "github.com/apppackio/apppack/app" "github.com/apppackio/apppack/bridge" "github.com/apppackio/apppack/ui" - "github.com/logrusorgru/aurora" "github.com/spf13/cobra" ) @@ -110,6 +110,13 @@ var unsetCmd = &cobra.Command{ }, } +func printRow(w *ansiterm.TabWriter, name, value string) { + w.SetForeground(ansiterm.Green) + fmt.Fprintf(w, "%s:", name) + w.SetForeground(ansiterm.Default) + fmt.Fprintf(w, "\t%s\n", value) +} + // listCmd represents the list command var listCmd = &cobra.Command{ Use: "list", @@ -117,9 +124,11 @@ var listCmd = &cobra.Command{ DisableFlagsInUseLine: true, Args: cobra.ExactArgs(0), Run: func(cmd *cobra.Command, args []string) { - w := new(tabwriter.Writer) // minwidth, tabwidth, padding, padchar, flags - w.Init(os.Stdout, 8, 8, 0, '\t', 0) + w := ansiterm.NewTabWriter(os.Stdout, 8, 8, 0, '\t', 0) + if isatty.IsTerminal(os.Stdout.Fd()) { + w.SetColorCapable(true) + } ui.StartSpinner() a, err := app.Init(AppName, UseAWSCredentials, SessionDurationSeconds) checkErr(err) @@ -130,10 +139,10 @@ var listCmd = &cobra.Command{ for _, value := range parameters { parts := strings.Split(*value.Name, "/") varname := parts[len(parts)-1] - fmt.Fprintf(w, "%s\t%s\t\n", aurora.Green(fmt.Sprintf("%s:", varname)), *value.Value) + printRow(w, varname, *value.Value) } ui.PrintHeaderln(fmt.Sprintf("%s Config Vars", AppName)) - w.Flush() + checkErr(w.Flush()) if a.IsReviewApp() { fmt.Println() a.ReviewApp = nil @@ -144,10 +153,10 @@ var listCmd = &cobra.Command{ for _, value := range parameters { parts := strings.Split(*value.Name, "/") varname := parts[len(parts)-1] - fmt.Fprintf(w, "%s\t%s\t\n", aurora.Green(fmt.Sprintf("%s:", varname)), *value.Value) + printRow(w, varname, *value.Value) } ui.PrintHeaderln(fmt.Sprintf("%s Config Vars (inherited)", a.Name)) - w.Flush() + checkErr(w.Flush()) } }, } From ea58cabf5da44cdef1e6e3eabdaade1be5231dd1 Mon Sep 17 00:00:00 2001 From: Peter Baumgartner Date: Mon, 27 Jun 2022 15:41:18 -0600 Subject: [PATCH 3/3] Allow pipeline to be used for review app resizing --- app/app.go | 5 +++-- cmd/ps.go | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/app.go b/app/app.go index 4ffc109..ed1d9bd 100644 --- a/app/app.go +++ b/app/app.go @@ -870,11 +870,12 @@ func (a *App) SetScaleParameter(processType string, minProcessCount, maxProcessC var parameterName string if a.IsReviewApp() { parameterName = fmt.Sprintf("/apppack/pipelines/%s/review-apps/pr/%s/scaling", a.Name, *a.ReviewApp) - } else if a.Pipeline { - return fmt.Errorf("scaling/resizing is not supported directly on pipelines") } else { parameterName = fmt.Sprintf("/apppack/apps/%s/scaling", a.Name) } + if a.Pipeline && *maxProcessCount != *minProcessCount { + return fmt.Errorf("auto-scaling is not supported on pipelines") + } parameterOutput, err := ssmSvc.GetParameter(&ssm.GetParameterInput{ Name: ¶meterName, }) diff --git a/cmd/ps.go b/cmd/ps.go index 8df06a9..3d0e8c5 100644 --- a/cmd/ps.go +++ b/cmd/ps.go @@ -170,7 +170,11 @@ var psResizeCmd = &cobra.Command{ checkErr(a.ValidateECSTaskSize(*size)) err = a.ResizeProcess(processType, size.CPU, size.Memory) checkErr(err) - printSuccess(fmt.Sprintf("resizing %s", processType)) + if a.Pipeline { + printSuccess(fmt.Sprintf("set default size for %s processes on review apps", processType)) + } else { + printSuccess(fmt.Sprintf("resizing %s", processType)) + } }, }