We have an exciting early release of Botkube, just in time for KubeCon! We've been working as fast as we can to get some great new features ready to release. Here's v0.15.0 of Botkube, the most modern ChatOps tool for Kubernetes!
v0.15.0 adds some great interactivity features aimed at application developers who may not be Kubernetes experts.
If you have any feature requests or bug reports, reach out to us on Slack or submit a Github issue
In this release, we focused on interactivity with Botkube and the kubectl executor. Some of the enhancements are currently Slack-specific using the additional interactive capabilities of the new Slack app. We plan to enhance other platforms with interactive features where technically feasible.
Interactive kubectl
If you're using the new Slack app, you can now use kubectl interactively. Simply run @botkube kubectl (or use the alias k or kc) and you will see an interactive kubectl command builder. Select the verb (get, in this example) and you can select the object type to get. Once you have selected those, based on context, you can select a namespace and, optionally, a specific object to act on. Leaving out the object will generally show the list of available objects. Once you've made your selections, you can see a preview of the constructed command. You can also specify a filter string to apply to the output (more about that later!) and click Run command. The command runs and you can see the output in the channel as usual.
This interactive kubectl tool is especially useful for developers and other users who want to see information about their applications but might not be Kubernetes and kubectl experts.
Actionable Events
If you're receiving events in the new Slack app, you can now run contextual actions right from the event message. When a pod error comes in, for example, you can run kubectl commands that are relevant to the pod object right from the "Run command" drop-down box. The command runs automatically without any typing and returns the output in the channel. This makes it quick an easy to start investigating your alerts.
Output Filtering
You can now filter the output of any command you run with Botkube, on any platform. Simply run the command with the - filter "string"
flag and you will only see the matching output. The filter flag does simple linewise string matching. Any line in the output with a matching string will be shown, lines without a match are discarded.
Interactive Output Filtering
Output filtering is even easier if you're using the new Slack app. When you run a command with a lot of output (>15 lines) you will see a Filter output box. If you type a string in the box and press enter, you will then see the output of the previous command filtered to only show lines matching the filter string. This is great for quickly sifting through logs of a problematic pod, for example.
Bug Fixes
We have also fixed a couple of small bugs in Botkube that were reported to us by users and found by us. You can see the full list of changes in the changelog.
We appreciate your bug reports and pull requests! If you notice a bug in BotKube, please report it as a GitHub issue and we are happy to collaborate with you on getting it resolved.
Feedback - We'd Love to Hear From You!
As always, we want to hear your feedback and ideas about Botkube. Help us plan the Botkube roadmap, get the features you'd like implemented, and get bugs fixed quickly.
You can talk to us in the Botkube GitHub issues, Botkube Slack community, or email our Product Leader at blair@kubeshop.io.