diff --git a/docs/configuration/communication/index.md b/docs/configuration/communication/index.md index 8a5ce538..78a91319 100644 --- a/docs/configuration/communication/index.md +++ b/docs/configuration/communication/index.md @@ -50,6 +50,9 @@ communications: channels: "primary-channel": # Your own alias for the channel configuration name: general + notification: + # If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. + disabled: true bindings: executors: # Executors configuration for a given channel - kubectl-read-only @@ -61,13 +64,13 @@ The example YAML configuration definition results in the following configuration For Slack **Workspace 1**, as defined by the first communication group (`first-group`): -- sending notifications from `k8s-events` source to the `general` and `random` channels, -- ability to execute commands from `kubectl-read-only` configuration in the `general` channel. On `random` channel executors are not configured. +- Notifications from `k8s-events` source are sent to the `general` and `random` channels. +- Commands from the `kubectl-read-only` configuration can be executed in the `general` channel. On `random` channel executors are not configured. For Slack **Workspace 2**, as defined by the second communication group (`second-group`): -- sending notifications from `k8s-events` source to the `general` channel, -- ability to execute commands in the `general` channel. +- Notifications are configured to be sent from the `k8s-events` source to the `general` channel. They are disabled by default, and can be enabled with `@BotKube` command or during BotKube upgrade. +- Commands from the `kubectl-read-only` configuration can be executed in the `general` channel. ## Source and Executor Bindings @@ -107,6 +110,9 @@ communications: "default": # Slack channel name without '#' prefix where you have added BotKube and want to receive notifications in. name: "SLACK_CHANNEL" + notification: + # If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. + disabled: false bindings: # Executors configuration for a given channel. executors: @@ -140,6 +146,9 @@ communications: # The Mattermost channel name for receiving BotKube alerts. # The BotKube user needs to be added to it. name: "MATTERMOST_CHANNEL" + notification: + # If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. + disabled: false bindings: # Executors configuration for a given channel. executors: @@ -192,6 +201,9 @@ communications: # Discord channel ID for receiving BotKube alerts. # The BotKube user needs to be added to it. id: "DISCORD_CHANNEL_ID" + notification: + # If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. + disabled: false bindings: # Executors configuration for a given channel. executors: diff --git a/docs/filters/assets/tag_filter_sh.png b/docs/configuration/filter/assets/tag_filter_sh.png similarity index 100% rename from docs/filters/assets/tag_filter_sh.png rename to docs/configuration/filter/assets/tag_filter_sh.png diff --git a/docs/filters/index.md b/docs/configuration/filter/development.md similarity index 99% rename from docs/filters/index.md rename to docs/configuration/filter/development.md index 6dc6be38..5b3f98f1 100644 --- a/docs/filters/index.md +++ b/docs/configuration/filter/development.md @@ -1,6 +1,6 @@ --- -id: filters -title: "Adding a custom filter" +id: development +title: "Custom filter development" sidebar_position: 5 --- diff --git a/docs/configuration/filter.md b/docs/configuration/filter/index.md similarity index 83% rename from docs/configuration/filter.md rename to docs/configuration/filter/index.md index 9b073e22..8b40be53 100644 --- a/docs/configuration/filter.md +++ b/docs/configuration/filter/index.md @@ -4,7 +4,7 @@ title: Filter sidebar_position: 5 --- -The filter configuration allows you to configure global filters which are used for all processed events. +The filter configuration allows you to configure global filters which are used for all processed events. The filters can be disabled or enabled using dedicated commands. See the [Usage](../usage/index.md) document for more details. You can develop your own filter according to the [Filter Development Guide](../filters/index.md). diff --git a/docs/configuration/general.md b/docs/configuration/general.md index b984bcb2..a2003420 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -13,7 +13,7 @@ The general settings holds a general configuration for the BotKube backend. For settings: # Cluster name to differentiate incoming messages. clusterName: not-configured - # If true, restarts the BotKube Pod on config changes. + # If true, restarts the BotKube Pod on config changes. Files with `_` name prefix are ignored. configWatcher: true # If true, notifies about new BotKube releases. upgradeNotifier: true diff --git a/docs/configuration/helm-chart-parameters.md b/docs/configuration/helm-chart-parameters.md index 245f599f..72e79329 100644 --- a/docs/configuration/helm-chart-parameters.md +++ b/docs/configuration/helm-chart-parameters.md @@ -12,150 +12,150 @@ Controller for the BotKube Slack app which helps you monitor your Kubernetes clu ## Maintainers -| Name | Email | -| ---- | ------ | +| Name | Email | +| ---------------- | --------------------- | | BotKube Dev Team | | ## Source Code -* +- ## Parameters -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| [image.registry](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L14) | string | `"ghcr.io"` | BotKube container image registry. | -| [image.repository](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L16) | string | `"kubeshop/botkube"` | BotKube container image repository. | -| [image.pullPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L18) | string | `"IfNotPresent"` | BotKube container image pull policy. | -| [image.tag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L20) | string | `"v9.99.9-dev"` | BotKube container image tag. Default tag is `appVersion` from Chart.yaml. | -| [podSecurityPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L24) | object | `{"enabled":false}` | Configures Pod Security Policy to allow BotKube to run in restricted clusters. [Ref doc](https://kubernetes.io/docs/concepts/policy/pod-security-policy/). | -| [securityContext](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L30) | object | Runs as a Non-Privileged user. | Configures security context to manage user Privileges in Pod. [Ref doc](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod). | -| [containerSecurityContext](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L36) | object | `{"allowPrivilegeEscalation":false,"privileged":false,"readOnlyRootFilesystem":true}` | Configures container security context. [Ref doc](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container). | -| [kubeconfig.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L44) | bool | `false` | If true, enables overriding the Kubernetes auth. | -| [kubeconfig.base64Config](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L46) | string | `""` | A base64 encoded kubeconfig that will be stored in a Secret, mounted to the Pod, and specified in the KUBECONFIG environment variable. | -| [kubeconfig.existingSecret](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L51) | string | `""` | A Secret containing a kubeconfig to use. | -| [sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L60) | object | See the `values.yaml` file for full object. | Map of sources. Source contains configuration for Kubernetes events and sending recommendations. The property name under `sources` object is an alias for a given configuration. You can define multiple sources configuration with different names. Key name is used as a binding reference. | -| [sources.k8s-events.kubernetes](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L64) | object | `{"namespaces":{"include":[".*"]},"recommendations":{"ingress":{"backendServiceValid":true,"tlsSecretValid":true},"pod":{"labelsSet":true,"noLatestImageTag":true}},"resources":[{"events":["create","delete","error"],"name":"v1/pods"},{"events":["create","delete","error"],"name":"v1/services"},{"events":["create","update","delete","error"],"name":"apps/v1/deployments","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.availableReplicas"],"includeDiff":true}},{"events":["create","update","delete","error"],"name":"apps/v1/statefulsets","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.readyReplicas"],"includeDiff":true}},{"events":["create","delete","error"],"name":"networking.k8s.io/v1/ingresses"},{"events":["create","delete","error"],"name":"v1/nodes"},{"events":["create","delete","error"],"name":"v1/namespaces"},{"events":["create","delete","error"],"name":"v1/persistentvolumes"},{"events":["create","delete","error"],"name":"v1/persistentvolumeclaims"},{"events":["create","delete","error"],"name":"v1/configmaps"},{"events":["create","update","delete","error"],"name":"apps/v1/daemonsets","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.numberReady"],"includeDiff":true}},{"events":["create","update","delete","error"],"name":"batch/v1/jobs","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.conditions[*].type"],"includeDiff":true}},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/roles"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/rolebindings"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/clusterrolebindings"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/clusterroles"}]}` | Describes Kubernetes source configuration. | -| [sources.k8s-events.kubernetes.recommendations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L66) | object | `{"ingress":{"backendServiceValid":true,"tlsSecretValid":true},"pod":{"labelsSet":true,"noLatestImageTag":true}}` | Describes configuration for various recommendation insights. | -| [sources.k8s-events.kubernetes.recommendations.pod](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L68) | object | `{"labelsSet":true,"noLatestImageTag":true}` | Recommendations for Pod Kubernetes resource. | -| [sources.k8s-events.kubernetes.recommendations.pod.noLatestImageTag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L70) | bool | `true` | If true, notifies about Pod containers that use `latest` tag for images. | -| [sources.k8s-events.kubernetes.recommendations.pod.labelsSet](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L72) | bool | `true` | If true, notifies about Pod resources created without labels. | -| [sources.k8s-events.kubernetes.recommendations.ingress](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L74) | object | `{"backendServiceValid":true,"tlsSecretValid":true}` | Recommendations for Ingress Kubernetes resource. | -| [sources.k8s-events.kubernetes.recommendations.ingress.backendServiceValid](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L76) | bool | `true` | If true, notifies about Ingress resources with invalid backend service reference. | -| [sources.k8s-events.kubernetes.recommendations.ingress.tlsSecretValid](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L78) | bool | `true` | If true, notifies about Ingress resources with invalid TLS secret reference. | -| [sources.k8s-events.kubernetes.namespaces](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L83) | object | `{"include":[".*"]}` | Describes namespaces for every Kubernetes resources you want to watch or exclude. These namespaces are applied to every resource specified in the resources list. However, every specified resource can override this by using its own namespaces object. | -| [sources.k8s-events.kubernetes.resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L96) | list | Watch all built-in K8s kinds. | Describes the Kubernetes resources you want to watch. | -| [filters](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L228) | object | See the `values.yaml` file for full object. | Filter settings for various sources. Currently, all filters are globally enabled or disabled. You can enable or disable filters with `@BotKube filters` commands. | -| [filters.kubernetes.objectAnnotationChecker](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L231) | bool | `true` | If true, enables support for `botkube.io/disable` and `botkube.io/channel` resource annotations. | -| [filters.kubernetes.nodeEventsChecker](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L233) | bool | `true` | If true, filters out Node-related events that are not important. | -| [executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L241) | object | See the `values.yaml` file for full object. | Map of executors. Executor contains configuration for running `kubectl` commands. The property name under `executors` is an alias for a given configuration. You can define multiple executor configurations with different names. Key name is used as a binding reference. | -| [executors.kubectl-read-only.kubectl.namespaces.include](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L249) | list | `[".*"]` | List of allowed Kubernetes Namespaces for command execution. It can also contain a regex expressions: `- ".*"` - to specify all Namespaces. | -| [executors.kubectl-read-only.kubectl.namespaces.exclude](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L254) | list | `[]` | List of ignored Kubernetes Namespace. It can also contain a regex expressions: `- "test-.*"` - to specify all Namespaces. | -| [executors.kubectl-read-only.kubectl.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L256) | bool | `false` | If true, enables `kubectl` commands execution. | -| [executors.kubectl-read-only.kubectl.commands.verbs](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L260) | list | `["api-resources","api-versions","cluster-info","describe","diff","explain","get","logs","top","auth"]` | Configures which `kubectl` methods are allowed. | -| [executors.kubectl-read-only.kubectl.commands.resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L262) | list | `["deployments","pods","namespaces","daemonsets","statefulsets","storageclasses","nodes","configmaps"]` | Configures which K8s resource are allowed. | -| [executors.kubectl-read-only.kubectl.defaultNamespace](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L264) | string | `"default"` | Configures the default Namespace for executing BotKube `kubectl` commands. If not set, uses the 'default'. | -| [executors.kubectl-read-only.kubectl.restrictAccess](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L266) | bool | `false` | If true, enables commands execution from configured channel only. | -| [existingCommunicationsSecretName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L276) | string | `""` | Configures existing Secret with communication settings. It MUST be in the `botkube` Namespace. | -| [communications](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L283) | object | See the `values.yaml` file for full object. | Map of communication groups. Communication group contains settings for multiple communication platforms. The property name under `communications` object is an alias for a given configuration group. You can define multiple communication groups with different names. | -| [communications.default-group.slack.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L288) | bool | `false` | If true, enables Slack bot. | -| [communications.default-group.slack.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L292) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"name":"SLACK_CHANNEL","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | -| [communications.default-group.slack.channels.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L295) | string | `"SLACK_CHANNEL"` | Slack channel name without '#' prefix where you have added BotKube and want to receive notifications in. | -| [communications.default-group.slack.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L298) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | -| [communications.default-group.slack.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L301) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | -| [communications.default-group.slack.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L304) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | -| [communications.default-group.slack.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L307) | string | `""` | Slack token. | -| [communications.default-group.slack.botToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L310) | string | `""` | Slack bot token for your own Slack app. [Ref doc](https://api.slack.com/authentication/token-types). | -| [communications.default-group.slack.appToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L313) | string | `""` | Slack app-level token for your own Slack app. [Ref doc](https://api.slack.com/authentication/token-types). | -| [communications.default-group.slack.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L316) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | -| [communications.default-group.mattermost.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L321) | bool | `false` | If true, enables Mattermost bot. | -| [communications.default-group.mattermost.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L323) | string | `"BotKube"` | User in Mattermost which belongs the specified Personal Access token. | -| [communications.default-group.mattermost.url](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L325) | string | `"MATTERMOST_SERVER_URL"` | The URL (including http/https schema) where Mattermost is running. e.g https://example.com:9243 | -| [communications.default-group.mattermost.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L327) | string | `"MATTERMOST_TOKEN"` | Personal Access token generated by BotKube user. | -| [communications.default-group.mattermost.team](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L329) | string | `"MATTERMOST_TEAM"` | The Mattermost Team name where BotKube is added. | -| [communications.default-group.mattermost.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L333) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"name":"MATTERMOST_CHANNEL","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | -| [communications.default-group.mattermost.channels.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L337) | string | `"MATTERMOST_CHANNEL"` | The Mattermost channel name for receiving BotKube alerts. The BotKube user needs to be added to it. | -| [communications.default-group.mattermost.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L340) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | -| [communications.default-group.mattermost.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L343) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | -| [communications.default-group.mattermost.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L346) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | -| [communications.default-group.mattermost.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L350) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | -| [communications.default-group.teams.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L355) | bool | `false` | If true, enables MS Teams bot. | -| [communications.default-group.teams.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L357) | string | `"BotKube"` | The Bot name set while registering Bot to MS Teams. | -| [communications.default-group.teams.appID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L359) | string | `"APPLICATION_ID"` | The BotKube application ID generated while registering Bot to MS Teams. | -| [communications.default-group.teams.appPassword](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L361) | string | `"APPLICATION_PASSWORD"` | The BotKube application password generated while registering Bot to MS Teams. | -| [communications.default-group.teams.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L364) | list | `["kubectl-read-only"]` | Executor bindings apply to all MS Teams channels where BotKube has access to. | -| [communications.default-group.teams.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L367) | list | `["k8s-events"]` | Source bindings apply to all channels which have notification turned on with `@BotKube notifier start` command. | -| [communications.default-group.teams.messagePath](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L370) | string | `"/bots/teams"` | The path in endpoint URL provided while registering BotKube to MS Teams. | -| [communications.default-group.teams.port](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L372) | int | `3978` | The Service port for bot endpoint on BotKube container. | -| [communications.default-group.discord.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L377) | bool | `false` | If true, enables Discord bot. | -| [communications.default-group.discord.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L379) | string | `"DISCORD_TOKEN"` | BotKube Bot Token. | -| [communications.default-group.discord.botID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L381) | string | `"DISCORD_BOT_ID"` | BotKube Application Client ID. | -| [communications.default-group.discord.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L385) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"id":"DISCORD_CHANNEL_ID","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | -| [communications.default-group.discord.channels.default.id](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L389) | string | `"DISCORD_CHANNEL_ID"` | Discord channel ID for receiving BotKube alerts. The BotKube user needs to be added to it. | -| [communications.default-group.discord.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L392) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | -| [communications.default-group.discord.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L395) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | -| [communications.default-group.discord.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L398) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | -| [communications.default-group.discord.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L402) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | -| [communications.default-group.elasticsearch.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L407) | bool | `false` | If true, enables Elasticsearch. | -| [communications.default-group.elasticsearch.awsSigning.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L411) | bool | `false` | If true, enables awsSigning using IAM for Elasticsearch hosted on AWS. Make sure AWS environment variables are set. [Ref doc](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html). | -| [communications.default-group.elasticsearch.awsSigning.awsRegion](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L413) | string | `"us-east-1"` | AWS region where Elasticsearch is deployed. | -| [communications.default-group.elasticsearch.awsSigning.roleArn](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L415) | string | `""` | AWS IAM Role arn to assume for credentials, use this only if you don't want to use the EC2 instance role or not running on AWS instance. | -| [communications.default-group.elasticsearch.server](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L417) | string | `"ELASTICSEARCH_ADDRESS"` | The server URL, e.g https://example.com:9243 | -| [communications.default-group.elasticsearch.username](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L419) | string | `"ELASTICSEARCH_USERNAME"` | Basic Auth username. | -| [communications.default-group.elasticsearch.password](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L421) | string | `"ELASTICSEARCH_PASSWORD"` | Basic Auth password. | -| [communications.default-group.elasticsearch.skipTLSVerify](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L424) | bool | `false` | If true, skips the verification of TLS certificate of the Elastic nodes. It's useful for clusters with self-signed certificates. | -| [communications.default-group.elasticsearch.indices](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L428) | object | `{"default":{"bindings":{"sources":["k8s-events"]},"name":"botkube","replicas":0,"shards":1,"type":"botkube-event"}}` | Map of configured indices. The `indices` property name is an alias for a given configuration. | -| [communications.default-group.elasticsearch.indices.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L431) | string | `"botkube"` | Configures Elasticsearch index settings. | -| [communications.default-group.elasticsearch.indices.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L437) | list | `["k8s-events"]` | Notification sources configuration for a given index. | -| [communications.default-group.webhook.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L443) | bool | `false` | If true, enables Webhook. | -| [communications.default-group.webhook.url](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L445) | string | `"WEBHOOK_URL"` | The Webhook URL, e.g.: https://example.com:80 | -| [communications.default-group.webhook.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L448) | list | `["k8s-events"]` | Notification sources configuration for the webhook. | -| [settings.clusterName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L454) | string | `"not-configured"` | Cluster name to differentiate incoming messages. | -| [settings.configWatcher](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L456) | bool | `true` | If true, restarts the BotKube Pod on config changes. | -| [settings.upgradeNotifier](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L458) | bool | `true` | If true, notifies about new BotKube releases. | -| [settings.log.level](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L462) | string | `"info"` | Sets one of the log levels. Allowed values: `info`, `warn`, `debug`, `error`, `fatal`, `panic`. | -| [settings.log.disableColors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L464) | bool | `false` | If true, disable ANSI colors in logging. | -| [ssl.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L469) | bool | `false` | If true, specify cert path in `config.ssl.cert` property or K8s Secret in `config.ssl.existingSecretName`. | -| [ssl.existingSecretName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L475) | string | `""` | Using existing SSL Secret. It MUST be in `botkube` Namespace. | -| [ssl.cert](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L478) | string | `""` | SSL Certificate file e.g certs/my-cert.crt. | -| [service](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L481) | object | `{"name":"metrics","port":2112,"targetPort":2112}` | Configures Service settings for ServiceMonitor CR. | -| [ingress](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L488) | object | `{"annotations":{"kubernetes.io/ingress.class":"nginx"},"create":false,"host":"HOST","tls":{"enabled":false,"secretName":""}}` | Configures Ingress settings that exposes MS Teams endpoint. [Ref doc](https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource). | -| [serviceMonitor](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L499) | object | `{"enabled":false,"interval":"10s","labels":{},"path":"/metrics","port":"metrics"}` | Configures ServiceMonitor settings. [Ref doc](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#servicemonitor). | -| [deployment.annotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L509) | object | `{}` | Extra annotations to pass to the BotKube Deployment. | -| [extraAnnotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L516) | object | `{}` | Extra annotations to pass to the BotKube Pod. | -| [extraLabels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L518) | object | `{}` | Extra labels to pass to the BotKube Pod. | -| [priorityClassName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L520) | string | `""` | Priority class name for the BotKube Pod. | -| [nameOverride](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L523) | string | `""` | Fully override "botkube.name" template. | -| [fullnameOverride](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L525) | string | `""` | Fully override "botkube.fullname" template. | -| [resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L531) | object | `{}` | The BotKube Pod resource request and limits. We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. [Ref docs](https://kubernetes.io/docs/user-guide/compute-resources/) | -| [extraEnv](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L543) | list | `[]` | Extra environment variables to pass to the BotKube container. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables). | -| [extraVolumes](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L555) | list | `[]` | Extra volumes to pass to the BotKube container. Mount it later with extraVolumeMounts. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume/#Volume). | -| [extraVolumeMounts](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L570) | list | `[]` | Extra volume mounts to pass to the BotKube container. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes-1). | -| [nodeSelector](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L588) | object | `{}` | Node labels for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/user-guide/node-selection/). | -| [tolerations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L592) | list | `[]` | Tolerations for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/). | -| [affinity](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L596) | object | `{}` | Affinity for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity). | -| [rbac](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L600) | object | `{"create":true,"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["get","watch","list"]}]}` | Role Based Access for BotKube Pod. [Ref doc](https://kubernetes.io/docs/admin/authorization/rbac/). | -| [serviceAccount.create](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L609) | bool | `true` | If true, a ServiceAccount is automatically created. | -| [serviceAccount.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L612) | string | `""` | The name of the service account to use. If not set, a name is generated using the fullname template. | -| [serviceAccount.annotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L614) | object | `{}` | Extra annotations for the ServiceAccount. | -| [extraObjects](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L617) | list | `[]` | Extra Kubernetes resources to create. Helm templating is allowed as it is evaluated before creating the resources. | -| [analytics.disable](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L645) | bool | `false` | If true, sending anonymous analytics is disabled. To learn what date we collect, see [Privacy Policy](https://botkube.io/privacy#privacy-policy). | -| [e2eTest.image.registry](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L651) | string | `"ghcr.io"` | Test runner image registry. | -| [e2eTest.image.repository](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L653) | string | `"kubeshop/botkube-test"` | Test runner image repository. | -| [e2eTest.image.pullPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L655) | string | `"IfNotPresent"` | Test runner image pull policy. | -| [e2eTest.image.tag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L657) | string | `"v9.99.9-dev"` | Test runner image tag. Default tag is `appVersion` from Chart.yaml. | -| [e2eTest.deployment](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L659) | object | `{"waitTimeout":"3m"}` | Configures BotKube Deployment related data. | -| [e2eTest.slack.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L664) | string | `"botkube"` | Name of the BotKube bot to interact with during the e2e tests. | -| [e2eTest.slack.testerName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L666) | string | `"botkube_tester"` | Name of the BotKube Tester bot that sends messages during the e2e tests. | -| [e2eTest.slack.testerAppToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L668) | string | `""` | Slack tester application token that interacts with BotKube bot. | -| [e2eTest.slack.additionalContextMessage](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L670) | string | `""` | Additional message that is sent by Tester. You can pass e.g. pull request number or source link where these tests are run from. | -| [e2eTest.slack.messageWaitTimeout](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L672) | string | `"1m"` | Message wait timeout. It defines how long we wait to ensure that notification were not sent when disabled. | -| [e2eTest.discord.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L675) | string | `"botkube"` | Name of the BotKube bot to interact with during the e2e tests. | -| [e2eTest.discord.testerName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L677) | string | `"botkube_tester"` | Name of the BotKube Tester bot that sends messages during the e2e tests. | -| [e2eTest.discord.guildID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L679) | string | `""` | Discord Guild ID (discord server ID) used to run e2e tests | -| [e2eTest.discord.testerAppToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L681) | string | `""` | Discord tester application token that interacts with BotKube bot. | -| [e2eTest.discord.additionalContextMessage](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L683) | string | `""` | Additional message that is sent by Tester. You can pass e.g. pull request number or source link where these tests are run from. | -| [e2eTest.discord.messageWaitTimeout](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L685) | string | `"1m"` | Message wait timeout. It defines how long we wait to ensure that notification were not sent when disabled. | +| Key | Type | Default | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [image.registry](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L14) | string | `"ghcr.io"` | BotKube container image registry. | +| [image.repository](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L16) | string | `"kubeshop/botkube"` | BotKube container image repository. | +| [image.pullPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L18) | string | `"IfNotPresent"` | BotKube container image pull policy. | +| [image.tag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L20) | string | `"v9.99.9-dev"` | BotKube container image tag. Default tag is `appVersion` from Chart.yaml. | +| [podSecurityPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L24) | object | `{"enabled":false}` | Configures Pod Security Policy to allow BotKube to run in restricted clusters. [Ref doc](https://kubernetes.io/docs/concepts/policy/pod-security-policy/). | +| [securityContext](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L30) | object | Runs as a Non-Privileged user. | Configures security context to manage user Privileges in Pod. [Ref doc](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod). | +| [containerSecurityContext](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L36) | object | `{"allowPrivilegeEscalation":false,"privileged":false,"readOnlyRootFilesystem":true}` | Configures container security context. [Ref doc](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container). | +| [kubeconfig.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L44) | bool | `false` | If true, enables overriding the Kubernetes auth. | +| [kubeconfig.base64Config](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L46) | string | `""` | A base64 encoded kubeconfig that will be stored in a Secret, mounted to the Pod, and specified in the KUBECONFIG environment variable. | +| [kubeconfig.existingSecret](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L51) | string | `""` | A Secret containing a kubeconfig to use. | +| [sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L60) | object | See the `values.yaml` file for full object. | Map of sources. Source contains configuration for Kubernetes events and sending recommendations. The property name under `sources` object is an alias for a given configuration. You can define multiple sources configuration with different names. Key name is used as a binding reference. | +| [sources.k8s-events.kubernetes](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L64) | object | `{"namespaces":{"include":[".*"]},"recommendations":{"ingress":{"backendServiceValid":true,"tlsSecretValid":true},"pod":{"labelsSet":true,"noLatestImageTag":true}},"resources":[{"events":["create","delete","error"],"name":"v1/pods"},{"events":["create","delete","error"],"name":"v1/services"},{"events":["create","update","delete","error"],"name":"apps/v1/deployments","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.availableReplicas"],"includeDiff":true}},{"events":["create","update","delete","error"],"name":"apps/v1/statefulsets","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.readyReplicas"],"includeDiff":true}},{"events":["create","delete","error"],"name":"networking.k8s.io/v1/ingresses"},{"events":["create","delete","error"],"name":"v1/nodes"},{"events":["create","delete","error"],"name":"v1/namespaces"},{"events":["create","delete","error"],"name":"v1/persistentvolumes"},{"events":["create","delete","error"],"name":"v1/persistentvolumeclaims"},{"events":["create","delete","error"],"name":"v1/configmaps"},{"events":["create","update","delete","error"],"name":"apps/v1/daemonsets","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.numberReady"],"includeDiff":true}},{"events":["create","update","delete","error"],"name":"batch/v1/jobs","updateSetting":{"fields":["spec.template.spec.containers[*].image","status.conditions[*].type"],"includeDiff":true}},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/roles"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/rolebindings"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/clusterrolebindings"},{"events":["create","delete","error"],"name":"rbac.authorization.k8s.io/v1/clusterroles"}]}` | Describes Kubernetes source configuration. | +| [sources.k8s-events.kubernetes.recommendations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L66) | object | `{"ingress":{"backendServiceValid":true,"tlsSecretValid":true},"pod":{"labelsSet":true,"noLatestImageTag":true}}` | Describes configuration for various recommendation insights. | +| [sources.k8s-events.kubernetes.recommendations.pod](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L68) | object | `{"labelsSet":true,"noLatestImageTag":true}` | Recommendations for Pod Kubernetes resource. | +| [sources.k8s-events.kubernetes.recommendations.pod.noLatestImageTag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L70) | bool | `true` | If true, notifies about Pod containers that use `latest` tag for images. | +| [sources.k8s-events.kubernetes.recommendations.pod.labelsSet](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L72) | bool | `true` | If true, notifies about Pod resources created without labels. | +| [sources.k8s-events.kubernetes.recommendations.ingress](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L74) | object | `{"backendServiceValid":true,"tlsSecretValid":true}` | Recommendations for Ingress Kubernetes resource. | +| [sources.k8s-events.kubernetes.recommendations.ingress.backendServiceValid](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L76) | bool | `true` | If true, notifies about Ingress resources with invalid backend service reference. | +| [sources.k8s-events.kubernetes.recommendations.ingress.tlsSecretValid](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L78) | bool | `true` | If true, notifies about Ingress resources with invalid TLS secret reference. | +| [sources.k8s-events.kubernetes.namespaces](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L83) | object | `{"include":[".*"]}` | Describes namespaces for every Kubernetes resources you want to watch or exclude. These namespaces are applied to every resource specified in the resources list. However, every specified resource can override this by using its own namespaces object. | +| [sources.k8s-events.kubernetes.resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L96) | list | Watch all built-in K8s kinds. | Describes the Kubernetes resources you want to watch. | +| [filters](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L228) | object | See the `values.yaml` file for full object. | Filter settings for various sources. Currently, all filters are globally enabled or disabled. You can enable or disable filters with `@BotKube filters` commands. | +| [filters.kubernetes.objectAnnotationChecker](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L231) | bool | `true` | If true, enables support for `botkube.io/disable` and `botkube.io/channel` resource annotations. | +| [filters.kubernetes.nodeEventsChecker](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L233) | bool | `true` | If true, filters out Node-related events that are not important. | +| [executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L241) | object | See the `values.yaml` file for full object. | Map of executors. Executor contains configuration for running `kubectl` commands. The property name under `executors` is an alias for a given configuration. You can define multiple executor configurations with different names. Key name is used as a binding reference. | +| [executors.kubectl-read-only.kubectl.namespaces.include](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L249) | list | `[".*"]` | List of allowed Kubernetes Namespaces for command execution. It can also contain a regex expressions: `- ".*"` - to specify all Namespaces. | +| [executors.kubectl-read-only.kubectl.namespaces.exclude](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L254) | list | `[]` | List of ignored Kubernetes Namespace. It can also contain a regex expressions: `- "test-.*"` - to specify all Namespaces. | +| [executors.kubectl-read-only.kubectl.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L256) | bool | `false` | If true, enables `kubectl` commands execution. | +| [executors.kubectl-read-only.kubectl.commands.verbs](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L260) | list | `["api-resources","api-versions","cluster-info","describe","diff","explain","get","logs","top","auth"]` | Configures which `kubectl` methods are allowed. | +| [executors.kubectl-read-only.kubectl.commands.resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L262) | list | `["deployments","pods","namespaces","daemonsets","statefulsets","storageclasses","nodes","configmaps"]` | Configures which K8s resource are allowed. | +| [executors.kubectl-read-only.kubectl.defaultNamespace](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L264) | string | `"default"` | Configures the default Namespace for executing BotKube `kubectl` commands. If not set, uses the 'default'. | +| [executors.kubectl-read-only.kubectl.restrictAccess](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L266) | bool | `false` | If true, enables commands execution from configured channel only. | +| [existingCommunicationsSecretName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L276) | string | `""` | Configures existing Secret with communication settings. It MUST be in the `botkube` Namespace. | +| [communications](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L283) | object | See the `values.yaml` file for full object. | Map of communication groups. Communication group contains settings for multiple communication platforms. The property name under `communications` object is an alias for a given configuration group. You can define multiple communication groups with different names. | +| [communications.default-group.slack.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L288) | bool | `false` | If true, enables Slack bot. | +| [communications.default-group.slack.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L292) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"name":"SLACK_CHANNEL","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | +| [communications.default-group.slack.channels.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L295) | string | `"SLACK_CHANNEL"` | Slack channel name without '#' prefix where you have added BotKube and want to receive notifications in. | +| [communications.default-group.slack.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L298) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | +| [communications.default-group.slack.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L301) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | +| [communications.default-group.slack.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L304) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | +| [communications.default-group.slack.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L307) | string | `""` | Slack token. | +| [communications.default-group.slack.botToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L310) | string | `""` | Slack bot token for your own Slack app. [Ref doc](https://api.slack.com/authentication/token-types). | +| [communications.default-group.slack.appToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L313) | string | `""` | Slack app-level token for your own Slack app. [Ref doc](https://api.slack.com/authentication/token-types). | +| [communications.default-group.slack.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L316) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | +| [communications.default-group.mattermost.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L321) | bool | `false` | If true, enables Mattermost bot. | +| [communications.default-group.mattermost.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L323) | string | `"BotKube"` | User in Mattermost which belongs the specified Personal Access token. | +| [communications.default-group.mattermost.url](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L325) | string | `"MATTERMOST_SERVER_URL"` | The URL (including http/https schema) where Mattermost is running. e.g https://example.com:9243 | +| [communications.default-group.mattermost.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L327) | string | `"MATTERMOST_TOKEN"` | Personal Access token generated by BotKube user. | +| [communications.default-group.mattermost.team](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L329) | string | `"MATTERMOST_TEAM"` | The Mattermost Team name where BotKube is added. | +| [communications.default-group.mattermost.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L333) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"name":"MATTERMOST_CHANNEL","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | +| [communications.default-group.mattermost.channels.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L337) | string | `"MATTERMOST_CHANNEL"` | The Mattermost channel name for receiving BotKube alerts. The BotKube user needs to be added to it. | +| [communications.default-group.mattermost.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L340) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | +| [communications.default-group.mattermost.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L343) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | +| [communications.default-group.mattermost.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L346) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | +| [communications.default-group.mattermost.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L350) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | +| [communications.default-group.teams.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L355) | bool | `false` | If true, enables MS Teams bot. | +| [communications.default-group.teams.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L357) | string | `"BotKube"` | The Bot name set while registering Bot to MS Teams. | +| [communications.default-group.teams.appID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L359) | string | `"APPLICATION_ID"` | The BotKube application ID generated while registering Bot to MS Teams. | +| [communications.default-group.teams.appPassword](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L361) | string | `"APPLICATION_PASSWORD"` | The BotKube application password generated while registering Bot to MS Teams. | +| [communications.default-group.teams.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L364) | list | `["kubectl-read-only"]` | Executor bindings apply to all MS Teams channels where BotKube has access to. | +| [communications.default-group.teams.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L367) | list | `["k8s-events"]` | Source bindings apply to all channels which have notification turned on with `@BotKube notifier start` command. | +| [communications.default-group.teams.messagePath](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L370) | string | `"/bots/teams"` | The path in endpoint URL provided while registering BotKube to MS Teams. | +| [communications.default-group.teams.port](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L372) | int | `3978` | The Service port for bot endpoint on BotKube container. | +| [communications.default-group.discord.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L377) | bool | `false` | If true, enables Discord bot. | +| [communications.default-group.discord.token](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L379) | string | `"DISCORD_TOKEN"` | BotKube Bot Token. | +| [communications.default-group.discord.botID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L381) | string | `"DISCORD_BOT_ID"` | BotKube Application Client ID. | +| [communications.default-group.discord.channels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L385) | object | `{"default":{"bindings":{"executors":["kubectl-read-only"],"sources":["k8s-events"]},"id":"DISCORD_CHANNEL_ID","notification":{"disabled":false}}}` | Map of configured channels. The property name under `channels` object is an alias for a given configuration. | +| [communications.default-group.discord.channels.default.id](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L389) | string | `"DISCORD_CHANNEL_ID"` | Discord channel ID for receiving BotKube alerts. The BotKube user needs to be added to it. | +| [communications.default-group.discord.channels.default.notification.disabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L392) | bool | `false` | If true, the notifications are not sent to the channel. They can be enabled with `@BotKube` command anytime. | +| [communications.default-group.discord.channels.default.bindings.executors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L395) | list | `["kubectl-read-only"]` | Executors configuration for a given channel. | +| [communications.default-group.discord.channels.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L398) | list | `["k8s-events"]` | Notification sources configuration for a given channel. | +| [communications.default-group.discord.notification.type](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L402) | string | `"short"` | Configures notification type that are sent. Possible values: `short`, `long`. | +| [communications.default-group.elasticsearch.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L407) | bool | `false` | If true, enables Elasticsearch. | +| [communications.default-group.elasticsearch.awsSigning.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L411) | bool | `false` | If true, enables awsSigning using IAM for Elasticsearch hosted on AWS. Make sure AWS environment variables are set. [Ref doc](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html). | +| [communications.default-group.elasticsearch.awsSigning.awsRegion](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L413) | string | `"us-east-1"` | AWS region where Elasticsearch is deployed. | +| [communications.default-group.elasticsearch.awsSigning.roleArn](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L415) | string | `""` | AWS IAM Role arn to assume for credentials, use this only if you don't want to use the EC2 instance role or not running on AWS instance. | +| [communications.default-group.elasticsearch.server](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L417) | string | `"ELASTICSEARCH_ADDRESS"` | The server URL, e.g https://example.com:9243 | +| [communications.default-group.elasticsearch.username](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L419) | string | `"ELASTICSEARCH_USERNAME"` | Basic Auth username. | +| [communications.default-group.elasticsearch.password](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L421) | string | `"ELASTICSEARCH_PASSWORD"` | Basic Auth password. | +| [communications.default-group.elasticsearch.skipTLSVerify](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L424) | bool | `false` | If true, skips the verification of TLS certificate of the Elastic nodes. It's useful for clusters with self-signed certificates. | +| [communications.default-group.elasticsearch.indices](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L428) | object | `{"default":{"bindings":{"sources":["k8s-events"]},"name":"botkube","replicas":0,"shards":1,"type":"botkube-event"}}` | Map of configured indices. The `indices` property name is an alias for a given configuration. | +| [communications.default-group.elasticsearch.indices.default.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L431) | string | `"botkube"` | Configures Elasticsearch index settings. | +| [communications.default-group.elasticsearch.indices.default.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L437) | list | `["k8s-events"]` | Notification sources configuration for a given index. | +| [communications.default-group.webhook.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L443) | bool | `false` | If true, enables Webhook. | +| [communications.default-group.webhook.url](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L445) | string | `"WEBHOOK_URL"` | The Webhook URL, e.g.: https://example.com:80 | +| [communications.default-group.webhook.bindings.sources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L448) | list | `["k8s-events"]` | Notification sources configuration for the webhook. | +| [settings.clusterName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L454) | string | `"not-configured"` | Cluster name to differentiate incoming messages. | +| [settings.configWatcher](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L456) | bool | `true` | If true, restarts the BotKube Pod on config changes. | +| [settings.upgradeNotifier](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L458) | bool | `true` | If true, notifies about new BotKube releases. | +| [settings.log.level](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L462) | string | `"info"` | Sets one of the log levels. Allowed values: `info`, `warn`, `debug`, `error`, `fatal`, `panic`. | +| [settings.log.disableColors](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L464) | bool | `false` | If true, disable ANSI colors in logging. | +| [ssl.enabled](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L469) | bool | `false` | If true, specify cert path in `config.ssl.cert` property or K8s Secret in `config.ssl.existingSecretName`. | +| [ssl.existingSecretName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L475) | string | `""` | Using existing SSL Secret. It MUST be in `botkube` Namespace. | +| [ssl.cert](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L478) | string | `""` | SSL Certificate file e.g certs/my-cert.crt. | +| [service](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L481) | object | `{"name":"metrics","port":2112,"targetPort":2112}` | Configures Service settings for ServiceMonitor CR. | +| [ingress](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L488) | object | `{"annotations":{"kubernetes.io/ingress.class":"nginx"},"create":false,"host":"HOST","tls":{"enabled":false,"secretName":""}}` | Configures Ingress settings that exposes MS Teams endpoint. [Ref doc](https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource). | +| [serviceMonitor](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L499) | object | `{"enabled":false,"interval":"10s","labels":{},"path":"/metrics","port":"metrics"}` | Configures ServiceMonitor settings. [Ref doc](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#servicemonitor). | +| [deployment.annotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L509) | object | `{}` | Extra annotations to pass to the BotKube Deployment. | +| [extraAnnotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L516) | object | `{}` | Extra annotations to pass to the BotKube Pod. | +| [extraLabels](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L518) | object | `{}` | Extra labels to pass to the BotKube Pod. | +| [priorityClassName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L520) | string | `""` | Priority class name for the BotKube Pod. | +| [nameOverride](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L523) | string | `""` | Fully override "botkube.name" template. | +| [fullnameOverride](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L525) | string | `""` | Fully override "botkube.fullname" template. | +| [resources](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L531) | object | `{}` | The BotKube Pod resource request and limits. We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. [Ref docs](https://kubernetes.io/docs/user-guide/compute-resources/) | +| [extraEnv](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L543) | list | `[]` | Extra environment variables to pass to the BotKube container. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables). | +| [extraVolumes](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L555) | list | `[]` | Extra volumes to pass to the BotKube container. Mount it later with extraVolumeMounts. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume/#Volume). | +| [extraVolumeMounts](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L570) | list | `[]` | Extra volume mounts to pass to the BotKube container. [Ref docs](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes-1). | +| [nodeSelector](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L588) | object | `{}` | Node labels for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/user-guide/node-selection/). | +| [tolerations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L592) | list | `[]` | Tolerations for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/). | +| [affinity](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L596) | object | `{}` | Affinity for BotKube Pod assignment. [Ref doc](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity). | +| [rbac](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L600) | object | `{"create":true,"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["get","watch","list"]}]}` | Role Based Access for BotKube Pod. [Ref doc](https://kubernetes.io/docs/admin/authorization/rbac/). | +| [serviceAccount.create](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L609) | bool | `true` | If true, a ServiceAccount is automatically created. | +| [serviceAccount.name](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L612) | string | `""` | The name of the service account to use. If not set, a name is generated using the fullname template. | +| [serviceAccount.annotations](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L614) | object | `{}` | Extra annotations for the ServiceAccount. | +| [extraObjects](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L617) | list | `[]` | Extra Kubernetes resources to create. Helm templating is allowed as it is evaluated before creating the resources. | +| [analytics.disable](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L645) | bool | `false` | If true, sending anonymous analytics is disabled. To learn what date we collect, see [Privacy Policy](https://botkube.io/privacy#privacy-policy). | +| [e2eTest.image.registry](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L651) | string | `"ghcr.io"` | Test runner image registry. | +| [e2eTest.image.repository](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L653) | string | `"kubeshop/botkube-test"` | Test runner image repository. | +| [e2eTest.image.pullPolicy](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L655) | string | `"IfNotPresent"` | Test runner image pull policy. | +| [e2eTest.image.tag](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L657) | string | `"v9.99.9-dev"` | Test runner image tag. Default tag is `appVersion` from Chart.yaml. | +| [e2eTest.deployment](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L659) | object | `{"waitTimeout":"3m"}` | Configures BotKube Deployment related data. | +| [e2eTest.slack.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L664) | string | `"botkube"` | Name of the BotKube bot to interact with during the e2e tests. | +| [e2eTest.slack.testerName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L666) | string | `"botkube_tester"` | Name of the BotKube Tester bot that sends messages during the e2e tests. | +| [e2eTest.slack.testerAppToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L668) | string | `""` | Slack tester application token that interacts with BotKube bot. | +| [e2eTest.slack.additionalContextMessage](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L670) | string | `""` | Additional message that is sent by Tester. You can pass e.g. pull request number or source link where these tests are run from. | +| [e2eTest.slack.messageWaitTimeout](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L672) | string | `"1m"` | Message wait timeout. It defines how long we wait to ensure that notification were not sent when disabled. | +| [e2eTest.discord.botName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L675) | string | `"botkube"` | Name of the BotKube bot to interact with during the e2e tests. | +| [e2eTest.discord.testerName](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L677) | string | `"botkube_tester"` | Name of the BotKube Tester bot that sends messages during the e2e tests. | +| [e2eTest.discord.guildID](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L679) | string | `""` | Discord Guild ID (discord server ID) used to run e2e tests | +| [e2eTest.discord.testerAppToken](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L681) | string | `""` | Discord tester application token that interacts with BotKube bot. | +| [e2eTest.discord.additionalContextMessage](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L683) | string | `""` | Additional message that is sent by Tester. You can pass e.g. pull request number or source link where these tests are run from. | +| [e2eTest.discord.messageWaitTimeout](https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/helm/botkube/values.yaml#L685) | string | `"1m"` | Message wait timeout. It defines how long we wait to ensure that notification were not sent when disabled. | ### AWS IRSA on EKS support @@ -168,4 +168,3 @@ serviceAccount: annotations: eks.amazonaws.com/role-arn: "" ``` - diff --git a/docs/configuration/index.md b/docs/configuration/index.md index 5c2d7e82..e7f1edb7 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -16,15 +16,17 @@ The configuration settings are read from two sources: ./botkube --config "global.yaml,team-b-specific.yaml" ``` - :::note You can split individual settings into multiple configuration files. The priority will be given to the last (right-most) file specified. Files with `_` name prefix are always read as the last ones. See the [merging strategy](#merging-strategy) section for more details. + + :::note + For Helm installation, BotKube uses `_runtime_state.yaml` and `_startup_state.yaml` files to store its internal state. Remember to keep these files in the `BOTKUBE_CONFIG_PATHS` environment variable. ::: - the exported [environment variables](#environment-variables) that overrides the configuration specified in the files. ## Updating the configuration at runtime -You can update the configuration and use `helm upgrade` to update configuration values for the BotKube. +You can update the configuration and use `helm upgrade` to update configuration values for the BotKube. Also, you can use `@BotKube` commands which persist the configuration. See the [Usage](../usage/index.md) section for more details. You can also change configuration directly in ConfigMap and Secret - is not recommended but is great for quick experimentation. @@ -67,7 +69,7 @@ This is a useful feature that allows you to store the overall configuration in a BotKube allows you to split individual settings into multiple configuration files. The following rules apply: - The priority will be given to the last (right-most) file specified. -- Files with `_` name prefix are always read as the last ones following the alphabetical order. +- Files with `_` name prefix are always read as the last ones following the initial order. Also, they are ignored by the Config Watcher (if enabled according to the [**general**](./general) settings). - Objects are merged together and primitive fields are overridden. For example: ```yaml