Skip to content

Commit 3d1d1da

Browse files
author
Robusta Runner
committed
Add msteams to readme
Change all logging to logrus Allow changing log level Update the default image on readme
1 parent 55493a5 commit 3d1d1da

File tree

14 files changed

+61
-37
lines changed

14 files changed

+61
-37
lines changed

README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# Latest image
1515

1616
```
17-
us-central1-docker.pkg.dev/genuine-flight-317411/devel/kubewatch:v2.0
17+
us-central1-docker.pkg.dev/genuine-flight-317411/devel/kubewatch:v2.1
1818
```
1919

2020
# Usage
@@ -30,6 +30,7 @@ for resource changes and notifies them through webhooks.
3030
supported webhooks:
3131
- slack
3232
- slackwebhook
33+
- msteams
3334
- hipchat
3435
- mattermost
3536
- flock
@@ -505,6 +506,16 @@ $ kubewatch resource add --rc --po --svc
505506
$ kubewatch resource remove --rc --po --svc
506507
```
507508

509+
### Changing log level
510+
511+
In case you change the default log level, add an environment variable named `LOG_LEVEL` with value from `trace/debug/info/warning/error`
512+
513+
```yaml
514+
env:
515+
- name: LOG_LEVEL
516+
value: DEBUG
517+
```
518+
508519
# Build
509520
510521
### Using go

cmd/root.go

+16
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ func Execute() {
7272
func init() {
7373
cobra.OnInitialize(initConfig)
7474

75+
initLogger()
76+
7577
// Disable Help subcommand
7678
RootCmd.SetHelpCommand(&cobra.Command{
7779
Use: "no-help",
@@ -90,6 +92,20 @@ func init() {
9092
}
9193
}
9294

95+
func initLogger() {
96+
logLevel := os.Getenv("LOG_LEVEL")
97+
if logLevel != "" {
98+
logrus.Printf("Custom log level: %s", logLevel)
99+
parsedLevel, err := logrus.ParseLevel(logLevel)
100+
if err == nil {
101+
logrus.Printf("Setting custom log level to: %s", logLevel)
102+
logrus.SetLevel(parsedLevel)
103+
} else {
104+
logrus.Errorf("Illegal custom log level: %s. Ignoring custom log level", logLevel)
105+
}
106+
}
107+
}
108+
93109
// initConfig reads in config file and ENV variables if set.
94110
func initConfig() {
95111
if cfgFile != "" { // enable ability to specify config file via flag

pkg/client/run.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ limitations under the License.
1717
package client
1818

1919
import (
20-
"log"
21-
2220
"github.com/bitnami-labs/kubewatch/config"
2321
"github.com/bitnami-labs/kubewatch/pkg/controller"
2422
"github.com/bitnami-labs/kubewatch/pkg/handlers"
@@ -31,6 +29,7 @@ import (
3129
"github.com/bitnami-labs/kubewatch/pkg/handlers/slackwebhook"
3230
"github.com/bitnami-labs/kubewatch/pkg/handlers/smtp"
3331
"github.com/bitnami-labs/kubewatch/pkg/handlers/webhook"
32+
"github.com/sirupsen/logrus"
3433
)
3534

3635
// Run runs the event loop processing with given handler
@@ -67,7 +66,7 @@ func ParseEventHandler(conf *config.Config) handlers.Handler {
6766
eventHandler = new(handlers.Default)
6867
}
6968
if err := eventHandler.Init(conf); err != nil {
70-
log.Fatal(err)
69+
logrus.Fatal(err)
7170
}
7271
return eventHandler
7372
}

pkg/handlers/cloudevent/cloudevent.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package cloudevent
1818

1919
import (
2020
"fmt"
21-
"log"
21+
"github.com/sirupsen/logrus"
2222
"os"
2323

2424
"bytes"
@@ -95,11 +95,11 @@ func (m *CloudEvent) Handle(e event.Event) {
9595

9696
err := m.postMessage(message)
9797
if err != nil {
98-
log.Printf("%s\n", err)
98+
logrus.Printf("%s\n", err)
9999
return
100100
}
101101

102-
log.Printf("Message successfully sent to %s at %s ", m.Url, time.Now())
102+
logrus.Printf("Message successfully sent to %s at %s ", m.Url, time.Now())
103103
}
104104

105105
func (m *CloudEvent) prepareMessage(e event.Event) *CloudEventMessage {

pkg/handlers/flock/flock.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package flock
1818

1919
import (
2020
"fmt"
21-
"log"
21+
"github.com/sirupsen/logrus"
2222
"os"
2323

2424
"bytes"
@@ -92,11 +92,11 @@ func (f *Flock) Handle(e event.Event) {
9292

9393
err := postMessage(f.Url, flockMessage)
9494
if err != nil {
95-
log.Printf("%s\n", err)
95+
logrus.Printf("%s\n", err)
9696
return
9797
}
9898

99-
log.Printf("Message successfully sent to channel %s at %s", f.Url, time.Now())
99+
logrus.Printf("Message successfully sent to channel %s at %s", f.Url, time.Now())
100100
}
101101

102102
func checkMissingFlockVars(s *Flock) error {

pkg/handlers/hipchat/hipchat.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package hipchat
1818

1919
import (
2020
"fmt"
21-
"log"
21+
"github.com/sirupsen/logrus"
2222
"os"
2323

2424
hipchat "github.com/tbruyelle/hipchat-go/hipchat"
@@ -97,11 +97,11 @@ func (s *Hipchat) Handle(e event.Event) {
9797
_, err := client.Room.Notification(s.Room, &notificationRequest)
9898

9999
if err != nil {
100-
log.Printf("%s\n", err)
100+
logrus.Printf("%s\n", err)
101101
return
102102
}
103103

104-
log.Printf("Message successfully sent to room %s", s.Room)
104+
logrus.Printf("Message successfully sent to room %s", s.Room)
105105
}
106106

107107
func checkMissingHipchatVars(s *Hipchat) error {

pkg/handlers/mattermost/mattermost.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package mattermost
1818

1919
import (
2020
"fmt"
21-
"log"
21+
"github.com/sirupsen/logrus"
2222
"os"
2323

2424
"bytes"
@@ -104,11 +104,11 @@ func (m *Mattermost) Handle(e event.Event) {
104104

105105
err := postMessage(m.Url, mattermostMessage)
106106
if err != nil {
107-
log.Printf("%s\n", err)
107+
logrus.Printf("%s\n", err)
108108
return
109109
}
110110

111-
log.Printf("Message successfully sent to channel %s at %s", m.Channel, time.Now())
111+
logrus.Printf("Message successfully sent to channel %s at %s", m.Channel, time.Now())
112112
}
113113

114114
func checkMissingMattermostVars(s *Mattermost) error {

pkg/handlers/msteam/msteam.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import (
2020
"bytes"
2121
"encoding/json"
2222
"fmt"
23+
"github.com/sirupsen/logrus"
2324
"io/ioutil"
24-
"log"
2525
"net/http"
2626
"os"
2727

@@ -145,9 +145,9 @@ func (ms *MSTeams) Handle(e event.Event) {
145145
card.Sections = append(card.Sections, s)
146146

147147
if _, err := sendCard(ms, card); err != nil {
148-
log.Printf("%s\n", err)
148+
logrus.Printf("%s\n", err)
149149
return
150150
}
151151

152-
log.Printf("Message successfully sent to MS Teams")
152+
logrus.Printf("Message successfully sent to MS Teams")
153153
}

pkg/handlers/slack/slack.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package slack
1818

1919
import (
2020
"fmt"
21-
"log"
21+
"github.com/sirupsen/logrus"
2222
"os"
2323

2424
"github.com/slack-go/slack"
@@ -91,11 +91,11 @@ func (s *Slack) Handle(e event.Event) {
9191
slack.MsgOptionAttachments(attachment),
9292
slack.MsgOptionAsUser(true))
9393
if err != nil {
94-
log.Printf("%s\n", err)
94+
logrus.Printf("%s\n", err)
9595
return
9696
}
9797

98-
log.Printf("Message successfully sent to channel %s at %s", channelID, timestamp)
98+
logrus.Printf("Message successfully sent to channel %s at %s", channelID, timestamp)
9999
}
100100

101101
func checkMissingSlackVars(s *Slack) error {

pkg/handlers/slackwebhook/slackwebhook.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ package slackwebhook
3939

4040
import (
4141
"fmt"
42-
"log"
42+
"github.com/sirupsen/logrus"
4343
"os"
4444
"time"
4545

@@ -111,16 +111,16 @@ func (m *SlackWebhook) Handle(e event.Event) {
111111
IconEmoji: m.Emoji,
112112
}
113113

114-
log.Printf("slackwebhook-handle():Slackwebhook WebHookMessage: %s", webhookMessage.Text)
114+
logrus.Printf("slackwebhook-handle():Slackwebhook WebHookMessage: %s", webhookMessage.Text)
115115

116116
err := slack.PostWebhook(m.Slackwebhookurl, &webhookMessage)
117117

118118
if err != nil {
119-
log.Printf("slackwebhook-handle() Error: %s\n", err)
119+
logrus.Printf("slackwebhook-handle() Error: %s\n", err)
120120
return
121121
}
122122

123-
log.Printf("Message successfully sent to %s at %s. Message: %s", m.Slackwebhookurl, time.Now(), webhookMessage.Text)
123+
logrus.Printf("Message successfully sent to %s at %s. Message: %s", m.Slackwebhookurl, time.Now(), webhookMessage.Text)
124124
}
125125

126126
func checkMissingWebhookVars(s *SlackWebhook) error {

pkg/handlers/smtp/client.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"context"
2626
"crypto/tls"
2727
"fmt"
28-
"log"
2928
"math/rand"
3029
"mime"
3130
"mime/multipart"
@@ -220,7 +219,7 @@ func sendEmail(conf config.SMTP, msg string) error {
220219
return fmt.Errorf("write body buffer: %w", err)
221220
}
222221

223-
log.Printf("sending via %s:%s, to: %q, from: %q : %s ", host, port, conf.To, conf.From, msg)
222+
logrus.Printf("sending via %s:%s, to: %q, from: %q : %s ", host, port, conf.To, conf.From, msg)
224223
return nil
225224
}
226225

pkg/handlers/smtp/smtp.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ package smtp
2323

2424
import (
2525
"fmt"
26-
"log"
2726
"time"
2827

2928
"github.com/bitnami-labs/kubewatch/config"
@@ -73,7 +72,7 @@ func (s *SMTP) Init(c *config.Config) error {
7372
// Handle handles the notification.
7473
func (s *SMTP) Handle(e event.Event) {
7574
send(s.cfg, e.Message())
76-
log.Printf("Message successfully sent to %s at %s ", s.cfg.To, time.Now())
75+
logrus.Printf("Message successfully sent to %s at %s ", s.cfg.To, time.Now())
7776
}
7877

7978
func formatEmail(e event.Event) (string, error) {

pkg/handlers/webhook/webhook.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import (
2020
"crypto/tls"
2121
"crypto/x509"
2222
"fmt"
23+
"github.com/sirupsen/logrus"
2324
"io/ioutil"
24-
"log"
2525
"os"
2626

2727
"bytes"
@@ -86,11 +86,11 @@ func (m *Webhook) Init(c *config.Config) error {
8686
http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
8787
} else {
8888
if cert == "" {
89-
log.Printf("No webhook cert is given")
89+
logrus.Printf("No webhook cert is given")
9090
} else {
9191
caCert, err := ioutil.ReadFile(cert)
9292
if err != nil {
93-
log.Printf("%s\n", err)
93+
logrus.Printf("%s\n", err)
9494
return err
9595
}
9696
caCertPool := x509.NewCertPool()
@@ -109,11 +109,11 @@ func (m *Webhook) Handle(e event.Event) {
109109

110110
err := postMessage(m.Url, webhookMessage)
111111
if err != nil {
112-
log.Printf("%s\n", err)
112+
logrus.Printf("%s\n", err)
113113
return
114114
}
115115

116-
log.Printf("Message successfully sent to %s at %s ", m.Url, time.Now())
116+
logrus.Printf("Message successfully sent to %s at %s ", m.Url, time.Now())
117117
}
118118

119119
func checkMissingWebhookVars(s *Webhook) error {

tools/yannotated/yannotated.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ package main
44
import (
55
"flag"
66
"fmt"
7+
"github.com/sirupsen/logrus"
78
"go/ast"
89
"go/parser"
910
"go/token"
1011
"io"
11-
"log"
1212
"os"
1313
"strings"
1414

@@ -191,6 +191,6 @@ func main() {
191191
flag.Parse()
192192

193193
if err := mainE(flags); err != nil {
194-
log.Fatal(err)
194+
logrus.Fatal(err)
195195
}
196196
}

0 commit comments

Comments
 (0)