Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Notify = func(log utils.LogLine) error { var err error var message string ttmpl := textTemplate.New("message") ttmpl, err = ttmpl.Parse(plaintextTmpl) if err != nil { return err } var messageBuf bytes.Buffer err = ttmpl.Execute(&messageBuf, log) if err != nil { return err } message = utils.RemoveSpecialCharacters(messageBuf.String()) if len(message) > 1024 { message = message[:1024] } k8sevent := &corev1.Event{ TypeMeta: metav1.TypeMeta{ Kind: "Event", APIVersion: "v1beta1", }, ObjectMeta: metav1.ObjectMeta{ GenerateName: falcoTalon + ".", }, InvolvedObject: corev1.ObjectReference{ Kind: "Pod", Namespace: log.Objects["Namespace"], Name: log.Objects["Pod"], }, Reason: falcoTalon + ":" + log.Action + ":" + log.Status, Message: strings.ReplaceAll(message, `'`, `"`), Source: corev1.EventSource{ Component: falcoTalon, }, Type: corev1.EventTypeNormal, EventTime: metav1.NowMicro(), ReportingController: "falcosecurity.org/" + falcoTalon, ReportingInstance: falcoTalon, Action: falcoTalon + ":" + log.Action, } k8sclient := kubernetes.GetClient() _, err = k8sclient.CoreV1().Events(log.Objects["Namespace"]).Create(context.TODO(), k8sevent, metav1.CreateOptions{}) if err != nil { return err } return nil }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.