Skip to main content
Version: Unreleased 🚧

Exec

The exec executor plugin allows you to install and run CLI applications directly from chat (e.g., Slack, Discord, or Mattermost) without any hassle.

The exec plugin is hosted by the official Botkube plugin repository. To enable the exec plugin, make sure that the botkube repository is defined under plugins in the values.yaml file.

plugins:
repositories:
botkube:
url: https://github.com/kubeshop/botkube/releases/download/v1.1.1/plugins-index.yaml

Enabling plugin​

To enable exec plugin, add --set 'executors.bins-management.botkube/exec=true' to a given Helm install command. By default, the read-only KUBECONFIG is assigned.

For enabling commands that require create, update or delete rules, you need to create specific (Cluster)Role and (Cluster)RoleBinding and reference it from plugin's context configuration. To learn more refer to the RBAC section.

Syntax​

# Map of executors. The `executors` property name is an alias for a given configuration.
# Key name is used as a binding reference.
#
# Format: executors.{alias}
executors:
bins-management:
# Exec executor configuration.
# Plugin name syntax: <repo>/<plugin>[@<version>]. If version is not provided, the latest version from repository is used.
botkube/exec:
enabled: false
# Custom Exec plugin configuration.
config:
# An array of templates that define how to convert the command output into an interactive message.
templates:
# Link to templates source
# It uses the go-getter library, which supports multiple URL formats (such as HTTP, Git repositories, or S3) and is able to unpack archives.
# For more details, see the documentation at https://github.com/hashicorp/go-getter.
- ref: github.com/kubeshop/botkube//cmd/executor/exec/templates?ref=main
context:
# RBAC configuration for this plugin.
rbac:
group:
# Static impersonation for given group.
type: Static
static:
# Name of group.rbac.authorization.k8s.io the plugin role will be bound to.
values: [botkube-plugins-default]

The default configuration for Helm chart can be found in the values.yaml file.