60 lines
1.8 KiB
Go
60 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/aquasecurity/table"
|
|
"github.com/enescakir/emoji"
|
|
|
|
"github.com/crowdsecurity/crowdsec/pkg/csconfig"
|
|
)
|
|
|
|
func cmdConsoleStatusTable(out io.Writer, csConfig csconfig.Config) {
|
|
t := newTable(out)
|
|
t.SetRowLines(false)
|
|
|
|
t.SetHeaders("Option Name", "Activated", "Description")
|
|
t.SetHeaderAlignment(table.AlignLeft, table.AlignLeft, table.AlignLeft)
|
|
|
|
for _, option := range csconfig.CONSOLE_CONFIGS {
|
|
switch option {
|
|
case csconfig.SEND_CUSTOM_SCENARIOS:
|
|
activated := string(emoji.CrossMark)
|
|
if *csConfig.API.Server.ConsoleConfig.ShareCustomScenarios {
|
|
activated = string(emoji.CheckMarkButton)
|
|
}
|
|
|
|
t.AddRow(option, activated, "Send alerts from custom scenarios to the console")
|
|
|
|
case csconfig.SEND_MANUAL_SCENARIOS:
|
|
activated := string(emoji.CrossMark)
|
|
if *csConfig.API.Server.ConsoleConfig.ShareManualDecisions {
|
|
activated = string(emoji.CheckMarkButton)
|
|
}
|
|
|
|
t.AddRow(option, activated, "Send manual decisions to the console")
|
|
|
|
case csconfig.SEND_TAINTED_SCENARIOS:
|
|
activated := string(emoji.CrossMark)
|
|
if *csConfig.API.Server.ConsoleConfig.ShareTaintedScenarios {
|
|
activated = string(emoji.CheckMarkButton)
|
|
}
|
|
|
|
t.AddRow(option, activated, "Send alerts from tainted scenarios to the console")
|
|
case csconfig.SEND_CONTEXT:
|
|
activated := string(emoji.CrossMark)
|
|
if *csConfig.API.Server.ConsoleConfig.ShareContext {
|
|
activated = string(emoji.CheckMarkButton)
|
|
}
|
|
t.AddRow(option, activated, "Send context with alerts to the console")
|
|
case csconfig.CONSOLE_MANAGEMENT:
|
|
activated := string(emoji.CrossMark)
|
|
if *csConfig.API.Server.ConsoleConfig.ConsoleManagement {
|
|
activated = string(emoji.CheckMarkButton)
|
|
}
|
|
t.AddRow(option, activated, "Receive decisions from console")
|
|
}
|
|
}
|
|
|
|
t.Render()
|
|
}
|