# kubeops Watch kubernetes resources, events and get recommedations ## Building ``` build/docker.sh ``` ## Creating slack bot - Create a bot with name `kubeops` https://my.slack.com/services/new/bot - Set icon, name and copy API token (required to configure kubeops) - Add the bot into a channel by inviting with `@kubeops` in the message area ## Configuration Kubeops reads configurations from `kubeopsconfig.yaml` file placed at `KUBEOPS_CONFIG_PATH` Syntax: ``` # Resources you want to watch resources: - name: RESOURCE_NAME # Name of the resources e.g pods, deployments, ingresses, etc namespaces: # List of namespaces, "all" will watch all the resources - all events: # List lifecycle events you want to receive, e.g create, update, delete OR all - all - name: pods namespaces: - kube-system - default events: - create - delete - name: roles namespaces: - all events: - create - delete # K8S errors/warnings 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: slack: channel: 'SLACK_CHANNEL_NAME' token: 'SLACK_API_TOKEN_FOR_THE_BOT' ``` ## Installing ### Using helm - Follow https://docs.helm.sh/using_helm/#installing-helm guide to install helm. - Clone the kubeops github repository. ``` git clone https://github.com/infracloudio/kubeops.git ``` - Update default `kubeopsconfig` in `helm/kubeops/values.yaml` to watch the resources you want. - Deploy kubeops using `helm install` in your cluster. ``` helm install --name kubeops11 --namespace kubeops --set kubeopsconfig.communications.slack.channel={SLACK_CHANNEL_NAME} --set kubeopsconfig.communications.slack.token={SLACK_API_TOKEN_FOR_THE_BOT} helm/kubeops/ ``` - Send `@kubeops help` in the channel to see if `kubeops` is responding.