console_table.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. }
  34. }
  35. t.Render()
  36. }