Skip to content

Latest commit

 

History

History
102 lines (76 loc) · 2.87 KB

Readme.md

File metadata and controls

102 lines (76 loc) · 2.87 KB

Kube Notify

GitHub License pre-commit GitHub Release GitHub Actions Workflow Status Main GitHub Actions Workflow Status Release tests coverage

An app that watches kubernetes resource creation, deletion, updates and errors events and notify selected events to gotify.

Screenshots

Gotify Discord

Installation

Kube-notify

  1. Create and modify configuration file :
cp config.sample.yaml config.yaml
vim config.yaml
kubectl create cm kube-notify-config -n monitoring --from-file config.yaml
  1. Deploy resources (deployement + rbac) in monitoring namespace :
kubectl apply -f deployement.yaml

Configuration

All configuration are in /app/config.yaml file. Use sample config as an example.

Contributing

Installing

After installing poetry and pyenv you should do :

poetry install

Launching tests

poetry run pytest --cov

Kube-notify locally against a remote cluster

export PYTHONUNBUFFERED=1
poetry run kube-notify -c config.yaml

To do

  • Optimize Code
  • Badges
    • Latest release
    • CI passing
    • License
    • Coverage
  • Fonctionnalities
    • Stream CoreAPI Events
    • Possibility to stream Velero backups
    • Filter notifications on the following criteria : types, reasons, labels, namespaces, involvedObjectKind
    • Track Pod termination reasons
    • Add OpenAI module to send recomendation messages for non-normal events.
  • Create Helm chart
  • Documenting
    • Installation
    • Configuration
  • Notification services
    • Discord
    • Gotify
    • Mattermost
    • Slack
    • Telegram
  • Automation (GitHub Actions)
    • Coverage tests
    • pre-commit
    • Trivy security scan
    • Docker build & push (latest + releases)

References