Repository navigation
Faro Library v1.0.0
Faro Kubernetes Resource Monitoring Library v1.0.0
A lightweight Go library for monitoring Kubernetes resource changes with server-side filtering.
Installation
go get github.com/T0MASD/faro@v1.0.0Quick Start
package main
import (
"context"
"github.com/T0MASD/faro/pkg"
)
func main() {
// Create Kubernetes client
client, err := faro.NewKubernetesClient()
if err != nil {
panic(err)
}
// Create logger
logger, err := faro.NewLogger("./logs")
if err != nil {
panic(err)
}
defer logger.Shutdown()
// Load configuration
config, err := faro.LoadConfig()
if err != nil {
panic(err)
}
// Create and start controller
controller := faro.NewController(client, logger, config)
ctx := context.Background()
// Set readiness callback (optional)
controller.SetReadyCallback(func() {
logger.Info("main", "Faro is ready")
})
// Start monitoring
if err := controller.Start(ctx); err != nil {
logger.Error("main", "Controller error: " + err.Error())
}
}Changelog
- a823650: Add test_import to gitignore for clean releases (@T0MASD)
- 3d4362e: Docs changes related to label pattern feature (@T0MASD)
- b34ad7b: Fix GoReleaser before hook to run unit tests from repo root (@T0MASD)
- 5efac0e: Fix GoReleaser unit test hook to use sh -c for directory change (@T0MASD)
- 7f8a663: Replace confusing [OVERFLOW] with [FARO-LOG-BUFFER-FULL] prefix and increase buffer size from 1K to 100K messages. (@T0MASD)
- f5c1b1e: add test10 (@T0MASD)
- 75cb2a4: add test9 confirming the bug (@T0MASD)
- c470168: feat: Implement unified label filtering with K8s selectors and custom regex patterns, fix informer duplication, add negative test validation (@T0MASD)
- b87be29: feat: transform Faro into reusable Go library with event handler interface (@T0MASD)
- 277cbef: pre v1.0.0 release (@T0MASD)
- 9b001ce: refactor: replace channel-based logging with callback handlers for better performance and reliability (@T0MASD)
- c533131: release (@T0MASD)
- 442308e: update readme reflecting pattern based filtering (@T0MASD)
Documentation
Examples
Full Changelog: ...v1.0.0