Update the helm chart to be more robust. #1607
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Major Helm Chart Enhancement: External etcd Support and Production Features
Overview
This pull request significantly enhances the Omni Helm chart with production-ready features while maintaining full backwards compatibility with existing deployments. The chart now supports both embedded and external etcd configurations, comprehensive ingress management, and advanced service configuration options.
🚨 Breaking Changes
None - This release maintains full backwards compatibility. Existing deployments will continue to work without any changes.
✨ Major Features Added
1. External etcd Support
etcd.external: true
enables external etcd cluster usage2. Intelligent Resource Management
lookup
function to detect existing resources3. Comprehensive Ingress Templates
4. Enhanced Service Configuration
externalTrafficPolicy
configuration for load balancing5. Production-Ready Features
🔧 Technical Implementation
Resource Selection Logic
WireGuard Address Resolution
wireguard.namespace.svc.cluster.local
externalTrafficPolicy: Local
External etcd Configuration Examples
Basic External etcd:
With Secret-based Authentication:
With TLS from Secrets:
📋 Files Modified
New Templates
templates/statefulset.yaml
- StatefulSet for embedded etcd deploymentstemplates/ingress.yaml
- Comprehensive ingress configurationstemplates/poddisruptionbudget.yaml
- Pod disruption budget supportEnhanced Templates
templates/deployment.yaml
- External etcd support with conditional renderingtemplates/service.yaml
- Per-service annotations and WireGuard configurationtemplates/_helpers.tpl
- Updated helper functionsConfiguration
values.yaml
- Extensive new configuration optionsREADME.md
- Comprehensive documentation update🔄 Migration Path
Existing Users
helm upgrade
maintains current configurationNew Users
etcd.external: true
for horizontal scalingMigration Support
🧪 Testing Recommendations
Backwards Compatibility Testing
--reuse-values
New Feature Testing
📚 Documentation
The README has been completely rewritten with:
Migration Documentation
Configuration Examples
🎯 Benefits
For Existing Users
For New Users
🔒 Security Considerations
This enhancement transforms the Omni Helm chart from a basic deployment tool into a production-ready, enterprise-grade solution while maintaining complete backwards compatibility for existing users.