Skip to content

Faro Library v1.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 13:13
· 96 commits to main since this release

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.0

Quick 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