Prochain webinaire : La sécurité d'entreprise pour Claude Code | 21 avril · 11 h PST. Inscrivez-vous ici →

Helm Charts sur ArtifactHub via un hébergement sur des pages Github

Par TrueFoundry

Mis à jour : August 17, 2023

Résumez avec

Voyons comment nous pouvons héberger nos graphiques de barre sur les pages GitHub et permettre à d'autres personnes d'utiliser nos graphiques sur ArtifactHub. Avant de comprendre le processus, nous essaierons de comprendre ces termes de la manière la plus simple.

Qu'est-ce qu'un Helm Chart

Les diagrammes Helm vous permettent de modéliser les ressources Kubernetes que vous souhaitez déployer. Si vous souhaitez créer une ressource Kubernetes dans plusieurs clusters (ou même dans le même cluster) avec des valeurs différentes, créez un modèle pour les ressources et empaquetez-le. Ce package est connu sous le nom de helm chart.

Pages GitHub

GitHub Pages est une fonctionnalité de GitHub qui vous permet de créer un site Web ou une page Web hébergée sur les serveurs GitHub. Si vous avez un simple index.html alors vous pouvez héberger ce fichier HTML en utilisant le nom de domaine fourni par GitHub qui est généralement au format nom d'utilisateur.github.io . C'est un moyen pour vous de partager votre travail ou de présenter vos projets en ligne sans avoir besoin d'un service d'hébergement Web distinct. Dans notre cas, nous allons hôte nos tableaux de bord sur GitHub Pages.

Hub d'artefacts

ArtifactHub est une plateforme Web qui fait office de référentiel central pour diverses distributions de logiciels telles que Helm Charts, OPA, etc. Une fois que nous aurons créé notre helm chart et l'aurons hébergé sur les pages GitHub, nous le rendrons accessible à la communauté en le présentant sur Artifacthub.

ArtifactHub n'héberge pas les cartes Helm lui-même, mais sert plutôt de registre pour les référentiels de cartes Helm. Les développeurs peuvent publier leurs graphiques Helm dans leur référentiel préféré, tel que GitHub, GitLab ou Bitbucket, puis enregistrer leur référentiel auprès d'ArtifactHub.

Hébergement de Helm Charts via GitHub Pages

Nous allons maintenant voir comment tirer parti des fonctionnalités Pages de GitHub pour héberger les organigrammes de notre application. Dans cet exemple, je prends un exemple de tableau de barre, mais vous pouvez également utiliser vos propres graphiques de barre personnalisés de la même manière.

Étape 1 : Création d'un exemple de diagramme de barre

Nous allons commencer par créer un exemple de diagramme de barre

helm create sample-nginx

Étape 2 : créer un dépôt GitHub

Nous allons créer un dépôt GitHub public dans lequel nous hébergerons les graphiques.

  • Création d'un dépôt GitHub
  • Assurez-vous qu'il est public
  • Créez un répertoire avec le nom de graphiques qui contiendra votre tableau de barre
  • graphiques le répertoire se trouve au niveau racine de votre référentiel
  • Transférez vos graphiques vers le référentiel principal succursale

$ arbre.
.
─ README.md
・─ graphiques
─ sample-nginx
─ Chart.yaml
─ graphiques
templates
│ ─ NOTES.txt
│ ─ _helpers.tpl
site.─ deployment.yaml
│ ─ hpa.yaml
│ ─ ingress.yaml
site.─ service.yaml
─ serviceaccount.yaml
Dépistages
• test-connection.yaml
─ values.yaml

Nous avons créé un dépôt et il est hébergé ici :

Étape 3 : Création d'un jeton d'accès Github

Une fois que nos graphiques sont dans principal branche dont nous avons besoin pour créer un pipeline permettant de créer une version GitHub. Cette version de GitHub publiera en retour nos graphiques. Pour cela, nous avons besoin d'un jeton à créer avec un ensemble spécifique de autorisations qui sera ensuite utilisé dans notre pipeline pour publier des graphiques.

  • Cliquez sur votre profil GitHub en haut à droite
  • Accédez à Réglages.
  • Accédez à Paramètres du développeur dans la dernière option du panneau de gauche.
  • Accédez à Jetons d'accès personnels et sélectionnez Jetons à grain fin.
  • Cliquez sur Générer un nouveau jeton
Accessing Github Page for Helm Chart
  • Donnez un nom de jeton et sélectionnez la date d'expiration. Pour l'instant, j'utilise 7 jours après quel jeton deviendra inutile.
  • Dans l'Accès au référentiel, sélectionnez Uniquement les référentiels et choisissez notre dépôt github sur lequel nous travaillons.
Access token for Hem Chart
  • Dans la section des autorisations, nous n'avons besoin que des autorisations du référentiel.
  • Dans cette sélection, nous avons besoin Lisez et écrivez pour Sommaire
  • En résumé, nous ne devons avoir que ces autorisations
  • Une fois le jeton généré, gardez-le en lieu sûr avec vous pour l'étape suivante.

Étape 4 : Configuration des pages GitHub

Nous pouvons utiliser les pages GitHub pour héberger notre site Web directement sur GitHub (de manière statique).

  • Créons une autre branche dans le référentiel sous le nom pages gh et assurez-vous de nommer la succursale par pages gh uniquement.
  • Dans cette branche, supprimez tout et créez simplement un fichier simple index.html pour tester l'hébergement. Transférez vos modifications à GitHub.

<BR>DOCTYPE html>
<html>
<head>
<title>Exemples de graphiques</title>
<style>
.graphique {
largeur : 400 pixels ;
hauteur : 300 pixels ;
marge : 20 pixels ;
bordure : 1px solid #ccc ;
boîte-ombre : 2 pixels 2 pixels 5 pixels #ccc ;
affichage : bloc en ligne ;
alignement vertical : en haut ;
rembourrage : 10 pixels ;
taille de la boîte : border-box ;
taille de la police : 14 pixels ;
hauteur de ligne : 1,5 ;
}

.graphique h3 {
marge supérieure : 0 ;
taille de la police : 18 pixels ;
épaisseur de la police : gras ;
}

.graphique p {
marge : 0 ;
}
</style>
</head>
<body>
<h1>Exemples de graphiques</h1>
<div class="chart">
<h3>Graphique 1</h3>
<p>Lorem ipsum dolor sit amet, consécration adipiscine, élite. Nombre entier : euismod diam et purus</p> hendrerit mollis.
<!-- add your chart code here -->
</div>
<div class="chart">
<h3>Graphique 2</h3>
<p>Lorem ipsum dolor sit amet, consécration adipiscine, élite. Nombre entier : euismod diam et purus</p> hendrerit mollis.
<!-- add your chart code here -->
</div>
<div class="chart">
<h3>Graphique 3</h3>
<p>Lorem ipsum dolor sit amet, consécration adipiscine, élite. Nombre entier : euismod diam et purus</p> hendrerit mollis.
<!-- add your chart code here -->
</div>
</body>
</html>

  • Accédez aux paramètres sous le nom de votre référentiel et cliquez sur Pages dans le panneau de gauche.
  • Dans la section Création et déploiement, choisissez la branche pages gh et attendez un certain temps que GitHub le traite. Une fois que c'est fait, vous obtiendrez une URL dans la même fenêtre. En cliquant dessus, vous verrez le index.html nous avons créé.
  • Cliquez ici pour consulter notre fichier index.html — https://dunefro.github.io/sample-charts/
  • À présent, plutôt que d'héberger ce fichier HTML, nous hébergerons nos organigrammes.

Étape 5 : Création d'un pipeline dans GitHub Actions

Dans les étapes précédentes, nous avons discuté du pipeline qui utilisera le jeton Access pour créer une version GitHub. Vous pouvez choisir n'importe quel outil préféré pour effectuer cette tâche, mais je choisirai GitHub Actions pour cela. GitHub Actions est un autre outil pris en charge nativement dans GitHub pour effectuer des tâches CI/CD.

Avant de créer le pipeline, nous allons créer une variable secrète pour transmettre le jeton que nous avons créé lors de la tâche précédente.

  • Accédez à votre dépôt et cliquez sur Paramètres sous le nom de votre dépôt
  • Accédez à Secrets et variables dans le panneau de gauche et cliquez sur Actions
  • Cliquez sur New Repository Secret et collez le jeton

Ce jeton peut désormais être utilisé dans le pipeline pour diffuser les versions.

Nous allons maintenant créer le pipeline GitHub Action

  • Création d'un répertoire .github/flux de travail à la racine de votre dépôt dans le principal branche.
  • Ce répertoire est le répertoire par défaut dans lequel nous conservons tous les pipelines CI/CD pour que GitHub Actions puisse s'exécuter.
  • Créez un fichier nommé release.yaml dans le répertoire ci-dessus.
  • Collez le contenu suivant

nom : Release Charts

sur :
appuyez sur :
succursales :
- principal

emplois :
sortie :
autorisations :
contenu : écrivez # pour lancer la version du graphique et créer une version (helm/chart-releaser-action)

fonctionne sur : ubuntu-latest
étapes :
- nom : Checkout Code
utilisations : actions/checkout @v3
avec :
profondeur de récupération : 0

- nom : Configure Git
exécuter : |
git config user.name « $GITHUB_ACTOR »
git config user.email « $ GITHUB_ACTOR@users.noreply.github.com »
- nom : Set up Helm
utilise : azure/setup-helm @v3 .5
avec :
version : v3.9.2

- nom : Run chart-releaser
utilisations : helm/chart-releaser-action @v1 .5.0
env :
CR_TOKEN : « $ {{secrets.HELM_RELEASE_TOKEN}} »

Ce pipeline est très simple. Comprenons-le très vite

  1. nom — nom du pipeline
  2. sur — condition pour faire fonctionner le pipeline, ici nous spécifions de l'exécuter à chaque poussée principal branche.
  3. emplois — la tâche réelle qui contient le code du pipeline. Il vérifie les autorisations de écrire dans le contenu que nous avons déjà donné
  4. pas définissez les étapes du pipeline. Dans lequel la première étape consiste à utiliser actions/checkout @v3 . Idéalement, si vous créez le pipeline, vous devez d'abord vérifier le code. Plutôt que d'écrire le code pour consulter, GitHub fournit un action qui peut être utilisé directement plutôt que d'écrire le code.
  5. Dans la deuxième étape, nous exécutons les commandes pour configurer git. De même, dans la troisième étape, nous utilisons azure/setup-helm action qui nous placera à la barre.
  6. Dans la dernière étape, nous utilisons helm/chart-releaser-action pour publier le tableau des commandes. En ce qui concerne la publication, nous avons besoin du jeton secret que nous avons déjà créé et transmis dans le pipeline via le nom du jeton. HELM_RELEASE_TOKEN . Cette action créera également un index.yaml dans pages gh branche qui fera en sorte que la page GitHub agisse comme un registre statique pour les organigrammes.

Étape 6 : Exécutez le pipeline et vérifiez si les versions sont créées ou non

Nous allons maintenant apporter de très petits changements à la LISEZ-MOI.md fichier du référentiel dans le principal branche pour que le pipeline soit déclenché. Lorsque j'ai appuyé sur les modifications, je peux voir un petit point orange qui signifie qu'un pipeline est en cours d'exécution

  • Accédez à Actions sous le nom du référentiel et recherchez les pipelines en cours d'exécution.
  • Une fois le pipeline terminé, nous pouvons aller à pages gh succursale et vérifiez si index.yaml est créé ou non.
  • index.yaml est un moyen par lequel helm est capable d'identifier n'importe quel site Web hébergé statiquement en tant que registre helm.
  • Une fois le pipeline terminé, un autre pipeline se déclenchera automatiquement avec le nom de création et déploiement de pages qui est créé automatiquement par GitHub pour héberger les modifications que nous apportons dans le branche gh-pages fabrication index.yaml accessible au public. — https://dunefro.github.io/sample-charts/index.yaml
  • Nous pouvons aller de l'avant et consulter les versions sur GitHub pour constater que notre organigramme a été publié sur la page des versions. — https://github.com/dunefro/sample-charts/releases

Étape 7 : Confirmez la version en la déployant dans un cluster minikube

Pour vérifier si notre registre Helm a été créé avec succès ou non

  • Créez un minikube grappe
  • Exécutez la commande ci-dessous

# ajouter le repo
helm repo ajoute des exemples de graphiques https://dunefro.github.io/sample-charts/
mise à jour du référentiel helm

# installer les cartes
helm upgrade --install test-nginx sample-charts/sample-nginx

# cases à cocher
$ kubectl get pods
LE STATUT « NOM PRÊT » REDÉMARRE L'ÂGE
test-nginx-sample-nginx-b95bb4f46-tbppn 1/1 Exécution 0 30s

Nos graphiques fonctionnent bien.

Configuration d'ArtifactHub

Nous allons maintenant essayer de voir comment créer un compte sur ArtifactHub afin de pouvoir montrer nos organigrammes à la communauté. Vous pouvez également trouver d'autres graphiques communautaires tels que

Étape 1 : Créez un compte sur ArtifactHub et créez un dépôt

Nos graphiques sont désormais hébergés. Nous devons nous assurer qu'ils peuvent être utilisés par d'autres développeurs via ArtifactHub.

  • Accédez à https://artifcathub.io et inscrivez-vous.
  • Publiez ceci, cliquez sur l'icône de votre profil dans le coin supérieur gauche, puis cliquez sur Panneau de configuration.
  • Cliquez sur + Ajouter un référentiel et ajoutez les détails du référentiel. Assurez-vous d'utiliser l'URL à laquelle vos graphiques sont hébergés sur les pages GitHub.
  • Maintenant, attendez et détendez-vous. ArtifactHub extraira automatiquement les détails à l'aide du index.yaml hébergé sur nos pages

Étape 2 : Vérifiez votre dépôt

Nous pouvons voir notre dépôt en cours de création et une fois qu'ArtifactHub sera en mesure d'extraire les données, elles commenceront également à se refléter dans les recherches. Nous voulons maintenant appliquer la balise d'éditeur vérifié, quelque chose comme ceci

Pour cela, nous devons ajouter un fichier artifacthub-repo.yml dans le pages gh branch en tant que fichier de métadonnées qui sera lu par ArtifactHub en retour pour vérifier que nous sommes bien le propriétaire du registre.

  • Copiez l'ID depuis le référentiel que nous avons créé.
  • Créez un fichier nommé artifacthub-repo.yml dans le pages gh branche avec le contenu suivant

ID du dépôt : 67d52f16-b102-4661-bfa5-9e6694587e24
propriétaires : # (facultatif, utilisé pour revendiquer la propriété du référentiel)
- nom : Vedant Pareek
courriel : dunefro@gmail.com

  • Mettez à jour le version de votre graphique afin qu'ArtifactHub et GitHub Actions puissent le récupérer.
  • Attendez un moment qu'ArtifactHub effectue la vérification du registre.

C'est de la même manière que nous hébergions nos palmarès publics sur Véritable fonderie. TrueFoundry est MLOP, LLmops plateforme qui facilite l'ensemble du cycle de vie des modèles d'apprentissage automatique, du développement à la production. Il prend en compte tous les points sensibles tout au long du cycle de vie du machine learning afin d'apporter facilité et confort lors de la création de modèles.

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

INSCRIVEZ-VOUS
Table des matières

Gouvernez, déployez et suivez l'IA dans votre propre infrastructure

Réservez un séjour de 30 minutes avec notre Expert en IA

Réservez une démo

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

Démo du livre

Découvrez-en plus

October 5, 2023
|
5 min de lecture

<Webinar>Vitrine GenAI pour les entreprises

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min de lecture

Les 6 meilleurs outils de réglage pour la formation des modèles en 2026

May 25, 2023
|
5 min de lecture

LLMs open source : Embrace or Perish

August 27, 2025
|
5 min de lecture

Cartographie du marché de l'IA sur site : des puces aux plans de contrôle

 Best AI Gateways in 2026
April 22, 2026
|
5 min de lecture

5 meilleures passerelles IA en 2026

comparaison
April 22, 2026
|
5 min de lecture

Intégration de Cline avec TrueFoundry AI Gateway

Outils LLM
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 min de lecture

Qu'est-ce qu'AI Gateway ? Concepts de base et guide

Aucun article n'a été trouvé.
April 22, 2026
|
5 min de lecture

LLM Embeddings 101 : un guide complet 2024

Terminologie LLM
Aucun article n'a été trouvé.

Blogs récents

Faites un rapide tour d'horizon des produits
Commencer la visite guidée du produit
Visite guidée du produit