console_table.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package main
  2. import (
  3. "io"
  4. "github.com/aquasecurity/table"
  5. "github.com/crowdsecurity/crowdsec/pkg/csconfig"
  6. "github.com/crowdsecurity/crowdsec/pkg/emoji"
  7. )
  8. func cmdConsoleStatusTable(out io.Writer, consoleCfg csconfig.ConsoleConfig) {
  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. activated := string(emoji.CrossMark)
  15. switch option {
  16. case csconfig.SEND_CUSTOM_SCENARIOS:
  17. if *consoleCfg.ShareCustomScenarios {
  18. activated = string(emoji.CheckMarkButton)
  19. }
  20. case csconfig.SEND_MANUAL_SCENARIOS:
  21. if *consoleCfg.ShareManualDecisions {
  22. activated = string(emoji.CheckMarkButton)
  23. }
  24. case csconfig.SEND_TAINTED_SCENARIOS:
  25. if *consoleCfg.ShareTaintedScenarios {
  26. activated = string(emoji.CheckMarkButton)
  27. }
  28. case csconfig.SEND_CONTEXT:
  29. if *consoleCfg.ShareContext {
  30. activated = string(emoji.CheckMarkButton)
  31. }
  32. case csconfig.CONSOLE_MANAGEMENT:
  33. if *consoleCfg.ConsoleManagement {
  34. activated = string(emoji.CheckMarkButton)
  35. }
  36. }
  37. t.AddRow(option, activated, csconfig.CONSOLE_CONFIGS_HELP[option])
  38. }
  39. t.Render()
  40. }