Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Granular and Extended Event Alerting #3

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 102 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,54 @@ You may also provide a values file instead:
rbac:
create: true
resourcesToWatch:
daemonset: true
deployment: false
pod: true
replicaset: false
replicationcontroller: false
services: true
secret: false
configmap: false
daemonset:
watch: true
events:
create: true
update: true
delete: false
deployment:
watch: true
events:
create: true
update: true
delete: false
pod:
watch: true
events:
create: true
update: true
delete: true
replicaset:
watch: true
events:
create: true
update: true
delete: false
replicationcontroller:
watch: true
events:
create: true
update: true
delete: false
services:
watch: true
events:
create: true
update: true
delete: false
secret:
watch: true
events:
create: true
update: true
delete: false
configmap:
watch: true
events:
create: true
update: true
delete: false
slack:
channel: '#YOUR_CHANNEL'
token: 'xoxb-YOUR_TOKEN'
Expand Down Expand Up @@ -73,15 +113,60 @@ To modify what notifications you get, update the `kubewatch` ConfigMap and turn

```
resource:
deployment: false
replicationcontroller: false
replicaset: false
daemonset: false
services: true
pod: true
secret: false
configmap: false
ingress: false
deployment:
watch: true
events:
create: true
update: true
delete: false
replicationcontroller:
watch: true
events:
create: true
update: true
delete: false
replicaset:
watch: true
events:
create: true
update: true
delete: true
daemonset:
watch: true
events:
create: true
update: true
delete: false
services:
watch: true
events:
create: true
update: true
delete: false
pod:
watch: true
events:
create: true
update: true
delete: false
secret:
watch: true
events:
create: true
update: true
delete: false
configmap:
watch: true
events:
create: true
update: true
delete: false
ingress:
watch: true
events:
create: true
update: true
delete: false
```

### Working with RBAC
Expand Down
60 changes: 48 additions & 12 deletions cmd/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,84 +36,120 @@ var resourceConfigCmd = &cobra.Command{
var b bool
b, err = cmd.Flags().GetBool("svc")
if err == nil {
conf.Resource.Services = b
conf.Resource.Services.Watch = b
conf.Resource.Services.Events.Create = b
conf.Resource.Services.Events.Update = b
conf.Resource.Services.Events.Delete = b
} else {
logrus.Fatal("svc", err)
}

b, err = cmd.Flags().GetBool("deployments")
if err == nil {
conf.Resource.Deployment = b
conf.Resource.Deployment.Watch = b
conf.Resource.Deployment.Events.Create = b
conf.Resource.Deployment.Events.Update = b
conf.Resource.Deployment.Events.Delete = b
} else {
logrus.Fatal("deployments", err)
}

b, err = cmd.Flags().GetBool("po")
if err == nil {
conf.Resource.Pod = b
conf.Resource.Pod.Watch = b
conf.Resource.Pod.Events.Create = b
conf.Resource.Pod.Events.Update = b
conf.Resource.Pod.Events.Delete = b
} else {
logrus.Fatal("po", err)
}

b, err = cmd.Flags().GetBool("rs")
if err == nil {
conf.Resource.ReplicaSet = b
conf.Resource.ReplicaSet.Watch = b
conf.Resource.ReplicaSet.Events.Create = b
conf.Resource.ReplicaSet.Events.Update = b
conf.Resource.ReplicaSet.Events.Delete = b
} else {
logrus.Fatal("rs", err)
}

b, err = cmd.Flags().GetBool("rc")
if err == nil {
conf.Resource.ReplicationController = b
conf.Resource.ReplicationController.Watch = b
conf.Resource.ReplicationController.Events.Create = b
conf.Resource.ReplicationController.Events.Update = b
conf.Resource.ReplicationController.Events.Delete = b
} else {
logrus.Fatal("rc", err)
}

b, err = cmd.Flags().GetBool("ns")
if err == nil {
conf.Resource.Namespace = b
conf.Resource.Namespace.Watch = b
conf.Resource.Namespace.Events.Create = b
conf.Resource.Namespace.Events.Update = b
conf.Resource.Namespace.Events.Delete = b
} else {
logrus.Fatal("ns", err)
}

b, err = cmd.Flags().GetBool("jobs")
if err == nil {
conf.Resource.Job = b
conf.Resource.Job.Watch = b
conf.Resource.Job.Events.Create = b
conf.Resource.Job.Events.Update = b
conf.Resource.Job.Events.Delete = b
} else {
logrus.Fatal("jobs", err)
}

b, err = cmd.Flags().GetBool("pv")
if err == nil {
conf.Resource.PersistentVolume = b
conf.Resource.PersistentVolume.Watch = b
conf.Resource.PersistentVolume.Events.Create = b
conf.Resource.PersistentVolume.Events.Update = b
conf.Resource.PersistentVolume.Events.Delete = b
} else {
logrus.Fatal("pv", err)
}

b, err = cmd.Flags().GetBool("ds")
if err == nil {
conf.Resource.DaemonSet = b
conf.Resource.DaemonSet.Watch = b
conf.Resource.DaemonSet.Events.Create = b
conf.Resource.DaemonSet.Events.Update = b
conf.Resource.DaemonSet.Events.Delete = b
} else {
logrus.Fatal("ds", err)
}

b, err = cmd.Flags().GetBool("secret")
if err == nil {
conf.Resource.Secret = b
conf.Resource.Secret.Watch = b
conf.Resource.Secret.Events.Create = b
conf.Resource.Secret.Events.Update = b
conf.Resource.Secret.Events.Delete = b
} else {
logrus.Fatal("secret", err)
}

b, err = cmd.Flags().GetBool("configmap")
if err == nil {
conf.Resource.ConfigMap = b
conf.Resource.ConfigMap.Watch = b
conf.Resource.ConfigMap.Events.Create = b
conf.Resource.ConfigMap.Events.Update = b
conf.Resource.ConfigMap.Events.Delete = b
} else {
logrus.Fatal("configmap", err)
}

b, err = cmd.Flags().GetBool("ing")
if err == nil {
conf.Resource.Ingress = b
conf.Resource.Ingress.Watch = b
conf.Resource.Ingress.Events.Create = b
conf.Resource.Ingress.Events.Update = b
conf.Resource.Ingress.Events.Delete = b
} else {
logrus.Fatal("ing", err)
}
Expand Down
Loading