ohMyHelm¶
ohMyHelm ist ein universeller Helm Chart Wrapper, der es ermöglicht, beliebige Anwendungen in Helm zu verpacken, ohne eigene Templates schreiben zu müssen.
Was ist ohMyHelm?¶
ohMyHelm stellt vorgefertigte, flexible Helm Chart Templates bereit, die über die values.yaml konfiguriert werden können. Anstatt für jede Anwendung eigene Chart-Templates zu erstellen, können Sie ohMyHelm als Dependency einbinden und durch einfache Konfiguration ein vollständiges Kubernetes-Deployment erstellen.
Hauptfunktionen¶
Chart-Funktion¶
Wenn chart.enabled: true gesetzt ist, erstellt ohMyHelm automatisch:
- Deployment oder StatefulSet - Flexibel wählbar
- Service - Automatische Service-Konfiguration
- Ingress - Einfache oder erweiterte Ingress-Konfiguration
- ServiceAccount & RBAC - Optional konfigurierbare Berechtigungen
- HorizontalPodAutoscaler - Automatische Skalierung
- ConfigMaps und Secrets - Integrierte Helper-Funktionen
- Init-Container und Sidecars - Multi-Container-Pods
- Jobs - Pre-/Post-Install Jobs
- Volumes - PVC-Templates für StatefulSets oder Volumes für Deployments
- Prometheus ServiceMonitor - Monitoring-Integration
Helper-Funktionen¶
ohMyHelm bietet unabhängige Helper-Funktionen, die auch ohne chart.enabled verwendet werden können:
- Namespaces - Automatische Namespace-Erstellung
- Docker Registry Secrets - Image Pull Secrets
- Secrets - Generische Secrets mit Auto-Generierung
- TLS Secrets - TLS-Zertifikate
- ConfigMaps - Konfigurationsdateien
- Ingress - Standalone Ingress-Ressourcen
- ServiceMonitor - Prometheus-Monitoring
- Jobs - Standalone Jobs
- Plain Manifests - Beliebige Kubernetes-Manifests
Vorteile¶
Keine Template-Entwicklung nötig¶
Sie müssen keine eigenen Helm Templates schreiben - ohMyHelm bietet fertige, getestete Templates, die über values.yaml konfiguriert werden.
Wiederverwendbarkeit¶
Verwenden Sie dieselben Chart-Templates für verschiedene Anwendungen. Jede Anwendung wird als eigene Instanz (Alias) von ohMyHelm eingebunden.
Flexibilität¶
Kombinieren Sie Chart- und Helper-Funktionen nach Bedarf. Erstellen Sie einfache Single-Container-Apps oder komplexe Multi-Container-Deployments.
Konsistenz¶
Alle Ihre Anwendungen folgen denselben Strukturen und Best Practices, was Wartung und Debugging vereinfacht.
GitOps-freundlich¶
Perfekt für GitOps-Workflows - die gesamte Konfiguration ist deklarativ in der values.yaml definiert.
Anwendungsfälle¶
ohMyHelm eignet sich perfekt für:
- Rapid Prototyping - Schnelles Deployment von Test-Anwendungen
- Standardisierte Deployments - Konsistente Deployment-Patterns über verschiedene Apps
- Microservices - Einfaches Management vieler ähnlicher Services
- Third-Party Software - Deployment von Software ohne offizielle Helm Charts
- CI/CD Pipelines - Automatisiertes Deployment mit minimaler Konfiguration
- Multi-Tenancy - Mehrfaches Deployment derselben App mit unterschiedlicher Konfiguration
Architektur¶
ohMyHelm wird als Helm Dependency in Ihrem Chart eingebunden:
your-chart/
├── Chart.yaml # Definiert ohMyHelm als Dependency
└── values.yaml # Konfiguration für ohMyHelm
Jede Anwendung bekommt einen eigenen Alias:
dependencies:
- name: ohmyhelm
alias: my-app # Eindeutiger Alias für diese Instanz
repository: https://gitlab.com/ayedocloudsolutions/ohmyhelm
version: 1.13.0
Schnellstart¶
Für den schnellen Einstieg siehe Erste Schritte.
Dokumentation¶
- Erste Schritte - Installation und erste Deployments
- Verwendung - Detaillierte Konfigurationsoptionen
- Beispiele - Praktische Anwendungsbeispiele
- Use Cases - Typische Einsatzszenarien
- Chart-Optionen - Detaillierte Chart-Konfiguration
- Helper-Funktionen - Dokumentation der Helper
Installation¶
ohMyHelm kann auf verschiedene Arten verwendet werden:
1. Als lokale Chart-Dependency (empfohlen)¶
Clonen Sie das Repository und referenzieren Sie es lokal:
# Chart.yaml
dependencies:
- name: ohmyhelm
alias: myapp
repository: file://../ohmyhelm/charts
version: 1.13.0
2. Direkt aus dem GitLab-Repository¶
Laden Sie eine spezifische Release-Version herunter:
# Download Release
wget https://gitlab.com/ayedocloudsolutions/ohmyhelm/-/archive/v1.13.0/ohmyhelm-v1.13.0.tar.gz
tar xzf ohmyhelm-v1.13.0.tar.gz
Repository¶
- GitLab: https://gitlab.com/ayedocloudsolutions/ohmyhelm
- Releases: https://gitlab.com/ayedocloudsolutions/ohmyhelm/-/releases
Version¶
Aktuelle Version: 1.13.0
Lizenz¶
ohMyHelm ist Open Source und kann frei verwendet werden.