Skip to content

Appendices and References

Definitions and Abbreviations

  • API: Application Programming Interface
  • CRD: Custom Resource Definition - Kubernetes extension mechanism
  • Dataplane API: HAProxy's management interface for runtime configuration
  • GVR: GroupVersionResource - Kubernetes resource identifier
  • HAProxy: High Availability Proxy - Load balancer and reverse proxy
  • IC: Ingress Controller
  • Informer: Kubernetes client-go pattern for watching and caching resources
  • O(1): Constant time complexity - performance independent of input size
  • Runtime API: HAProxy's socket-based interface for zero-reload updates
  • SharedInformerFactory: client-go factory for creating resource watchers with shared caches

References

  1. HAProxy Documentation

  2. HAProxy Go Libraries

    • client-native
      • Configuration parser and validator
      • Used for syntax validation without running HAProxy
    • dataplaneapi
      • Reference implementation for validation strategies
      • Configuration management patterns
  3. Kubernetes Client Libraries

    • client-go
      • Official Kubernetes Go client
      • Informer pattern documentation
    • apimachinery
      • Common machinery for Kubernetes API interactions
  4. Template Engines

    • Scriggo
      • Go-native template engine with dynamic include support
      • Actively maintained with regular releases
      • Recommended for Go template syntax with advanced features
  5. Observability

  6. Design Patterns