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

Annotations Based Multi-Channel support #132

Closed
codenio opened this issue Jul 27, 2019 · 0 comments · Fixed by #138
Closed

Annotations Based Multi-Channel support #132

codenio opened this issue Jul 27, 2019 · 0 comments · Fixed by #138
Assignees
Milestone

Comments

@codenio
Copy link
Contributor

@codenio codenio commented Jul 27, 2019

Is your feature request related to a problem? Please describe.
Presently, Botkube sends all the notifs to a particular channel. An organisation with mulyiple teams governing individual services would require seperate notif channel to moniter their deployed services.

Describe the solution you'd like
Kubenetes resources when annotated with, for instance botkube.io/channel: frontend
Botkube reads them and sends all the notifs for the particular resource to the frontend channel.

This provides a way to classify notifications based on internal teams or workgroup by using the annotation data available in the resources.

@sanketsudake sanketsudake added this to the v0.9.0 milestone Aug 8, 2019
PrasadG193 added a commit that referenced this issue Aug 12, 2019
* Add Object Annotation filter

This commit, 
- enables filtering of events based on annotations present in objects at run time.
- annotation `botkube.io/disable: true` disables event notifications for the annotated object
- annotation `botkube.io/channel: <channel_name>` sends events notifications of the annotated object to the mentioned channel.
- adds func `ExtractAnnotations()`. It extract annotations from Event.InvolvedObject and adds them to event.Metadata.Annotations
- implements individual actions using internal functions.
- adds unit tests for internal functions.
- replaces Init() with InitialiseKubeClient() to decouple config.yaml and KubeClinet dependencies from unit testing

* Add build completion message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

2 participants