Configurer des règles de conservation des balises

Cette page explique comment créer et gérer des règles de conservation des tags pour les administrateurs ou les développeurs qui gèrent et tiennent à jour les dépôts Harbor. Les règles de conservation des tags Harbor sont un ensemble de règles qui gèrent et optimisent automatiquement les tags d'image dans les dépôts Harbor.

Utilisez des règles de conservation des balises pour effectuer les actions suivantes :

  • Libérez de l'espace de stockage : pour éviter d'accumuler des données inutiles, définissez des règles permettant de conserver les artefacts pendant une période spécifique ou supprimez manuellement les tags d'image inutilisés.
  • Maintenez un dépôt propre : ne conservez que les tags les plus récents ou les plus pertinents pour améliorer l'organisation et la visibilité.
  • Automatisez la gestion des tags : évitez la suppression manuelle et simplifiez la maintenance de vos dépôts d'images.

Les règles de conservation des tags vous permettent de gérer les images de votre dépôt en supprimant automatiquement les tags d'image dont vous n'avez plus besoin. Les filtres des règles de conservation parcourent vos tags en trois étapes séquentielles pour déterminer les images que vous souhaitez conserver et celles que vous souhaitez supprimer :

  1. Dépôts : saisissez le nom du dépôt. Harbor applique d'abord le filtre de dépôt, puis la règle de conservation à tous les dépôts correspondant au nom du dépôt. Les caractères génériques tels que *repo, repo* et ** sont autorisés. Pour en savoir plus, consultez Appliquer un filtre avec des modèles de caractères génériques. Par exemple, vous pouvez définir le filtre de dépôt sur **, ce qui signifie que tous les dépôts du projet sont inclus.
  2. Quantité à conserver : saisissez le nombre maximal de tags ou spécifiez une période maximale de conservation des tags. Par exemple, vous pouvez définir la règle de conservation pour conserver les 10 artefacts extraits les plus récents dans chaque dépôt.
  3. Tags à conserver : saisissez le nom des tags d'image que vous souhaitez conserver. Harbor applique la règle de conservation aux tags d'image qui correspondent au texte saisi. Cochez la case pour indiquer si vous souhaitez capturer les artefacts non tagués dans l'ensemble des artefacts éligibles à la conservation des tags ou les tags qui ne portent pas ce nom. Les caractères génériques tels que *tag, tag* et ** sont autorisés. Pour en savoir plus, consultez Appliquer des filtres avec des modèles de caractères génériques.

Avant de commencer

Avant de créer des règles de conservation des balises, vous devez disposer des éléments suivants :

Créer une règle de conservation des tags

Les règles de tag de conservation Harbor suivent un ordre et une logique spécifiques. Suivez ces principes lorsque vous créez des règles de conservation des tags Harbor :

  • Définissez des règles de conservation des tags pour les dépôts, et non pour les projets. Lorsque vous définissez une règle de conservation pour un dépôt, vous identifiez les tags à conserver.
  • Ne définissez pas de règles pour supprimer explicitement des tags. Lorsque vous définissez une règle, le système supprime toutes les balises d'un dépôt que vous n'identifiez pas comme éligibles à la conservation.
  • L'algorithme OR est utilisé entre les règles.

Créez une règle de conservation des tags à l'aide de la console Harbor :

  1. Connectez-vous à la console Harbor avec un compte disposant des droits d'administrateur de projet.
  2. Accédez à Projets et sélectionnez un projet.
  3. Dans la fenêtre du projet, cliquez sur l'onglet Règle, puis sur Rétention des tags.
  4. Cliquez sur Add Rule (Ajouter une règle).
  5. Dans le menu Dépôts, sélectionnez correspondant ou excluant.

    Si vous sélectionnez Correspondance, Harbor applique la règle aux dépôts que vous avez spécifiés. Si vous sélectionnez Exclure, Harbor applique la règle à tous les dépôts du projet, à l'exception de ceux que vous avez identifiés.

  6. Dans la zone Dépôts, saisissez le nom des dépôts auxquels appliquer la règle. Voici des exemples d'entrées de texte :

    • Nom du dépôt, tel que example_repo_1.
    • Liste de noms de dépôts séparés par une virgule, par exemple example_repo_1,example_repo_2,example_repo_3.
    • Nom de dépôt partiel avec des caractères génériques tels que example_*, *_3 ou *_repo_*.
    • Pour appliquer la règle à tous les dépôts du projet, utilisez le caractère générique **.
    • Pour en savoir plus, consultez Appliquer des filtres avec des modèles de caractères génériques.
  7. Dans le menu Par nombre d'artefacts ou nombre de jours, sélectionnez le nombre de tags à conserver ou la période de conservation des tags. Sélectionnez l'une des options suivantes :

    • Conserver les artefacts # les plus récents : conservez un nombre spécifique d'artefacts, en privilégiant ceux qui ont été envoyés le plus récemment. Aucune limite d'âge ne s'applique aux artefacts.
    • Conserver les # artefacts les plus récemment extraits : conservez un nombre spécifique d'artefacts, en privilégiant ceux qui ont été extraits le plus récemment. Aucune limite d'âge ne s'applique aux artefacts.
    • Conserver les artefacts envoyés au cours des # derniers jours : conservez les artefacts envoyés au cours d'une période spécifiée. Le nombre d'artefacts n'est pas limité.
    • Conserver les artefacts extraits au cours des # derniers jours : conservez les artefacts extraits au cours d'une période spécifiée. Le nombre d'artefacts n'est pas limité.
    • Conserver toujours : les artefacts correspondant à cette règle sont toujours conservés.
  8. Dans le menu Tags, sélectionnez correspondant ou excluant.

    Si vous sélectionnez Correspondance, Harbor applique la règle aux tags que vous avez identifiés. Si vous sélectionnez Exclure, Harbor applique la règle à tous les tags du dépôt, à l'exception de ceux que vous avez identifiés.

  9. Dans la zone Tags, saisissez les noms des tags auxquels appliquer la règle.

    Voici des exemples d'entrées de texte :

    • Nom du tag, par exemple example_tag_1.
    • Liste de noms de balises séparés par une virgule, par exemple example_tag_1,example_tag_2,example_tag_3.
    • Nom de tag partiel avec des caractères génériques tels que example_*, *_3 ou *_tag_*.
    • Pour appliquer la règle à tous les tags du projet, utilisez le caractère générique **.
    • Pour en savoir plus, consultez Appliquer des filtres avec des modèles de caractères génériques.
  10. Pour enregistrer la règle, cliquez sur Ajouter.

  11. Facultatif : Pour ajouter d'autres règles, cliquez sur Ajouter une règle. Vous pouvez ajouter jusqu'à 15 règles par projet.

  12. Facultatif : Dans le menu Programmation, cliquez sur Modifier et sélectionnez la fréquence d'exécution de la règle. Si vous sélectionnez Personnalisée, saisissez une commande de job Cron pour planifier la règle. Si vous définissez plusieurs règles, Harbor applique la planification à toutes les règles. Vous ne pouvez pas programmer différentes règles pour qu'elles s'exécutent à des moments différents.

  13. Pour tester les règles que vous avez définies, cliquez sur Dry Run (Simulation).

  14. Pour exécuter la règle immédiatement, cliquez sur Exécuter.

Appliquer des filtres avec des modèles à caractères génériques

Harbor utilise la correspondance de modèles à double astérisque. Les formats de caractères génériques sont des caractères ou des séquences spéciaux utilisés pour établir une correspondance avec un ou plusieurs caractères dans une chaîne, ou pour les représenter. Utilisez des modèles génériques lorsque vous appliquez des filtres aux noms de vos dépôts ou tags lors de la création de règles de conservation des tags. Les caractères génériques offrent les fonctionnalités suivantes :

  • Représente un ou plusieurs caractères sans les spécifier explicitement.
  • Utilisez les caractères génériques courants comme suit :

    • * : correspond à zéro ou plusieurs caractères.
    • ? : correspond à n'importe quel caractère.

    Par exemple, file* correspond à tout nom de fichier commençant par file.

  • Permet une correspondance flexible, ce qui est utile lorsque vous ne connaissez pas les caractères exacts.

Utilisez les modèles de caractères génériques compatibles suivants lorsque vous spécifiez des règles de conservation des balises :

Modèle Description
* Correspond à n'importe quelle séquence de caractères non séparateurs de chemin.
** Correspond à zéro répertoire ou plus.
? Correspond à n'importe quel caractère unique autre qu'un séparateur de chemin d'accès.
[class] Correspond à n'importe quel caractère unique autre qu'un séparateur de chemin d'accès par rapport à une classe de caractères. Pour en savoir plus, consultez Appliquer des filtres avec des classes de caractères.
{alt1,...} Correspond à une séquence de caractères si l'une des alternatives séparées par une virgule correspond.

Pour en savoir plus sur la mise en correspondance de modèles doublestar, consultez https://github.com/bmatcuk/doublestar.

Appliquer des filtres avec des classes de caractères

Les classes de caractères et les caractères génériques sont tous deux utilisés pour la mise en correspondance de modèles. Utilisez des classes de caractères lorsque vous appliquez des filtres à vos noms de dépôts ou de tags lors de la création de règles de conservation des tags. Par rapport aux modèles génériques, les classes de caractères offrent les fonctionnalités suivantes :

  • Définissez un ensemble de caractères spécifiques pouvant correspondre à une position particulière.
  • Utilisez des crochets ([]) pour encadrer l'ensemble. Par exemple, [aeiou] correspond à n'importe quelle voyelle.
  • Permet une correspondance plus précise, car vous listez explicitement les caractères autorisés.

Utilisez les classes de caractères suivantes pour filtrer les dépôts et configurer vos règles de conservation :

Classe Description
[abc] Correspond à n'importe quel caractère de l'ensemble.
[a-z] Correspond à n'importe quel caractère de la plage.
[^class] Correspond à n'importe quel caractère qui ne correspond pas à la classe.
[!class] Négation de la classe.

Modifier une règle de conservation des tags existante

Pour modifier une règle existante, utilisez le menu Action à côté d'une règle pour la désactiver, la modifier ou la supprimer.

Utilisez la console Harbor pour modifier les règles de conservation des tags existantes :

  1. Connectez-vous à l'interface Harbor avec un compte disposant des droits d'administrateur de projet.
  2. Accédez à Projets et sélectionnez un projet.
  3. Dans la fenêtre du projet, cliquez sur l'onglet Règle, puis sur Rétention des tags.
  4. Pour modifier une règle existante, utilisez le menu Action et sélectionnez l'une des options suivantes :

    • Désactiver : rend la règle inactive. Vous pourrez réactiver cette règle ultérieurement.
    • Modifier : mettez à jour les paramètres d'une règle existante.
    • Supprimer : supprime complètement la règle.