Zum Inhalt

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

Installation

ohMyHelm kann auf verschiedene Arten verwendet werden:

1. Als lokale Chart-Dependency (empfohlen)

Clonen Sie das Repository und referenzieren Sie es lokal:

git clone https://gitlab.com/ayedocloudsolutions/ohmyhelm.git
# 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

Version

Aktuelle Version: 1.13.0

Lizenz

ohMyHelm ist Open Source und kann frei verwendet werden.