<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Blair Rampling</title>
    <description>The latest articles on DEV Community by Blair Rampling (@brampling).</description>
    <link>https://dev.to/brampling</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F974301%2F65d0b73f-f0ce-4343-904e-7e6582438618.png</url>
      <title>DEV Community: Blair Rampling</title>
      <link>https://dev.to/brampling</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brampling"/>
    <language>en</language>
    <item>
      <title>Botkube v0.17.0 Release Notes</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Thu, 12 Jan 2023 16:43:47 +0000</pubDate>
      <link>https://dev.to/kubeshop/botkube-v0170-release-notes-5hj6</link>
      <guid>https://dev.to/kubeshop/botkube-v0170-release-notes-5hj6</guid>
      <description>&lt;p&gt;Botkube v0.17.0 is here, and it's huge! We've introduced a plugin system for sources and executors along with the first plugin for Helm. Botkube is the most modern &lt;a href="http://botkube.io" rel="noopener noreferrer"&gt;ChatOps tool for Kubernetes&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;This release is a major upgrade for Botkube. Kubernetes users are embracing all kinds of new tools and technologies for their application delivery workflows. GitOps and other DevOps tooling is changing the way Kubernetes is managed and monitored and automating a lot of the traditional processes. We wanted to go beyond the Kubernetes basics of monitoring the Kubernetes event stream and running kubectl commands. We decided to do that by implementing a plugin system that allows anyone to build a plugin for Botkube to add sources and executors.&lt;/p&gt;

&lt;p&gt;With the addition of plugins in v0.17.0 combined with &lt;a href="https://docs.botkube.io/next/configuration/action" rel="noopener noreferrer"&gt;actions&lt;/a&gt;, which were added in &lt;a href="https://botkube.io/blog/botkube-v016-release-notes" rel="noopener noreferrer"&gt;v0.16.0&lt;/a&gt;, Botkube gains the ability to tie almost any tools together in the Kubernetes/CNCF ecosystem. Botkube is growing into an API automation engine that can listen for events from any source and respond with automated actions via any executor, all while reporting in to channels in your communication platform.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any feature requests or bug reports, reach out to us on &lt;a href="http://join.botkube.io" rel="noopener noreferrer"&gt;Slack&lt;/a&gt; or submit a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;Github issue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Plugin System
&lt;/h2&gt;

&lt;p&gt;We have introduced a plugin system to Botkube in v0.17.0. This allows anyone to write new plugins for sources and executors and those plugins can be published for other Botkube users to install and use. We'll be leading the way with our own plugins, including the first executor plugin included in this release.&lt;/p&gt;

&lt;p&gt;Botkube has two ways of interacting with APIs and other tools, sources and executors. Sources are event sources, so any tool that sends events or notifications can be integrated into Botkube and those events and notifications can be sent to communication channels based on the configured source bindings. Kubernetes native events are an example of a source and have been included in Botkube since the beginning. Executors are used to run commands from other tools from within a chat channel. The output of the command is then returned back to the channel where the command was run and can be filtered if needed. The original executor in Botkube is kubectl, and we have added a helm plugin with this release.&lt;/p&gt;

&lt;p&gt;We will be publishing documentation and tutorials on the Botkube plugin system soon so you can design and create your own plugins. We are also working on additional plugins including the first new source plugin for Prometheus.&lt;/p&gt;

&lt;h2&gt;
  
  
  Helm Plugin
&lt;/h2&gt;

&lt;p&gt;Along with the plugin system, we have introduced Helm as the first executor plugin for Botkube. The Helm plugin allows you to run Helm commands right from your communication platform. The Botkube Helm plugin provides a subset of the most useful Helm commands, you can list installed releases, rollback upgrades, and even install charts and uninstall releases.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgekxbtcq3kcy3menjvyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgekxbtcq3kcy3menjvyh.png" alt="Botkube running a Helm command in Slack" width="800" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine seeing an alert in your communications platform that a deployment was updated but something went wrong and the new release is failing. You can check the application pod logs, the helm release status, then run &lt;code&gt;@botkube helm rollback &amp;lt;release&amp;gt;&lt;/code&gt; and fix the problem without ever leaving the chat!&lt;/p&gt;

&lt;p&gt;See the &lt;a href="https://docs.botkube.io/next/configuration/executor/helm" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; for how to enable and use the Helm plugin. Much like the kubectl executor, Helm is disabled by default and when enabled, only allows read-only operations by default. You can enable write actions if you want, and you can even segregate those to specific, more restricted channels in your communication platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubectl Prefix Required
&lt;/h2&gt;

&lt;p&gt;The kubectl executor was the only executor available in older versions of Botkube. With the addition of the Botkube plugin system and additional executor plugins, kubectl has company. You now need to specify the executor when running commands with Botkube. For kubectl this would be something like &lt;code&gt;@botkube kubectl get pods&lt;/code&gt;, and we've even added the aliases &lt;code&gt;@botkube k&lt;/code&gt; and &lt;code&gt;@botkube kc&lt;/code&gt; to save you some typing. For Helm it would look like &lt;code&gt;@botkube helm list&lt;/code&gt;. We added a notification about this to the help message in Botkube v0.16.0, but as of v0.17.0 the implied kubectl (i.e. &lt;code&gt;@botkube get pods&lt;/code&gt;) will no longer work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Botkube Command Tidying
&lt;/h2&gt;

&lt;p&gt;There were some inconsistencies in how Botkube commands were structured in previous versions. We put some effort into unifying the command structure. Now all Botkube commands follow the same &lt;code&gt;@botkube &amp;lt;verb&amp;gt; &amp;lt;object&amp;gt;&lt;/code&gt; structure. For example: &lt;code&gt;@botkube notifier start&lt;/code&gt; is now changed to &lt;code&gt;@botkube enable notifications&lt;/code&gt;. You can see a list of all of the changed commands in the &lt;a href="https://github.com/kubeshop/botkube/releases/tag/v0.17.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bug Fixes
&lt;/h2&gt;

&lt;p&gt;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 &lt;a href="https://github.com/kubeshop/botkube/releases/tag/v0.17.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We appreciate your bug reports and pull requests! If you notice a bug in Botkube, please report it as a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt; and we are happy to collaborate with you on getting it resolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback - We’d Love to Hear From You!
&lt;/h2&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;p&gt;You can talk to us in the Botkube &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issues&lt;/a&gt;, Botkube &lt;a href="http://join.botkube.io/" rel="noopener noreferrer"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>datascience</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Getting Started with the New Botkube Slack App</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Wed, 14 Dec 2022 15:18:08 +0000</pubDate>
      <link>https://dev.to/kubeshop/getting-started-with-the-new-botkube-slack-app-4ejg</link>
      <guid>https://dev.to/kubeshop/getting-started-with-the-new-botkube-slack-app-4ejg</guid>
      <description>&lt;p&gt;The &lt;a href="https://docs.botkube.io/installation/slack/"&gt;new Botkube Slack app&lt;/a&gt; provides more great interactive features and better security when compared to the &lt;a href="https://docs.botkube.io/0.15/installation/slack/"&gt;legacy Botkube Slack app&lt;/a&gt;. We announced the new socket mode Slack app in the &lt;a href="https://botkube.io/blog/botkube-v014-release-notes#new-botkube-slack-app"&gt;Botkube v0.14.0 release notes&lt;/a&gt;. The new Slack app has some specific requirements and a new installation process, so let's have a look at how to get started with the most modern &lt;a href="http://botkube.io"&gt;ChatOps tool for Kubernetes!&lt;/a&gt;. You can also use the Botkube &lt;a href="https://docs.botkube.io/installation/slack/"&gt;installation documentation&lt;/a&gt; to get started, but this post is to give you more context about the changes to the new app and some caveats to watch out for.&lt;/p&gt;

&lt;p&gt;This blog post assumes that we're starting a completely new Botkube installation.&lt;/p&gt;

&lt;p&gt;Requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Slack workspace where you have permission to install apps and create channels&lt;/li&gt;
&lt;li&gt;A Kubernetes cluster where you have access to install Botkube &lt;/li&gt;
&lt;li&gt;Working kubectl and helm installations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multi-cluster caveat: The architecture of socket-based Slack apps is different from the older Slack app. If you are using Botkube executors (e.g. kubectl commands) and have multiple Kubernetes clusters, you need to install a Botkube Slack app for each cluster. This is required so that the Slack to Botkube connections go to the right place. We recommend you set the name of each app to reflect the cluster it will connect to in the next steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing the Slack App in your workspace
&lt;/h2&gt;

&lt;p&gt;Let's go through the initial steps for installing the socket-based Slack app itself in your Slack workspace.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the &lt;a href="https://api.slack.com/apps"&gt;Slack App Console&lt;/a&gt; and click Create an App or Create New App.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click "From an app manifest" as we will use the Botkube-provided manifest for the new app.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ECLPJuEs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9avcjmxcr4ry888tbe8j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ECLPJuEs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9avcjmxcr4ry888tbe8j.png" alt="Creating an app from scratch" width="496" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select the workspace into which you want to install the app and click Next.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can find the latest app manifests &lt;a href="https://docs.botkube.io/installation/slack/#create-slack-app"&gt;in the Botkube documentation&lt;/a&gt;. There are three different YAML manifests available. The manifests vary based on whether you want to use Botkube in a public Slack channel, a private channel, or both. This is one of the new improved security features that limits the scope of the token that Botkube uses. This is an example of the manifest for both public and private channels:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;display_information:
 name: Botkube
 description: Botkube
 background_color: "#a653a6"
features:
 bot_user:
   display_name: Botkube
   always_online: false
oauth_config:
 scopes:
   bot:
     - channels:read
     - groups:read
     - app_mentions:read
     - chat:write
     - files:write
settings:
 event_subscriptions:
   bot_events:
     - app_mention
 interactivity:
   is_enabled: true
 org_deploy_enabled: false
 socket_mode_enabled: true
 token_rotation_enabled: false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are using Botkube with multiple Kubernetes clusters as mentioned in the earlier caveat, set the name and description fields to something specific to the cluster this app will manage. This will make it clear in Slack itself which bot maps to which cluster. Paste this YAML into the app manifest dialog and click Next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XosAOZHI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ney2uozighp3qqrq1w8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XosAOZHI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ney2uozighp3qqrq1w8.png" alt="Entering the YAML app manifest" width="495" height="736"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You now have a chance to review the app settings. Click the Create button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the Install to Workspace button to add this newly created app to the Slack Workspace.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xOc7Psar--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtwydjrg158u79snftad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xOc7Psar--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtwydjrg158u79snftad.png" alt="Installing the app to the workspace" width="669" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review the permissions and click Allow. The app is now installed in your Slack workspace.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8-y9hCbN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/se7ychm0hyauq0wyrbm8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8-y9hCbN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/se7ychm0hyauq0wyrbm8.png" alt="Granting Slack permissions to the app" width="541" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Botkube Slack App Tokens
&lt;/h2&gt;

&lt;p&gt;Now that the Slack app is installed in your workspace, you can proceed to installing Botkube in your Kubernetes cluster. First, you need two tokens, a bot token and an app-level token. This is another additional security measure in the new Slack app. You can see details on these token types in the &lt;a href="https://api.slack.com/authentication/token-types"&gt;Slack documentation&lt;/a&gt;. You will use these tokens in the Botkube installation process.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;From the Slack app page where you left off after installing the app in your workspace, select OAuth &amp;amp; Permissions in the left navigation bar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy the Bot User OAuth Token shown here.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZXZengSB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9l1g2u1tdr4r9t8b1xwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZXZengSB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9l1g2u1tdr4r9t8b1xwl.png" alt="Copy the bot user token" width="669" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click Basic Information in the left navigation bar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scroll down to the App-Level Tokens section and click the Generate Token and Scopes button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the token an appropriate name and click Add Scope.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the connections:write scope, then click the Generate button.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sfZ7pGSb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/czlq3vqxr61ftkik7h64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sfZ7pGSb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/czlq3vqxr61ftkik7h64.png" alt="Ensure the connections:write scope is selected" width="502" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copy the created token and click Done.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Invite Botkube to a channel
&lt;/h2&gt;

&lt;p&gt;Now that everything is set up for the Slack app, you need to invite the Botkube bot to a Slack channel. This is the channel that you will use for notifications and command execution and is required for the Botkube configuration before it is installed in Kubernetes.&lt;/p&gt;

&lt;p&gt;You should see a new Slack bot in your workspace under "Apps" with the name that you specified in the manifest. You can create a new Slack channel or use an existing one. Whether the channel is public or private, make sure that you used the correct manifest earlier when creating the app. If the wrong manifest was used you will see error messages in the Botkube logs about the scope.&lt;/p&gt;

&lt;p&gt;Invite the bot to the channel. The easiest way to do this is to open the Slack channel and send a message to @. You will be prompted to add the bot to the channel, click the Add to Channel button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tKidAnSV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w063dsp70r6nsi5s3y9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tKidAnSV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w063dsp70r6nsi5s3y9j.png" alt="Add the Botkube bot to the Slack channel" width="880" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing Botkube
&lt;/h2&gt;

&lt;p&gt;We now have everything we need to configure and install Botkube. We will use helm to install it in a Kubernetes cluster. First, configure some environment variables that we will pass to the &lt;code&gt;helm install&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;The Slack app bot token from earlier:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export SLACK_API_BOT_TOKEN="xoxb-{botToken}"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The Slack app-level token from earlier:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export SLACK_API_APP_TOKEN="xapp-{appToken}"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The cluster name that will be used when interacting with this instance of Botkube. Notifications and other interactive commands will use this name to reference this cluster:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export CLUSTER_NAME={cluster_name}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Set to true to allow execution of kubectl commands, false to make this bot instance for event notifications only:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export ALLOW_KUBECTL={allow_kubectl}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Specify the Slack channel name where you invited the bot earlier. Make sure you do not include the # in the channel name:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export SLACK_CHANNEL_NAME={channel_name}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now that those five environment variables are set, make sure you have the Botkube helm repository configured:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;helm repo add botkube https://charts.botkube.io&lt;/code&gt;&lt;br&gt;
&lt;code&gt;helm repo update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now you can simply run the helm install command shown here, or copy from the &lt;a href="https://docs.botkube.io/installation/slack/#install-botkube-backend-in-kubernetes-cluster"&gt;documentation&lt;/a&gt;. Note that this installs version v0.16.0 of Botkube which is the latest version as of this article:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install --version v0.16.0 botkube --namespace botkube --create-namespace \
--set communications.default-group.socketSlack.enabled=true \
--set communications.default-group.socketSlack.channels.default.name=${SLACK_CHANNEL_NAME} \
--set communications.default-group.socketSlack.appToken=${SLACK_API_APP_TOKEN} \
--set communications.default-group.socketSlack.botToken=${SLACK_API_BOT_TOKEN} \
--set settings.clusterName=${CLUSTER_NAME} \
--set executors.kubectl-read-only.kubectl.enabled=${ALLOW_KUBECTL} \
botkube/botkube
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If everything goes according to plans, you will see Botkube start up in the Slack channel and print the initial interactive help menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LpONUQeg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6m7sh15sp19k6u8w3mtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LpONUQeg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6m7sh15sp19k6u8w3mtc.png" alt="Botkube interactive help shows Botkube is working" width="880" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Botkube is now ready to go!&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the New Slack App
&lt;/h2&gt;

&lt;p&gt;The new Botkube Slack app adds some great features that weren't previously available, particularly around interactive event response. You saw the interactive help at the end of the installation process in the previous section. You can click the buttons in the interactive help to run the commands as shown. You can also make configuration changes interactively, try clicking the Adjust notifications button and you can set notification settings using a dialog rather than editing YAML.&lt;/p&gt;

&lt;p&gt;Another interactive feature is the Run command option shown with events. Any time an event is sent to the channel, you can select a contextual command from the Run command drop-down box. The list of commands will be only those relevant to the resource type in the event. Selecting a command will use the kubectl executor to run the command against the specific resource in the event. This saves typing out the kubectl commands by hand if you want to quickly get some information about a resource, like &lt;code&gt;describe&lt;/code&gt; a new resource or get &lt;code&gt;logs&lt;/code&gt; on a pod with errors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sa2UDBHu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m2ne2ygoxlcpexxwxu3b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sa2UDBHu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m2ne2ygoxlcpexxwxu3b.png" alt="Run a command directly from an event message" width="880" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another interactive feature can be found by running &lt;code&gt;@botkube kubectl&lt;/code&gt; with no options. This starts the interactive command generator. This presents you with a list of verbs that you can run and as you make selections, automatically offers the contextually-relevant options in drop-down boxes until you have built a complete command. You can then click the Run command button and see the resulting output. You can also filter the output by specifying a match string in the Filter output box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZTDBNOEK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xofyj3krtuch2x4asz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZTDBNOEK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xofyj3krtuch2x4asz0.png" alt="Build a kubectl command interactively" width="880" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Could Go Wrong?
&lt;/h2&gt;

&lt;p&gt;There are several steps in the process to look out for. These are where things could go wrong and you could end up with a Botkube installation that doesn't work. Always check the Botkube pod logs for details on why something might not be working, but here are a few things to look out for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Slack App Manifest Scope: When using the YAML app manifest to create the Slack app, make sure you use the &lt;a href="https://docs.botkube.io/installation/slack/#create-slack-app"&gt;appropriate version&lt;/a&gt; for public, private, or both Slack channel types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slack app-level token scope: The app-level token needs to have the &lt;code&gt;connections:write&lt;/code&gt; scope assigned.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multiple clusters: When using Botkube to execute commands in multiple Kubernetes clusters, you need to install a Slack app for each cluster to ensure the commands are routed to the correct one. If you are using Botkube for &lt;strong&gt;notifications only&lt;/strong&gt; and have command execution disabled, you can get away with a single app for multiple clusters. If you ever do want to enable command executions though, you will need to revert to the Slack app per cluster model.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Incorrect tokens: Make sure your bot and app-level tokens are correct and match those in the Slack App Console.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slack channel configuration: Make sure you omit the # when specifying the Slack channel that Botkube will use.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Feedback - We’d Love to Hear From You!
&lt;/h2&gt;

&lt;p&gt;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. &lt;br&gt;
You can talk to us in the Botkube &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;GitHub issues&lt;/a&gt;, Botkube &lt;a href="http://join.botkube.io/"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>chatops</category>
      <category>botkube</category>
    </item>
    <item>
      <title>Botkube v0.16.0 Release Notes</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Thu, 01 Dec 2022 17:22:06 +0000</pubDate>
      <link>https://dev.to/kubeshop/botkube-v0160-release-notes-4kl1</link>
      <guid>https://dev.to/kubeshop/botkube-v0160-release-notes-4kl1</guid>
      <description>&lt;p&gt;The latest version of Botkube is here, v0.16.0. Like peanut butter and chocolate, we've brought together two great parts of Botkube to make your life working with Kubernetes even &lt;del&gt;tastier&lt;/del&gt; easier. Botkube is the most modern &lt;a href="http://botkube.io"&gt;ChatOps tool for Kubernetes&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;We've addressed two things that have been frequently requested by users. First, we've added a more configurable filter system for events, meaning you can better filter what kind of events you want to see. Second, we've added actions, which can be configured to run commands automatically when an event is received and the command output is included with the event. These features work behind the scenes in the Botkube engine and are not specific to any communication platform.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any feature requests or bug reports, reach out to us on &lt;a href="http://join.botkube.io"&gt;Slack&lt;/a&gt; or submit a &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;Github issue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Filters
&lt;/h1&gt;

&lt;p&gt;Botkube now has additional event and resource constraints that you can use to filter events when you're defining sources. Sources define the event stream you want to watch and are then bound to a communication channel that will receive all matching events.&lt;/p&gt;

&lt;p&gt;In earlier versions of Botkube you could create sources based on Kubernetes resource type (e.g. Pod, ConfigMap, etc.), Namespace, and event type (e.g. Create, Delete, Error). This is useful for getting all events of a certain type in a namespace, for example, but in some cases still results in a lot of events that aren't relevant to all users in a channel. In addition, this doesn't provide the granular level of control needed to automatically act on events (see Actions below!).&lt;/p&gt;

&lt;p&gt;In Botkube v0.16.0 we've added the following &lt;a href="https://docs.botkube.io/next/configuration/source#kubernetes-resource-events"&gt;event filter criteria&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;labels and annotations: These filters simply have to (exactly) match the labels or annotations applied to a resource in order for the event to be logged.&lt;/li&gt;
&lt;li&gt;name: This is a Regex field to match resource names. Events pertaining to any resource that matches the specified pattern will be logged.&lt;/li&gt;
&lt;li&gt;event.reason and event.message: These are Regex fields to match the event reason and event message. Events matching the specified pattern will be logged.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The new filter criteria have lots of great uses. You may have a suspect resource like a flaky pod, for example. Now you can create a "flaky pod" Slack channel and send error events pertaining to that suspect pod with the specific failure reason to that Slack channel and monitor when and how often those failures occur.&lt;br&gt;
They also enable Botkube actions!&lt;/p&gt;

&lt;h1&gt;
  
  
  Actions
&lt;/h1&gt;

&lt;p&gt;Along with the new, more granular filter options, we have introduced &lt;a href="https://docs.botkube.io/next/configuration/action"&gt;actions&lt;/a&gt; to Botkube. Actions allow you to automatically trigger a specific command when a matching event occurs. You can have more context for an event delivered directly to your communication channels with no additional manual work.&lt;/p&gt;

&lt;p&gt;Actions consist of two parts, the command and the source binding. The command is the specific executor command that will be run by the action. In v0.16.0 only the kubectl executor is available but more will be coming soon. The command itself is defined using the &lt;a href="https://golang.org/pkg/text/template/"&gt;Go template&lt;/a&gt; syntax and allows you to pass the event metadata in order to build the command you need. The source binding specifies the event source that will trigger the action and uses the same sources that can be bound to communication channels. These sources use the event filters discussed earlier.&lt;/p&gt;

&lt;p&gt;When a source is bound to both an action and a communication channel, the results of the action command are delivered to the communication channel along with the original event. Actions can be used to get information using the default read-only kubectl configuration. If you want, you can even configure the executor to allow other actions beyond those that are read-only. You could have Botkube restart a hang pod automatically, for example, and the results will be sent to the communication channel along with the event.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--khpB7Z4f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5asysx249fs348e1sio0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--khpB7Z4f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5asysx249fs348e1sio0.png" alt="A Botkube action at work" width="880" height="795"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are two preconfigured actions included with Botkube to help you get started quickly, they are disabled by default:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;describe-created resource: This action runs the &lt;code&gt;kubectl describe&lt;/code&gt; command against the resource associated with an event. It is bound to the default k8s-create-events source by default. When enabled, the command will be run each time a resource is created and the event is logged by the k8s-create-events source. The results of the kubectl describe command will then be attached to the event and delivered to any channel to which the k8s-create-events source is bound.&lt;/li&gt;
&lt;li&gt;show-logs-on-error: This action runs &lt;code&gt;kubectl logs&lt;/code&gt; against a resource. It is bound to the k8s-err-with-logs-events source by default. Any event captured by this source (triggered by error event types) will include the output of the &lt;code&gt;kubectl logs&lt;/code&gt; command and be delivered to any communication channel to which it is bound.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Legacy Slack App Deprecation
&lt;/h1&gt;

&lt;p&gt;With the release of the &lt;a href="https://docs.botkube.io/installation/socketslack/"&gt;new Socket-mode Slack app&lt;/a&gt; in &lt;a href="https://botkube.io/blog/botkube-v014-release-notes#new-botkube-slack-app"&gt;Botkube v0.14.0&lt;/a&gt;, the legacy Slack app is being deprecated. In the next version (v0.17.0), it will no longer be supported in the Botkube app and Botkube will need to be configured to use the new Slack app.&lt;/p&gt;

&lt;p&gt;This change is happening because Botkube requires the socket-mode Slack app for the new &lt;a href="https://botkube.io/blog/botkube-v015-release-notes#interactive-kubectl"&gt;interactivity features&lt;/a&gt; we introduced in Botkube v0.15.0. We plan to put all of our development efforts into this new app so we can continue to build great interactive features. In addition, Slack is recommending the migration from the legacy app type to socket mode as it introduces more granular permissions for bot users and OAuth tokens. This means you have more control over what Botkube and other Slack apps can do in your Slack workspace.&lt;/p&gt;

&lt;p&gt;Slack will be unapproving the legacy Botkube Slack app in their Slack App Directory on December 21, 2022. After this date you will still be able to install the legacy Slack app using the Add to Slack button in the &lt;a href="https://docs.botkube.io/0.15/installation/slack/"&gt;legacy Slack installation&lt;/a&gt; guide but you will receive a warning that the app is not authorized by the Slack App Directory. You will need to accept this warning to proceed if you want to keep using the legacy Slack app with Botkube v0.16 or earlier. &lt;/p&gt;

&lt;h1&gt;
  
  
  Bug Fixes
&lt;/h1&gt;

&lt;p&gt;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 &lt;a href="https://github.com/kubeshop/botkube/releases/tag/v0.16.0"&gt;changelog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We appreciate your bug reports and pull requests! If you notice a bug in Botkube, please report it as a &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;GitHub issue&lt;/a&gt; and we are happy to collaborate with you on getting it resolved.&lt;/p&gt;

&lt;h1&gt;
  
  
  Feedback - We’d Love to Hear From You!
&lt;/h1&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;p&gt;You can talk to us in the Botkube &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;GitHub issues&lt;/a&gt;, Botkube &lt;a href="http://join.botkube.io/"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>chatops</category>
      <category>botkube</category>
    </item>
    <item>
      <title>Botkube v0.15.0 Release Notes</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Thu, 17 Nov 2022 13:44:37 +0000</pubDate>
      <link>https://dev.to/kubeshop/botkube-v0150-release-notes-nb9</link>
      <guid>https://dev.to/kubeshop/botkube-v0150-release-notes-nb9</guid>
      <description>&lt;p&gt;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 &lt;a href="http://botkube.io" rel="noopener noreferrer"&gt;ChatOps tool for Kubernetes&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;v0.15.0 adds some great interactivity features aimed at application developers who may not be Kubernetes experts.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any feature requests or bug reports, reach out to us on &lt;a href="http://join.botkube.io" rel="noopener noreferrer"&gt;Slack&lt;/a&gt; or submit a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;Github issue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="https://botkube.io/docs/installation/socketslack/" rel="noopener noreferrer"&gt;new Slack app&lt;/a&gt;. We plan to enhance other platforms with interactive features where technically feasible.&lt;/p&gt;

&lt;h1&gt;
  
  
  Interactive kubectl
&lt;/h1&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccl3hqj90zg5e0dra5bp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccl3hqj90zg5e0dra5bp.png" alt="Image description" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Actionable Events
&lt;/h1&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qzxy2q1duxa8cc9lqtd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qzxy2q1duxa8cc9lqtd.png" alt="Image description" width="800" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Output Filtering
&lt;/h1&gt;

&lt;p&gt;You can now filter the output of any command you run with Botkube, on any platform. Simply run the command with the &lt;code&gt; - filter "string"&lt;/code&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwr656rc8wlbw3s9uyr1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwr656rc8wlbw3s9uyr1h.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Interactive Output Filtering
&lt;/h1&gt;

&lt;p&gt;Output filtering is even easier if you're using the &lt;a href="https://botkube.io/docs/installation/socketslack/" rel="noopener noreferrer"&gt;new Slack app&lt;/a&gt;. When you run a command with a lot of output (&amp;gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfc043y6y1upwt5cw6x2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfc043y6y1upwt5cw6x2.png" alt="Image description" width="800" height="818"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Bug Fixes
&lt;/h1&gt;

&lt;p&gt;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 &lt;a href="https://github.com/kubeshop/botkube/releases/tag/v0.15.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We appreciate your bug reports and pull requests! If you notice a bug in BotKube, please report it as a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt; and we are happy to collaborate with you on getting it resolved.&lt;/p&gt;

&lt;h1&gt;
  
  
  Feedback - We'd Love to Hear From You!
&lt;/h1&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;You can talk to us in the Botkube &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issues&lt;/a&gt;, Botkube &lt;a href="http://join.botkube.io/" rel="noopener noreferrer"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>welcome</category>
    </item>
    <item>
      <title>Botkube v0.14 Release Notes</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Thu, 17 Nov 2022 13:41:05 +0000</pubDate>
      <link>https://dev.to/kubeshop/botkube-v014-release-notes-29h1</link>
      <guid>https://dev.to/kubeshop/botkube-v014-release-notes-29h1</guid>
      <description>&lt;p&gt;In the previous release of Botkube we promised to accelerate the pace of development and release. Well, here is another new release of Botkube, the most modern &lt;a href="http://botkube.io" rel="noopener noreferrer"&gt;ChatOps tool for Kubernetes&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;BotKube v0.14.0 addresses a number of community-suggested issues and adds some great features to help you control the notification levels you receive from your Kubernetes clusters.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any feature requests or bug reports, reach out to us on &lt;a href="http://join.botkube.io" rel="noopener noreferrer"&gt;Slack&lt;/a&gt; or submit a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;Github issue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this release, we focused on improvements to the Botkube onboarding experience and notification tuning, persistent settings, and bug fixes. 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.&lt;/p&gt;

&lt;h1&gt;
  
  
  Dynamic notification setting changes
&lt;/h1&gt;

&lt;p&gt;We've received frequent feedback from users about the notification settings in Botkube. By default, Botkube monitors and shows all Kubernetes events in a configured communication channel. Previously, this could only be configured in the YAML configuration or during the Helm installation/upgrade.&lt;/p&gt;

&lt;p&gt;You can now also configure notification settings right from the Botkube interface in your communication platform. Using the command @Botkube edit SourceBindings you can select the notifications you want to receive. After choosing the notifications, the configuration is dynamically updated with an automatic brief restart of Botkube.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykhz0o3elf3ifpnwno5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykhz0o3elf3ifpnwno5w.png" alt="Image description" width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  New Botkube Slack App
&lt;/h1&gt;

&lt;p&gt;We have created a brand new Botkube Slack app. The new app uses the Slack Socket Mode which provides a much more robust platform for interactivity and uses the new Slack permissions model for enhanced security.&lt;/p&gt;

&lt;p&gt;You will see many enhancements to Botkube in Slack in this and upcoming releases. For example, you can use the interactive selector to change the notification settings mentioned earlier. Just run @Botkube, edit SourceBindings without specifying the notification level, and you can select the sources from an interactive dialog.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvlcvkip15aiwi32muqi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvlcvkip15aiwi32muqi.png" alt="Image description" width="720" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The installation process has changed for the new Slack app. See the &lt;a href="https://botkube.io/docs/installation/socketslack" rel="noopener noreferrer"&gt;installation guide&lt;/a&gt; to get started with the enhanced interactive experience.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://botkube.io/docs/installation/slack/" rel="noopener noreferrer"&gt;legacy Slack app&lt;/a&gt; is still available, but will be deprecated in future versions.&lt;/p&gt;

&lt;h1&gt;
  
  
  Improved Help
&lt;/h1&gt;

&lt;p&gt;The @Botkube help command has been enhanced when using the new Botkube Slack app. Run @Botkube help and you will see an interactive help message. You can click any of the buttons in the interactive help to run the commands, change settings, and more.&lt;/p&gt;

&lt;p&gt;This new, interactive help will enable new Botkube users to get up and running even faster. You can also send us feedback and access documentation and additional external help resources directly from the interactive help.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwon8evcasv7463y0qxji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwon8evcasv7463y0qxji.png" alt="Image description" width="720" height="780"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Persistent Settings
&lt;/h1&gt;

&lt;p&gt;Changes to settings made from the Botkube interface, such as notifier start/stop, notification level settings, and filter enable/disable now persist across Botkube restarts. In earlier versions, these settings would reset to the settings in the Botkube configuration file upon restarting the Botkube pod.&lt;/p&gt;

&lt;h1&gt;
  
  
  Mattermost v7 Support
&lt;/h1&gt;

&lt;p&gt;Botkube now supports Mattermost version 7.x! See the &lt;a href="https://botkube.io/docs/installation/mattermost" rel="noopener noreferrer"&gt;installation guide for Mattermost&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h1&gt;
  
  
  Bug Fixes
&lt;/h1&gt;

&lt;p&gt;We have fixed several bugs in BotKube that were reported to us by users. We also spent some time refactoring code and increasing test coverage to improve the quality of BotKube. You can see the list of bug fixes in the &lt;a href="https://github.com/kubeshop/botkube/releases/tag/v0.14.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We appreciate your bug reports and pull requests! If you notice a bug in BotKube, please report it as a &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt; and we are happy to collaborate with you on getting it resolved.&lt;/p&gt;

&lt;h1&gt;
  
  
  Feedback - We'd Love to Hear From You!
&lt;/h1&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;You can talk to us in the BotKube &lt;a href="https://github.com/kubeshop/botkube/issues" rel="noopener noreferrer"&gt;GitHub issues&lt;/a&gt;, BotKube &lt;a href="http://join.botkube.io/" rel="noopener noreferrer"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Botkube v0.13 Release Notes</title>
      <dc:creator>Blair Rampling</dc:creator>
      <pubDate>Thu, 17 Nov 2022 13:31:55 +0000</pubDate>
      <link>https://dev.to/kubeshop/botkube-v013-release-notes-1dnp</link>
      <guid>https://dev.to/kubeshop/botkube-v013-release-notes-1dnp</guid>
      <description>&lt;p&gt;BotKube, welcome to Kubeshop! We're happy to have the most modern &lt;a href="http://botkube.io"&gt;ChatOps tool for Kubernetes&lt;/a&gt; join the team.&lt;/p&gt;

&lt;p&gt;BotKube v0.13.0 is the first release under Kubeshop and the newly formed dedicated Botkube team. We are picking up the pace of development and you can expect to see more frequent BotKube releases with lots of new, great features and bug fixes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any feature requests or bug reports, reach out to us on &lt;a href="http://join.botkube.io"&gt;Slack&lt;/a&gt; or submit a &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;Github issue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this release, we focused on multi-channel support, bug fixes, and optimizing the BotKube release pipeline.&lt;/p&gt;

&lt;h1&gt;
  
  
  Multi-Channel Support
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_Ss0mPFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jabc69nx97s1e5suw14.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_Ss0mPFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jabc69nx97s1e5suw14.png" alt="Image description" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While BotKube is now part of the Kubeshop team, BotKube development is still community-driven. Multi-channel support was requested by several users in the BotKube community and the reason why we implemented it in our first release. We also worked with the community to review the &lt;a href="https://github.com/kubeshop/botkube/issues/628"&gt;configuration proposal&lt;/a&gt; and will continue this kind of community involvement as we go.&lt;/p&gt;

&lt;p&gt;BotKube now supports multiple channels and communication tools using a single BotKube installation in your Kubernetes cluster. You can group and send events to different channels and tools. For example, some events are sent as Slack chat messages for an immediate response and others to ElasticSearch for archiving. You can even have multiple instances of these tools and send specific events to different channels in each of them. This previously required multiple BotKube installations in a cluster or complex annotations. You can also toggle filters and recommendations per-rule now, where filters and recommendation settings were global in previous versions.&lt;/p&gt;

&lt;p&gt;In future releases, we plan to streamline this source to channel mapping further and make the configuration even easier.&lt;/p&gt;

&lt;p&gt;It is also possible to configure the executor configuration on a per-channel basis, so that kubectl permissions can be controlled. You can set different kubectl permissions that restrict the commands, resources, and namespaces users in a specified channel can access. This is great for environments with multi-tenant Kubernetes clusters where teams use separate namespaces.&lt;/p&gt;

&lt;p&gt;We have simplified and enhanced the BotKube configuration syntax to enable the new multi-channel support. If you are running BotKube v0.12.4 (or earlier) using a default configuration, you can specify an updated configuration when using the helm upgrade command. If you are using a custom configuration, see the &lt;a href="https://github.com/kubeshop/botkube/blob/main/CHANGELOG.md#v0130-2022-08-29"&gt;changelog&lt;/a&gt; for details on the configuration syntax changes. You can modify your config.yaml file with the new structure and pass that to the helm upgrade -f command.&lt;/p&gt;

&lt;p&gt;You can also see the configuration details for &lt;a href="https://botkube.io/configuration/source/"&gt;sources&lt;/a&gt; and &lt;a href="https://botkube.io/configuration/executor/"&gt;executors&lt;/a&gt; in the BotKube documentation.&lt;/p&gt;

&lt;h1&gt;
  
  
  Bug Fixes
&lt;/h1&gt;

&lt;p&gt;We have fixed several bugs in BotKube that were reported to us by users. We also spent some time refactoring code and increasing test coverage to improve the quality of BotKube. You can see the list of bug fixes in the &lt;a href="https://github.com/kubeshop/botkube/blob/main/CHANGELOG.md#v0130-2022-08-29"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We appreciate your bug reports and pull requests! If you notice a bug in BotKube, please report it as a &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;GitHub issue&lt;/a&gt; and we are happy to collaborate with you on getting it resolved.&lt;/p&gt;

&lt;h1&gt;
  
  
  Release Pipeline Enhancements
&lt;/h1&gt;

&lt;p&gt;We are working on improving the BotKube release pipeline with each release. Our goal is to fully automate the release pipeline, so that we can collect all pull requests in a release branch, perform automated end-to-end testing with the various communication platforms, and build and release the BotKube container image.&lt;/p&gt;

&lt;p&gt;In this release we have cleaned up the overall CI pipeline and automated end-to-end testing of BotKube on Slack. As we add more automation, BotKube releases will be more frequent and more reliable.&lt;/p&gt;

&lt;h1&gt;
  
  
  Telemetry
&lt;/h1&gt;

&lt;p&gt;BotKube has introduced anonymized telemetry collection in v0.13.&lt;/p&gt;

&lt;p&gt;Why: We are collecting this telemetry data in order to focus our development efforts on the communication tools and actions that BotKube users are using the most.&lt;/p&gt;

&lt;p&gt;What:All data is anonymized. We use UUIDs in order to aggregate telemetry from individual BotKube installations. Other data that could identify users or environments is redacted, such as namespace names, pod names, etc. For transparency, we collect the following data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BotKube version&lt;/li&gt;
&lt;li&gt;Kubernetes version&lt;/li&gt;
&lt;li&gt;Names of enabled integrations (notifiers and bots)&lt;/li&gt;
&lt;li&gt;Handled events in anonymized form, grouped by the integration (communication platform) name&lt;/li&gt;
&lt;li&gt;For each event, we collect its type (e.g. create or delete), resource API Version and resource Kind. Any custom resource API groups or Kinds are excluded from the analytics collection.&lt;/li&gt;
&lt;li&gt;Executed commands in anonymized form&lt;/li&gt;
&lt;li&gt;For kubectl commands, only the command verb is collected. Resource name and namespace are excluded from the analytics collection.&lt;/li&gt;
&lt;li&gt;App errors (crashes, configuration and notification errors)&lt;/li&gt;
&lt;li&gt;For identifying BotKube installations, we use unique identifiers generated in the following way:&lt;/li&gt;
&lt;li&gt;As an anonymous cluster identifier, we use the uid of kube-system Namespace,&lt;/li&gt;
&lt;li&gt;As an anonymous installation identifier, we use UUID generated during Helm chart installation and persisted in a ConfigMap.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Opt-out: &lt;strong&gt;You can opt out of telemetry collection by setting the &lt;code&gt;analytics.disable: true&lt;/code&gt; parameter when installing or upgrading the Helm chart.&lt;/strong&gt; This prevents all analytics collection and we do not track the installation and opt-out actions.&lt;/p&gt;

&lt;p&gt;Please see the BotKube &lt;a href="https://botkube.io/privacy/"&gt;Privacy Policy&lt;/a&gt; for more details.&lt;/p&gt;

&lt;h1&gt;
  
  
  Feedback - We'd Love to Hear From You!
&lt;/h1&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;You can talk to us in the BotKube &lt;a href="https://github.com/kubeshop/botkube/issues"&gt;GitHub issues&lt;/a&gt;, BotKube &lt;a href="http://join.botkube.io/"&gt;Slack community&lt;/a&gt;, or email our Product Leader at &lt;a href="//mailto:blair@kubeshop.io"&gt;blair@kubeshop.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>chatops</category>
      <category>botkube</category>
    </item>
  </channel>
</rss>
