k8see-exporter

command module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2026 License: MIT Imports: 25 Imported by: 0

README

GitHub release Go Report Card GitHub Downloads Coverage Badge linter coverage Snapshot Build Release Build License

k8see (Kubernetes Events Exporter)

Kubernetes Events Exporter is a suit of three tools to export kubernertes events in an external database. The goal is to get events in an SQL DB to be able to analyze what happened.

The 3 tools are :

  • k8see-exporter : Deployment inside the kubernetes cluster to export events in a redis stream
  • k8see-importer : Tool that read the redis stream to import events in a database (PostGreSQL)
  • k8see-webui : Web interface to query the database
  • k8see-deploy : kubernetes manifests to deploy k8see-exporter and also the whole procedure to deploy a full test environment in a k8s cluster (with kind).

k8see-exporter

The image is available on GitHub Container Registry: ghcr.io/sgaunet/k8see-exporter:version

Deployment

The application can be deployed using:

Health Endpoints

k8see-exporter exposes HTTP health endpoints for Kubernetes probes on port 2112 (configurable via METRICS_PORT environment variable):

  • /healthz - Liveness probe (returns 200 OK if running)
  • /readyz - Readiness probe (returns 200 OK if Redis is connected and informer is synced)
  • /metrics - Prometheus metrics endpoint
Kubernetes Probe Configuration
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: k8see-exporter
        ports:
        - name: metrics
          containerPort: 2112
        livenessProbe:
          httpGet:
            path: /healthz
            port: metrics
          initialDelaySeconds: 10
          periodSeconds: 10
          timeoutSeconds: 2
          failureThreshold: 3
        readinessProbe:
          httpGet:
            path: /readyz
            port: metrics
          initialDelaySeconds: 5
          periodSeconds: 5
          timeoutSeconds: 2
          failureThreshold: 2

The readiness probe will mark the pod as NotReady during Redis connection issues, preventing traffic routing to unhealthy instances.

RBAC Requirements

k8see-exporter requires cluster-wide read permissions for Kubernetes events.

Required Permissions
apiVersion: v1
kind: ServiceAccount
metadata:
  name: k8see-exporter
  namespace: k8see
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: k8see-exporter
rules:
- apiGroups: [""]
  resources: ["events"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: k8see-exporter
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: k8see-exporter
subjects:
- kind: ServiceAccount
  name: k8see-exporter
  namespace: k8see
Why Cluster-Wide?

k8see-exporter monitors events across all namespaces to provide comprehensive cluster observability. It uses a Kubernetes informer that watches the entire cluster.

Security Considerations
  • Read-only access: Only requires get, list, watch (no write permissions)
  • Events only: No access to Pods, Secrets, or other sensitive resources
  • Standard pattern: Same permissions as kubectl get events --all-namespaces

Note: If using Helm deployment, RBAC resources are automatically created. Manual deployments require creating these resources.

Development environment

The repository k8see-deploy contains the whole procedure to deploy a full test environment in a k8s cluster (with kind). The repository contains also themanifests to deploy k8see-exporter.

Build

This project is using :

## Binary

task

Build the image

task image

Make a release

task release

Project Status

🟨 Maintenance Mode: This project is in maintenance mode.

While we are committed to keeping the project's dependencies up-to-date and secure, please note the following:

  • New features are unlikely to be added
  • Bug fixes will be addressed, but not necessarily promptly
  • Security updates will be prioritized

Issues and Bug Reports

We still encourage you to use our issue tracker for:

  • 🐛 Reporting critical bugs
  • 🔒 Reporting security vulnerabilities
  • 🔍 Asking questions about the project

Please check existing issues before creating a new one to avoid duplicates.

Contributions

🤝 Limited contributions are still welcome.

While we're not actively developing new features, we appreciate contributions that:

  • Fix bugs
  • Update dependencies
  • Improve documentation
  • Enhance performance or security

If you're interested in contributing, please read our CONTRIBUTING.md guide for more information on how to get started.

Support

As this project is in maintenance mode, support may be limited. We appreciate your understanding and patience.

Thank you for your interest in our project!

Documentation

Overview

Package main contains the k8see-exporter application for exporting Kubernetes events to Redis.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL