Open Source DevOps

Voyager

Secure HAProxy Ingress Controller for Kubernetes

DevOps & Platform 2017-2019 AppsCode Inc. Open Source

Project Overview

Voyager is a production-grade HAProxy-based Ingress Controller for Kubernetes, providing advanced traffic routing, load balancing, and SSL/TLS termination capabilities for cloud-native applications.

Challenge

As Kubernetes adoption grew in enterprise environments, organizations needed a robust, feature-rich ingress solution that could handle complex traffic routing scenarios, provide enterprise-grade security, and integrate seamlessly with cloud load balancers. The default Kubernetes ingress controllers lacked advanced features required for production workloads.

Solution

Voyager was developed as a Kubernetes-native ingress controller leveraging HAProxy's proven performance and reliability. Key innovations included:

  • Custom Resource Definition (CRD) Controller: Built a sophisticated Kubernetes controller to manage HAProxy configurations through CRDs
  • Cloud Load Balancer Integration: Seamless integration with AWS ELB/ALB, GCP Load Balancer, Azure Load Balancer, and DigitalOcean
  • Advanced Traffic Management: Support for weighted routing, canary deployments, blue-green deployments, and A/B testing
  • SSL/TLS Automation: Automatic certificate management with Let's Encrypt integration
  • TCP/UDP Load Balancing: Beyond HTTP/HTTPS, support for arbitrary TCP and UDP services
  • Authentication & Authorization: Built-in support for basic auth, OAuth, and external authentication services

Technical Implementation

Voyager was architected as a cloud-native application with the following technical characteristics:

  • Language: Go (Golang) for high performance and Kubernetes ecosystem compatibility
  • Architecture: Kubernetes Operator pattern with custom controllers
  • HAProxy Integration: Dynamic configuration generation and hot-reload without downtime
  • Multi-Cloud Support: Cloud-agnostic design with provider-specific optimizations
  • Observability: Prometheus metrics, structured logging, and health check endpoints
  • High Availability: Support for multi-replica deployments with leader election

Impact & Results

5,000+
GitHub Stars
1M+
Docker Pulls
100+
Contributors
Enterprise
Production Use
Open Source Success: Voyager became one of the most popular Kubernetes ingress controllers, adopted by enterprises worldwide for production workloads requiring advanced traffic management and high availability.

Key Features Delivered

  • HAProxy-based load balancing
  • Multi-cloud load balancer support
  • Automatic SSL/TLS with Let's Encrypt
  • TCP/UDP load balancing
  • Weighted routing & canary deployments
  • Authentication & authorization
  • Rate limiting & IP whitelisting
  • Prometheus metrics integration
  • Zero-downtime configuration updates
  • Custom error pages & redirects

Technical Leadership

Dipta Das served as a lead developer on the Voyager project at AppsCode, contributing to:

  • Core controller logic and Kubernetes CRD implementation
  • HAProxy configuration generation and management
  • Cloud provider integrations (AWS, GCP, Azure, DigitalOcean)
  • Traffic routing algorithms and load balancing strategies
  • Community engagement, documentation, and issue resolution