console_table.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package main
  2. import (
  3. "io"
  4. "github.com/aquasecurity/table"
  5. "github.com/enescakir/emoji"
  6. "github.com/crowdsecurity/crowdsec/pkg/csconfig"
  7. )
  8. func cmdConsoleStatusTable(out io.Writer, csConfig csconfig.Config) {
  9. t := newTable(out)
  10. t.SetRowLines(false)
  11. t.SetHeaders("Option Name", "Activated", "Description")
  12. t.SetHeaderAlignment(table.AlignLeft, table.AlignLeft, table.AlignLeft)
  13. for _, option := range csconfig.CONSOLE_CONFIGS {
  14. switch option {
  15. case csconfig.SEND_CUSTOM_SCENARIOS:
  16. activated := string(emoji.CrossMark)
  17. if *csConfig.API.Server.ConsoleConfig.ShareCustomScenarios {
  18. activated = string(emoji.CheckMarkButton)
  19. }
  20. t.AddRow(option, activated, "Send alerts from custom scenarios to the console")
  21. case csconfig.SEND_MANUAL_SCENARIOS:
  22. activated := string(emoji.CrossMark)
  23. if *csConfig.API.Server.ConsoleConfig.ShareManualDecisions {
  24. activated = string(emoji.CheckMarkButton)
  25. }
  26. t.AddRow(option, activated, "Send manual decisions to the console")
  27. case csconfig.SEND_TAINTED_SCENARIOS:
  28. activated := string(emoji.CrossMark)
  29. if *csConfig.API.Server.ConsoleConfig.ShareTaintedScenarios {
  30. activated = string(emoji.CheckMarkButton)
  31. }
  32. t.AddRow(option, activated, "Send alerts from tainted scenarios to the console")
  33. case csconfig.SEND_CONTEXT:
  34. activated := string(emoji.CrossMark)
  35. if *csConfig.API.Server.ConsoleConfig.ShareContext {
  36. activated = string(emoji.CheckMarkButton)
  37. }
  38. t.AddRow(option, activated, "Send context with alerts to the console")
  39. case csconfig.CONSOLE_MANAGEMENT:
  40. activated := string(emoji.CrossMark)
  41. if *csConfig.API.Server.ConsoleConfig.ConsoleManagement {
  42. activated = string(emoji.CheckMarkButton)
  43. }
  44. t.AddRow(option, activated, "Receive decisions from console")
  45. }
  46. }
  47. t.Render()
  48. }