All Projects → stakater → Chowkidar

stakater / Chowkidar

Licence: Apache-2.0 license
A kubernetes controller that watches/observes events & then takes configured actions – [✩Star] if you're using it!

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Chowkidar

Strimzi Kafka Operator
Apache Kafka running on Kubernetes
Stars: ✭ 2,833 (+5050.91%)
Mutual labels:  openshift, kubernetes-controller
anthill
A Kubernetes/OpenShift operator to manage Gluster clusters
Stars: ✭ 35 (-36.36%)
Mutual labels:  openshift
Ansible Service Broker
Ansible Service Broker
Stars: ✭ 224 (+307.27%)
Mutual labels:  openshift
openshift-install-power
UPI Install helper to deploy OpenShift 4 on IBM Power Systems Virtual Server using Terraform IaC
Stars: ✭ 16 (-70.91%)
Mutual labels:  openshift
Openshift Cartridge Nodejs
Custom cartridge for OpenShift providing the lastest version of Node.js.
Stars: ✭ 227 (+312.73%)
Mutual labels:  openshift
openshift4-upi-homelab
OpenShift 4 User Provisioned Infrastructure Homelab
Stars: ✭ 15 (-72.73%)
Mutual labels:  openshift
Helloworld Msa
Main repository with documentation and support files
Stars: ✭ 218 (+296.36%)
Mutual labels:  openshift
camunda-cloud-helm
Camunda Platform 8 Self-Managed Helm charts
Stars: ✭ 41 (-25.45%)
Mutual labels:  openshift
jetlag
Automation to deploy Bare-metal OpenShift leveraging the Assisted-Installer
Stars: ✭ 18 (-67.27%)
Mutual labels:  openshift
openshift-json-schema
A set of JSON schemas for various OpenShift versions, extracted from the OpenAPI definitions
Stars: ✭ 23 (-58.18%)
Mutual labels:  openshift
openshift-starter-guides
Getting Started with OpenShift for Developers Workshop
Stars: ✭ 35 (-36.36%)
Mutual labels:  openshift
Openwhisk Deploy Kube
The Apache OpenWhisk Kubernetes Deployment repository supports deploying the Apache OpenWhisk system on Kubernetes and OpenShift clusters.
Stars: ✭ 231 (+320%)
Mutual labels:  openshift
openshift-cartridge-mysql
Custom cartridge for OpenShift providing MySQL 5.7.17
Stars: ✭ 13 (-76.36%)
Mutual labels:  openshift
Azure arc
Automated Azure Arc environments
Stars: ✭ 224 (+307.27%)
Mutual labels:  openshift
ChRIS ultron backEnd
Backend for ChRIS
Stars: ✭ 28 (-49.09%)
Mutual labels:  openshift
Kcli
Management tool for libvirt/aws/gcp/kubevirt/openstack/ovirt/vsphere/packet
Stars: ✭ 219 (+298.18%)
Mutual labels:  openshift
Openshift Examples
Openshift Examples - This repo does not provide end to end example but rather act as a rough draft for my work. use with caution. Buzzme at @twitter
Stars: ✭ 247 (+349.09%)
Mutual labels:  openshift
pulp-operator
Kubernetes Operator for Pulp 3. Under active development.
Stars: ✭ 32 (-41.82%)
Mutual labels:  openshift
ocp4upc
OCP4 Upgrade Paths Checker
Stars: ✭ 30 (-45.45%)
Mutual labels:  openshift
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (-61.82%)
Mutual labels:  openshift

Chowkidar

Go Report Card Go Doc Release GitHub tag Docker Pulls Docker Stars MicroBadger Size MicroBadger Layers license

Get started with Stakater

WHY NAME CHOWKIDAR?

Chowkidar, an Urdu word, is used for Watchman in Pakistan. This Chowkidar will watch over your cluster, looking for any anomaly in the cluster and will act as you want it to.

Problem

We would like to watch for relevant events happening inside kubernetes and then perform actions depending upon the criteria. e.g. I would like to get a slack notification when a pod is submitted without requests & limits.

Solution

Chowkidar allows you to have multiple controllers that will continuously watch types in all the namespaces and automatically perform any actions given in the yaml file. With this, you can easily check for any criteria on your Pods/other types and take corresponding actions.

Deploying to Kubernetes

Vanilla Manifests

You have to first clone or download the repository contents. The kubernetes deployment and files are provided inside deployments/kubernetes/manifests folder.

Configuring

First of all you need to modify configs/config.yaml file. Following are the available options that you can use to customize the controllers:

Key Description
type The type of Resource you want to monitor, like Pods, Deployments, etc
watchcriterion The criterion for which you want to take actions for the controller e.g. ResourceExists,etc
actions The Array of actions that you want to take, e.g. send message to Slack, etc

Supported Types

Currently we are supporting,

  • Pods

We will be adding support for other Types as well in the future

Supported Criterion

Currently we are supporting following Criterion

  • resourceExists: It will make sure Pods should have Resources and if not found, it will take action

We will be adding support for other Criterion as well in the future

Supported Actions

Currently we are supporting following Actions with their Parameters,

  • Slack: you need to provide token and Channel Name as Parameters in the yaml file

We will be adding support for other Actions as well in the future

Deploying

You can deploy Chowkidar by running the following kubectl commands:

kubectl apply -f configmap.yaml -n <namespace>
kubectl apply -f rbac.yaml -n <namespace>
kubectl apply -f deployment.yaml -n <namespace>

Helm Charts

Or alternatively if you configured helm on your cluster, you can deploy Chowkidar via helm chart located under deployments/kubernetes/chart/Chowkidar folder.

Help

Got a question? File a GitHub issue, or send us an email.

Talk to us on Slack

Join and talk to us on the #tools-imc channel for discussing Chowkidar

Join Slack Chat

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Changelog

View our closed Pull Requests.

License

Apache2 © Stakater

About

Chowkidar is maintained by Stakater. Like it? Please let us know at [email protected]

See our other projects or contact us in case of professional services and queries on [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].