From 3af7ccab3ec1ba0145bcba0a222a4b7735b8b2bd Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Wed, 21 Feb 2024 09:42:55 -0500 Subject: [PATCH 1/4] Give access list warning for review in CLI in more user friendly manner --- tool/tsh/common/tsh.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go index d5bed071ec1c9..f566a0a86d264 100644 --- a/tool/tsh/common/tsh.go +++ b/tool/tsh/common/tsh.go @@ -4289,13 +4289,16 @@ func printLoginInformation(cf *CLIConf, profile *client.ProfileStatus, profiles if len(accessListsToReview) > 0 { fmt.Printf("Access lists that need to be reviewed:\n") + // date time format layout + const YYYYMMDD = "2006-01-02" for _, accessList := range accessListsToReview { d := time.Until(accessList.Spec.Audit.NextAuditDate).Round(time.Minute) + nextAuditDate := accessList.Spec.Audit.NextAuditDate.Format(YYYYMMDD) var msg string if d > 0 { - msg = fmt.Sprintf("%v left to review", d.String()) + msg = fmt.Sprintf("review date is %v", nextAuditDate) } else { - msg = fmt.Sprintf("review was required %v ago", (-d).String()) + msg = fmt.Sprintf("review was required on %v", nextAuditDate) } fmt.Printf("\t%s (%v)\n", accessList.Spec.Title, msg) } From 2f8159bc336fde59e20fbefe6176989c0d11b1f0 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Wed, 21 Feb 2024 16:31:35 -0500 Subject: [PATCH 2/4] updated logic and variables based on feedback --- tool/tsh/common/tsh.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go index f566a0a86d264..27746c8be4d81 100644 --- a/tool/tsh/common/tsh.go +++ b/tool/tsh/common/tsh.go @@ -4290,15 +4290,13 @@ func printLoginInformation(cf *CLIConf, profile *client.ProfileStatus, profiles if len(accessListsToReview) > 0 { fmt.Printf("Access lists that need to be reviewed:\n") // date time format layout - const YYYYMMDD = "2006-01-02" for _, accessList := range accessListsToReview { - d := time.Until(accessList.Spec.Audit.NextAuditDate).Round(time.Minute) - nextAuditDate := accessList.Spec.Audit.NextAuditDate.Format(YYYYMMDD) var msg string - if d > 0 { - msg = fmt.Sprintf("review date is %v", nextAuditDate) - } else { + nextAuditDate := accessList.Spec.Audit.NextAuditDate.Format(time.DateOnly) + if time.Now().After(accessList.Spec.Audit.NextAuditDate) { msg = fmt.Sprintf("review was required on %v", nextAuditDate) + } else { + msg = fmt.Sprintf("review date is %v", nextAuditDate) } fmt.Printf("\t%s (%v)\n", accessList.Spec.Title, msg) } From 90da93f8432b052e98dc5ca93cf1ef202657a194 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Wed, 21 Feb 2024 16:43:21 -0500 Subject: [PATCH 3/4] removed unused comment Co-authored-by: Anton Miniailo --- tool/tsh/common/tsh.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go index 27746c8be4d81..b296f382a0c70 100644 --- a/tool/tsh/common/tsh.go +++ b/tool/tsh/common/tsh.go @@ -4289,7 +4289,6 @@ func printLoginInformation(cf *CLIConf, profile *client.ProfileStatus, profiles if len(accessListsToReview) > 0 { fmt.Printf("Access lists that need to be reviewed:\n") - // date time format layout for _, accessList := range accessListsToReview { var msg string nextAuditDate := accessList.Spec.Audit.NextAuditDate.Format(time.DateOnly) From 57d438eb0524f5bcc8762481093efe591179edcd Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Wed, 21 Feb 2024 17:00:52 -0500 Subject: [PATCH 4/4] Update output messages on access list due dates Co-authored-by: Zac Bergquist --- tool/tsh/common/tsh.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go index b296f382a0c70..b3d076fd16d35 100644 --- a/tool/tsh/common/tsh.go +++ b/tool/tsh/common/tsh.go @@ -4293,9 +4293,9 @@ func printLoginInformation(cf *CLIConf, profile *client.ProfileStatus, profiles var msg string nextAuditDate := accessList.Spec.Audit.NextAuditDate.Format(time.DateOnly) if time.Now().After(accessList.Spec.Audit.NextAuditDate) { - msg = fmt.Sprintf("review was required on %v", nextAuditDate) + msg = fmt.Sprintf("review is overdue (%v)", nextAuditDate) } else { - msg = fmt.Sprintf("review date is %v", nextAuditDate) + msg = fmt.Sprintf("review is required by %v", nextAuditDate) } fmt.Printf("\t%s (%v)\n", accessList.Spec.Title, msg) }