Skip to content

Commit

Permalink
Fix events and dash commands to work with review apps
Browse files Browse the repository at this point in the history
  • Loading branch information
ipmb committed Mar 27, 2023
1 parent a329a24 commit 185f79d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
17 changes: 10 additions & 7 deletions app/app.go
Expand Up @@ -299,14 +299,17 @@ func (a *App) ReviewAppSettings() (*Settings, error) {
return &i.Settings, nil
}

// TaskDefinition gets the Task Definition for a specific task type
func (a *App) TaskDefinition(name string) (*ecs.TaskDefinition, []*ecs.Tag, error) {
var family string
// ServiceName gets the name of a service for the app taking into account review apps
func (a *App) ServiceName(service string) string {
if a.IsReviewApp() {
family = fmt.Sprintf("%s-pr%s-%s", a.Name, *a.ReviewApp, name)
} else {
family = fmt.Sprintf("%s-%s", a.Name, name)
return fmt.Sprintf("%s-pr%s-%s", a.Name, *a.ReviewApp, service)
}
return fmt.Sprintf("%s-%s", a.Name, service)
}

// TaskDefinition gets the Task Definition for a specific task type
func (a *App) TaskDefinition(name string) (*ecs.TaskDefinition, []*ecs.Tag, error) {
family := a.ServiceName(name)
ecsSvc := ecs.New(a.Session)
// verify task exists
task, err := ecsSvc.DescribeTaskDefinition(&ecs.DescribeTaskDefinitionInput{
Expand Down Expand Up @@ -843,7 +846,7 @@ func (a *App) GetECSEvents(service string) ([]*ecs.ServiceEvent, error) {
logrus.WithFields(logrus.Fields{"service": service}).Debug("fetching service events")
serviceStatus, err := ecsSvc.DescribeServices(&ecs.DescribeServicesInput{
Cluster: &a.Settings.Cluster.ARN,
Services: aws.StringSlice([]string{fmt.Sprintf("%s-%s", a.Name, service)}),
Services: aws.StringSlice([]string{a.ServiceName(service)}),
})
if err != nil {
return nil, err
Expand Down
6 changes: 4 additions & 2 deletions cmd/events.go
Expand Up @@ -43,9 +43,11 @@ var eventsCmd = &cobra.Command{
checkErr(err)
events, err := a.GetECSEvents(args[0])
checkErr(err)
waitForSteadyState := cmd.Flag("wait-for-steady").Value.String() == "true"
ui.Spinner.Stop()
fmt.Println("⏳", aurora.Blue(fmt.Sprintf("waiting for `%s` service to reach a steady state...", args[0])))
waitForSteadyState := cmd.Flag("wait-for-steady").Value.String() == "true"
if waitForSteadyState {
fmt.Println("⏳", aurora.Blue(fmt.Sprintf("waiting for `%s` service to reach a steady state...", args[0])))
}
for _, event := range events {
// when waiting for steady, only show the last minute of events to start
if !waitForSteadyState || event.CreatedAt.After(time.Now().Add(-time.Minute)) {
Expand Down
4 changes: 2 additions & 2 deletions metrics/metrics.go
Expand Up @@ -111,7 +111,7 @@ func (m *ServiceUtilizationMetrics) MetricDataQueries() []*cloudwatch.MetricData
},
{
Name: aws.String("ServiceName"),
Value: aws.String(fmt.Sprintf("%s-%s", m.App.Name, m.Service)),
Value: aws.String(m.GetApp().ServiceName(m.Service)),
},
},
},
Expand All @@ -132,7 +132,7 @@ func (m *ServiceUtilizationMetrics) MetricDataQueries() []*cloudwatch.MetricData
},
{
Name: aws.String("ServiceName"),
Value: aws.String(fmt.Sprintf("%s-%s", m.App.Name, m.Service)),
Value: aws.String(m.GetApp().ServiceName(m.Service)),
},
},
},
Expand Down

0 comments on commit 185f79d

Please sign in to comment.