Overview
Charts support two approaches for external traffic routing:- Traditional Ingress: Mature, widely supported
- HTTPRoute (Gateway API): Modern, more expressive
values.yaml and are mutually compatible.
Traditional Ingress
Basic Configuration
Complete Example
Ingress Class
- Nginx
- Traefik
- AWS ALB
- GKE
rewrite-target: URL rewritingssl-redirect: Force HTTPSrate-limit: Request rate limitingwhitelist-source-range: IP whitelisting
TLS Configuration
- Manual Secret
- cert-manager
- Cloud Provider
- Wildcard
Common Annotations
HTTPS Redirect
HTTPS Redirect
CORS
CORS
Rate Limiting
Rate Limiting
Rewrite Rules
Rewrite Rules
Authentication
Authentication
HTTPRoute (Gateway API)
Basic Configuration
Reusing Ingress Configuration
WhenreuseIngressConfiguration: true, HTTPRoute reads from ingress.hosts:
Standalone HTTPRoute
Advanced Routing
Gateway API Features
- Path Matching
- Header Matching
- Method Matching
- Query Params
Rate Limiting with Gateway API
Example from the Dify chart:Real-World Examples
Example 1: Production Web App (Nginx)
nginx-production.yaml
Example 2: Multi-Component App (Dify)
dify-values.yaml
Example 3: Gateway API with Envoy
envoy-gateway.yaml
Choosing Between Ingress and HTTPRoute
- Use Ingress When
- Use HTTPRoute When
- Use Both When
- You need maximum compatibility
- Using existing ingress controllers
- Simple host/path routing is sufficient
- Team is familiar with Ingress
- Production stability is critical
- Mature and stable
- Wide ecosystem support
- Extensive documentation
- Battle-tested in production
Troubleshooting
Ingress Not Working
TLS Certificate Issues
HTTPRoute Not Working
Next Steps
Values Configuration
Learn about values.yaml basics
Customization
Advanced customization techniques
Monitoring
Set up Prometheus monitoring
Chart Reference
Security best practices