Que fait helm-chart-scaffolding ?
Concevez, organisez et gérez des charts Helm pour le templating et le packaging d'applications Kubernetes avec des configurations réutilisables. À utiliser lors de la création de charts Helm, du packaging d'applications Kubernetes ou de la mise en œuvre de déploiements basés sur des templates.
Aperçu
Cette compétence automatise la génération de charts Helm en suivant les meilleures pratiques, vous permettant de vous concentrer sur la logique métier plutôt que sur la configuration répétitive. Elle prend en charge :
- Initialisation rapide : Créez une structure de chart standard avec
Chart.yaml,values.yamlet des templates de base. - Composants réutilisables : Ajoutez des déploiements, services, ingress, ConfigMaps et autres ressources Kubernetes via des commandes simples ou en modifiant des valeurs.
- Gestion des dépendances : Définissez et gérez facilement les dépendances entre charts.
- Validation intégrée : Vérifiez la syntaxe et la cohérence des templates avant le déploiement.
Utilisation
Initialiser un nouveau chart
helm scaffold init my-app
Cela créera un dossier my-app avec la structure suivante :
my-app/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── service.yaml
│ └── ingress.yaml
└── charts/
Ajouter des composants
helm scaffold add deployment my-app --image nginx:latest --replicas 3
helm scaffold add service my-app --port 80
helm scaffold add ingress my-app --host example.com
Valider le chart
helm scaffold validate my-app
Générer le package
helm scaffold package my-app --version 1.0.0
Configuration
Les valeurs par défaut peuvent être personnalisées dans un fichier .helm-scaffold.yaml à la racine de votre projet :
scaffold:
registry: myregistry.io
namespace: mynamespace
defaults:
replicas: 2
imagePullPolicy: IfNotPresent
servicePort: 8080
Plateformes prises en charge
- Helm v3 (recommandé)
- Intégration CI/CD : GitHub Actions, GitLab CI, Jenkins
- Kubernetes 1.19+
Exemple complet
- Initialisez un chart :
helm scaffold init my-service
cd my-service
- Ajoutez des ressources :
helm scaffold add deployment my-service --image myapp:latest --replicas 3
helm scaffold add service my-service --port 80 --target-port 8080
- Définissez les dépendances (si nécessaire) :
# Chart.yaml
dependencies:
- name: redis
version: "17.0.0"
repository: "https://charts.bitnami.com/bitnami"
- Validez et packagez :
helm scaffold validate my-service
helm scaffold package my-service --version 1.0.0
Dépannage
- Erreur "chart non trouvé" : Assurez-vous que le chemin est correct et que
Chart.yamlexiste. - Problèmes de validation : Vérifiez la syntaxe YAML et que toutes les valeurs requises sont définies dans
values.yaml. - Dépendances non résolues : Exécutez
helm dependency updatedans le dossier du chart.
Licence
Projet sous licence MIT. Voir le fichier LICENSE pour plus de détails.