botkube/deploy-all-in-one.yaml

228 lines
5.0 KiB
YAML
Raw Normal View History

---
# Configmap
apiVersion: v1
kind: ConfigMap
metadata:
name: botkube-configmap
labels:
app: botkube
data:
config.yaml: |
## Resources you want to watch
resources:
- name: pods # Name of the resources e.g pods, deployments, ingresses, etc. (Resource name must be in plural form)
namespaces: # List of namespaces, "all" will watch all the namespaces
- all
events: # List of lifecycle events you want to receive, e.g create, update, delete OR all
- create
- delete
- name: services
namespaces:
- all
events:
- create
- delete
- name: deployments
namespaces:
- all
events:
- create
- delete
- name: ingresses
namespaces:
- all
events:
- create
- delete
- name: nodes
namespaces:
- all
events:
- create
- delete
- name: namespaces
namespaces:
- all
events:
- create
- delete
- name: persistentvolumes
namespaces:
- all
events:
- create
- delete
- name: persistentvolumeclaims
namespaces:
- all
events:
- create
- delete
- name: secrets
namespaces:
- all
events:
- create
- delete
- name: configmaps
namespaces:
- all
events:
- create
- delete
- name: daemonsets
namespaces:
- all
events:
- create
- delete
- name: jobs
namespaces:
- all
events:
- create
- delete
- name: roles
namespaces:
- all
events:
- create
- delete
- name: rolebindings
namespaces:
- all
events:
- create
- delete
- name: clusterroles
namespaces:
- all
events:
- create
- delete
- name: clusterrolebindings
namespace:
- all
events:
- create
- delete
- name: nodes
namespaces:
- all
events:
- create
- delete
# K8S error/warning events you want to receive for the configured resources
events:
types:
#- normal
- warning
# Check true if you want to receive recommendations
# about the best practices for the created resource
recommendations: true
# Channels configuration
communications:
# Settings for Slack
slack:
enable: false
channel: 'SLACK_CHANNEL'
token: 'SLACK_API_TOKEN'
# Settings for ELS
elasticsearch:
enable: false
server: 'ELASTICSEARCH_ADDRESS' # e.g https://example.com:9243
username: 'ELASTICSEARCH_USERNAME'
password: 'ELASTICSEARCH_PASSWORD'
# ELS index settings
index:
name: botkube
type: botkube-event
shards: 1
replicas: 0
# Setting to support multiple clusters
settings:
# Cluster name to differentiate incoming messages
clustername: not-configured
# Set false to disable kubectl commands execution
allowkubectl: false
---
# serviceaccount
apiVersion: v1
kind: ServiceAccount
metadata:
name: botkube-sa
labels:
app: botkube
---
# Source: botkube/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: botkube-clusterrole
labels:
app: botkube
rules:
- apiGroups: ["*"]
resources: ["*"]
verbs: ["get", "watch", "list"]
---
# clusterrolebinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: botkube-clusterrolebinding
labels:
app: botkube
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: botkube-clusterrole
subjects:
- kind: ServiceAccount
name: botkube-sa
namespace: botkube
---
# deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: botkube
labels:
component: controller
app: botkube
spec:
replicas: 1
selector:
matchLabels:
component: controller
app: botkube
template:
metadata:
labels:
component: controller
app: botkube
spec:
serviceAccountName: botkube-sa
containers:
- name: botkube
2019-03-07 18:11:25 +00:00
image: "infracloud/botkube:0.6"
imagePullPolicy: Always
volumeMounts:
- name: config-volume
mountPath: "/config"
env:
- name: CONFIG_PATH
value: "/config/"
# set one of the log levels- info, warn, debug, error, fatal, panic
- name: LOG_LEVEL
value: "info"
volumes:
- name: config-volume
configMap:
name: botkube-configmap