Files
trufflehog/pkg/tui/sources/syslog/syslog.go
Hon Kwokandmcastorina 4598244167 Use placeholder as default if field left empty and is required (#1642)
* Use placeholder as default if field left empty and is required

Co-authored-by: mcastorina <[email protected]>

* Drop unused func

* uncomment azure source

* update wording

---------

Co-authored-by: mcastorina <[email protected]>
2023-10-02 17:21:40 -07:00

81 lines
1.9 KiB
Go

package syslog
import (
"strings"
"github.com/trufflesecurity/trufflehog/v3/pkg/tui/common"
"github.com/trufflesecurity/trufflehog/v3/pkg/tui/components/textinputs"
)
type syslogCmdModel struct {
textinputs.Model
}
// TODO: review fields
func GetFields() syslogCmdModel {
protocol := textinputs.InputConfig{
Label: "Protocol",
Key: "protocol",
Required: true,
Help: "udp or tcp",
Placeholder: "tcp",
}
listenAddress := textinputs.InputConfig{
Label: "Address",
Key: "address",
Help: "Address and port to listen on for syslog",
Required: true,
Placeholder: "127.0.0.1:514",
}
tlsCert := textinputs.InputConfig{
Label: "TLS Certificate",
Key: "cert",
Required: true,
Help: "Path to TLS certificate",
Placeholder: "/path/to/cert",
}
tlsKey := textinputs.InputConfig{
Label: "TLS Key",
Key: "key",
Required: true,
Help: "Path to TLS key",
Placeholder: "/path/to/key",
}
format := textinputs.InputConfig{
Label: "Log format",
Key: "format",
Required: true,
Help: "Can be rfc3164 or rfc5424",
Placeholder: "rfc3164",
}
return syslogCmdModel{textinputs.New([]textinputs.InputConfig{listenAddress, protocol, tlsCert, tlsKey, format})}
}
func (m syslogCmdModel) Cmd() string {
var command []string
command = append(command, "trufflehog", "syslog")
inputs := m.GetInputs()
syslogKeys := [5]string{"address", "protocol", "cert", "key", "format"}
for _, key := range syslogKeys {
flag := "--" + key + "=" + inputs[key].Value
command = append(command, flag)
}
return strings.Join(command, " ")
}
func (m syslogCmdModel) Summary() string {
inputs := m.GetInputs()
labels := m.GetLabels()
keys := []string{"address", "protocol", "cert", "key", "format"}
return common.SummarizeSource(keys, inputs, labels)
}