From d0322dfcba8f4eafd4ea4f9ab972b1e86c065d3a Mon Sep 17 00:00:00 2001 From: Shijun Sun <30999793+AllForNothing@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:59:10 +0800 Subject: [PATCH 1/5] Hide version property if the value is undefined (#19395) 1.Related issue #19391 Signed-off-by: AllForNothing --- .../vulnerability-summary.component.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/portal/src/app/base/left-side-nav/interrogation-services/vulnerability-database/vulnerability-summary/vulnerability-summary.component.html b/src/portal/src/app/base/left-side-nav/interrogation-services/vulnerability-database/vulnerability-summary/vulnerability-summary.component.html index 25618fa27083..8f72132e4de6 100644 --- a/src/portal/src/app/base/left-side-nav/interrogation-services/vulnerability-database/vulnerability-summary/vulnerability-summary.component.html +++ b/src/portal/src/app/base/left-side-nav/interrogation-services/vulnerability-database/vulnerability-summary/vulnerability-summary.component.html @@ -229,10 +229,15 @@

{{ item?.cvss_score_v3 }}
-
- {{ item?.package + '@' + item?.version }} +
+ + {{ item?.package + '@' + item?.version }} + + + {{ item?.package }} +
From 950f19e4a3ac898169ad5d8eafbbc0cace0416b5 Mon Sep 17 00:00:00 2001 From: Matt Terwilliger Date: Fri, 6 Oct 2023 02:49:52 -0400 Subject: [PATCH 2/5] Add heading to contributing docs (#19412) I was searching for documentation on how to build the project and skimmed this but missed the link to the website since it's under the 'fork repository' heading. Signed-off-by: Matthew Terwilliger --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 91306ed4cf26..4d3c94d4af2e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,6 +43,8 @@ git fetch $USER ``` **NOTES:** Note that GOPATH can be any directory, the example above uses $HOME/go. Change $USER above to your own GitHub username. +### Build Project + To build the project, please refer the [build](https://goharbor.io/docs/edge/build-customize-contribute/compile-guide/) guideline. ### Repository Structure From 27e70cdf4fa6e972a9fb58858ec22389c6adb787 Mon Sep 17 00:00:00 2001 From: Kenji Gaillac <48765390+Nhqml@users.noreply.github.com> Date: Tue, 10 Oct 2023 11:29:06 +0200 Subject: [PATCH 3/5] feat(i18n): update french translations (#19418) Signed-off-by: Kenji Gaillac --- src/portal/src/i18n/lang/fr-fr-lang.json | 227 ++++++++++++----------- 1 file changed, 116 insertions(+), 111 deletions(-) diff --git a/src/portal/src/i18n/lang/fr-fr-lang.json b/src/portal/src/i18n/lang/fr-fr-lang.json index 348c8e4db2dd..ac2bfb964cd7 100644 --- a/src/portal/src/i18n/lang/fr-fr-lang.json +++ b/src/portal/src/i18n/lang/fr-fr-lang.json @@ -42,9 +42,10 @@ "NO": "Non", "NEGATIVE": "Négatif", "COPY": "Copier", + "EDIT": "Éditer", "ACTIONS": "Actions", "BROWSE": "Parcourir", - "UPLOAD": "Upload", + "UPLOAD": "Téléverser", "NO_FILE": "Aucun fichier sélectionné", "ADD": "Ajouter", "RUN": "Exécuter", @@ -54,7 +55,7 @@ }, "BATCH": { "DELETED_SUCCESS": "Suppression effectuée", - "DELETED_FAILURE": "Suppression echouée", + "DELETED_FAILURE": "Suppression échouée", "SWITCH_SUCCESS": "Bascule effectuée", "SWITCH_FAILURE": "Bascule échouée", "REPLICATE_SUCCESS": "Réplication effectuée", @@ -94,10 +95,10 @@ "REPO_TOOLTIP": "Les utilisateurs ne peuvent effectuer aucune opération sur les images dans ce mode.", "ENDPOINT_FORMAT": "L'endpoint doit commencer par HTTP:// or HTTPS://.", "OIDC_ENDPOINT_FORMAT": "L'endpoint doit commencer par HTTPS://.", - "OIDC_NAME": "Le nom du fournisseur oidc.", - "OIDC_ENDPOINT": "L'url d'un serveur compatible oidc.", - "OIDC_SCOPE": "Le champ envoyé au serveur au cours de l'authentification oidc. Il doit contenir 'openid', et 'offline_access'. Si vous utilisez google, veuillez supprimer 'offline_access' de ce champ.", - "OIDC_VERIFYCERT": "Décocher cette case si votre serveur oidc est hébergé avec un certificat auto-signé.", + "OIDC_NAME": "Le nom du fournisseur OIDC.", + "OIDC_ENDPOINT": "L'URL d'un serveur compatible OIDC.", + "OIDC_SCOPE": "Le champ envoyé au serveur au cours de l'authentification OIDC. Il doit contenir 'openid', et 'offline_access'. Si vous utilisez google, veuillez supprimer 'offline_access' de ce champ.", + "OIDC_VERIFYCERT": "Décocher cette case si votre serveur OIDC est hébergé avec un certificat auto-signé.", "OIDC_AUTOONBOARD": "Ignorer l'écran d'accueil afin que l'utilisateur ne puisse pas modifier son nom d'utilisateur. Le nom d'utilisateur est fourni à partir du Token ID.", "OIDC_USER_CLAIM": "Le nom du claim dans le ID Token à partir duquel le nom d'utilisateur est récupéré. S'il n'est pas spécifié, la valeur par défaut sera 'name'.", "NEW_SECRET": "Le secret doit être composé de 8 à 128 caractères avec au moins 1 majuscule, 1 minuscule et 1 chiffre." @@ -133,7 +134,7 @@ "GENERATE_SUCCESS": "Mise en place du CLI secret effectuée", "GENERATE_ERROR": "Mise en place du CLI secret échouée", "CONFIRM_TITLE_CLI_GENERATE": "Êtes-vous sûr de vouloir régénérer le secret ?", - "CONFIRM_BODY_CLI_GENERATE": "Si vous regénérez le CLI secret, l'ancien sera rejeté" + "CONFIRM_BODY_CLI_GENERATE": "Si vous régénérez le CLI secret, l'ancien sera supprimé" }, "CHANGE_PWD": { "TITLE": "Modifier le mot de passe", @@ -146,7 +147,7 @@ "ACCOUNT_SETTINGS": { "PROFILE": "Profil Utilisateur", "CHANGE_PWD": "Modifier le mot de passe", - "ABOUT": "A propos", + "ABOUT": "À propos", "LOGOUT": "Se déconnecter" }, "GLOBAL_SEARCH": { @@ -163,10 +164,11 @@ "NAME": "Administration", "USER": "Utilisateurs", "GROUP": "Groupes", + "REGISTRY": "Registres", "REPLICATION": "Réplication", "CONFIG": "Configuration", "VULNERABILITY": "Vulnérabilités", - "GARBAGE_COLLECTION": "Garbage Collection", + "GARBAGE_COLLECTION": "Service de purge", "INTERROGATION_SERVICES": "Services d'analyse" }, "LOGS": "Logs", @@ -196,7 +198,7 @@ "DELETION_TITLE": "Confirmer la suppression de l'utilisateur", "DELETION_SUMMARY": "Voulez-vous supprimer l'utilisateur {{param}} ?", "DELETE_SUCCESS": "Utilisateur supprimé avec succès.", - "ITEMS": "items", + "ITEMS": "entrées", "OF": "sur", "RESET_Ok": "Réinitialisation du mot de passe des utilisateurs réussie", "EXISTING_PASSWORD": "Le nouveau mot de passe ne peut pas être égal à l'ancien", @@ -222,12 +224,12 @@ "PUBLIC_PROJECTS": "Projets publics", "PROJECT": "Projet", "NEW_PROJECT": "Nouveau Projet", - "NAME_TOOLTIP": "Le nom du projet doit comporter 1~255 caractères avec des minuscules, des chiffres et. _- et doit commencer par des caractères ou des chiffres.", + "NAME_TOOLTIP": "Le nom du projet doit comporter 1~255 caractères avec des minuscules, des chiffres et ._- et doit commencer par des caractères ou des chiffres.", "NAME_IS_REQUIRED": "Le nom du projet est obligatoire.", "NAME_ALREADY_EXISTS": "Le nom du projet existe déjà.", "NAME_IS_ILLEGAL": "Le nom du projet est invalide.", "UNKNOWN_ERROR": "Une erreur inconnue s'est produite lors de la création du projet.", - "ITEMS": "items", + "ITEMS": "entrées", "DELETION_TITLE": "Confirmer la suppression de projet", "DELETION_SUMMARY": "Voulez-vous supprimer le projet {{param}} ?", "FILTER_PLACEHOLDER": "Filtrer les projets", @@ -273,8 +275,8 @@ "CONTENT_TRUST_TOGGLE": "Activer la confiance du contenu", "CONTENT_TRUST_POLCIY": "Autoriser uniquement le déploiement d'images vérifiées.", "PREVENT_VULNERABLE_TOGGLE": "Empêche les images vulnérables de fonctionner.", - "PREVENT_VULNERABLE_1": "Prévenir les images présentant une vulnérabilité grave de", - "PREVENT_VULNERABLE_2": "et au-dessus d'être déployé.", + "PREVENT_VULNERABLE_1": "Empêcher les images présentant une vulnérabilité grave de", + "PREVENT_VULNERABLE_2": "et au-dessus d'être déployées.", "SCAN": "Analyse des vulnérabilités", "AUTOSCAN_TOGGLE": "Analyse automatique des images lors de l'envoi", "AUTOSCAN_POLICY": "Analyser automatiquement les images lorsqu'elles sont envoyées au projet du registre." @@ -311,7 +313,7 @@ "GUEST": "Invité", "LIMITED_GUEST": "Invité avec droits limités", "DELETE": "Supprimer", - "ITEMS": "items", + "ITEMS": "entrées", "ACTIONS": "Actions", "USERNAME_IS_REQUIRED": "Nom d'utilisateur requis", "USERNAME_DOES_NOT_EXISTS": "Ce nom d'utilisateur n'existe pas.", @@ -324,7 +326,7 @@ "DELETED_SUCCESS": "Membre supprimé avec succès.", "SWITCHED_SUCCESS": "Rôle du membre changé avec succès.", "OF": "sur", - "SET_ROLE": "Set Role", + "SET_ROLE": "Définir Role", "REMOVE": "Remove", "GROUP_NAME_REQUIRED": "Le nom du groupe est requis", "NON_EXISTENT_GROUP": "Ce groupe n'existe pas", @@ -342,8 +344,8 @@ "TOKEN_EXPIRATION": "Expiration du jeton du compte robot (jours)", "DESCRIPTION": "Description", "ACTION": "Action", - "EDIT": "Editer", - "ITEMS": "items", + "EDIT": "Éditer", + "ITEMS": "entrées", "OF": "sur", "DISABLE_ACCOUNT": "Désactiver le compte", "ENABLE_ACCOUNT": "Activer le compte", @@ -380,9 +382,9 @@ "ENABLED": "Activé", "DISABLED": "Désactivé", "OF": "sur", - "ITEMS": "items", + "ITEMS": "entrées", "LAST_TRIGGERED": "Dernier déclenchement", - "EDIT_WEBHOOK": "Editer le webhook", + "EDIT_WEBHOOK": "Éditer le webhook", "ADD_WEBHOOK": "Ajouter un webhook", "CREATE_WEBHOOK": "Démarrer avec les webhooks", "EDIT_WEBHOOK_DESC": "Spécifier l'endpoint de réception des notifications du webhook", @@ -419,10 +421,10 @@ "NOTIFY_TYPE": "Type de notification", "EVENT_TYPE": "Types d'évènement", "EVENT_TYPE_REQUIRED": "Au moins un type d'évènement est nécessaire", - "PAYLOAD_FORMAT": "Payload Format", + "PAYLOAD_FORMAT": "Format du Payload", "CLOUD_EVENT": "CloudEvents", - "PAYLOAD_DATA": "Payload Data", - "SLACK_RATE_LIMIT": "Please be aware of Slack Rate Limits" + "PAYLOAD_DATA": "Donnée du Payload", + "SLACK_RATE_LIMIT": "Attention aux limites de requêtes de Slack" }, "GROUP": { "Group": "Groupe", @@ -445,7 +447,7 @@ "HTTP_TYPE": "HTTP", "OIDC_TYPE": "OIDC", "OF": "sur", - "ITEMS": "items", + "ITEMS": "entrées", "NEW_MEMBER": "Nouveau membre du groupe", "NEW_USER_INFO": "Ajouter un groupe pour être membre de ce projet avec le rôle spécifié", "ROLE": "Rôle", @@ -473,7 +475,7 @@ "OTHERS": "Autres", "ADVANCED": "Avancé", "SIMPLE": "Simple", - "ITEMS": "items", + "ITEMS": "entrées", "FILTER_PLACEHOLDER": "Filtrer les logs", "INVALID_DATE": "Date invalide.", "OF": "sur", @@ -529,8 +531,8 @@ "DELETION_TITLE_TARGET": "Confirmer la suppression de l'endpoint", "DELETION_SUMMARY_TARGET": "Voulez-vous supprimer l'endpoint {{param}} ?", "ADD_POLICY": "Nouvelle règle de réplication", - "EDIT_POLICY": "Editer", - "EDIT_POLICY_TITLE": "Editer la règle de réplication", + "EDIT_POLICY": "Éditer", + "EDIT_POLICY_TITLE": "Éditer la règle de réplication", "DELETE_POLICY": "Supprimer", "TEST_CONNECTION": "Tester la connexion", "TESTING_CONNECTION": "En train de tester la connexion...", @@ -564,7 +566,7 @@ "RUNNING": "En fonctionnement", "ERROR": "Erreur", "RETRYING": "En train de réessayer", - "STOPPED": "ARRETE", + "STOPPED": "ARRÊTÉ", "FINISHED": "Terminé", "CANCELED": "Annulé", "SIMPLE": "Simple", @@ -575,7 +577,7 @@ "UPDATE_TIME": "Heure de mise à jour", "LOGS": "Logs", "OF": "sur", - "ITEMS": "items", + "ITEMS": "entrées", "NO_LOGS": "Pas de logs", "TOGGLE_ENABLE_TITLE": "Activer la règle", "TOGGLE_DISABLE_TITLE": "Désactiver la règle", @@ -649,7 +651,7 @@ "UNREACHABLE_SOURCE_REGISTRY": "Échec de connexion au registre source. Veuillez vérifier que le registre source est disponible avant d'éditer cette règle: {{error}}", "CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"", "COPY_BY_CHUNK": "Copier par morceaux", - "COPY_BY_CHUNK_TIP": "Specifie si le blob doit être copié par morceaux. Transférer par morceaux peut augmenter le nombre de requêtes faites à l'API.", + "COPY_BY_CHUNK_TIP": "Spécifie si le blob doit être copié par morceaux. Transférer par morceaux peut augmenter le nombre de requêtes faites à l'API.", "TRIGGER_STOP_SUCCESS": "Déclenchement avec succès de l'arrêt d'exécution", "CRON_STR": "Cron String" }, @@ -666,7 +668,7 @@ "ACCESS_SECRET": "Secret d'accès", "STATUS": "Statut", "TEST_CONNECTION": "Test de connexion", - "TITLE_EDIT": "Editer l'endpoint", + "TITLE_EDIT": "Éditer l'endpoint", "TITLE_ADD": "Nouveau endpoint de registre", "DELETE": "Supprimer l'endpoint", "TESTING_CONNECTION": "En train de tester la connexion...", @@ -677,7 +679,7 @@ "FAILED_TO_GET_TARGET": "Échec de l'obtention de l'endpoint.", "CREATION_TIME": "Date/Heure de création", "OF": "sur", - "ITEMS": "items", + "ITEMS": "entrées", "CREATED_SUCCESS": "Endpoint créé avec succès.", "UPDATED_SUCCESS": "Endpoint mis à jour avec succès.", "DELETED_SUCCESS": "Endpoint supprimé avec succès.", @@ -728,13 +730,13 @@ "SHOW_DETAILS": "Afficher les détails", "REPOSITORIES": "Dépôts", "OF": "sur", - "ITEMS": "items", + "ITEMS": "entrées", "POP_REPOS": "Dépôts populaires", "DELETED_REPO_SUCCESS": "Dépôt supprimé avec succès.", - "DELETED_TAG_SUCCESS": "Tag supprimé avec succés.", + "DELETED_TAG_SUCCESS": "Tag supprimé avec succès.", "COPY": "Copier", "NOTARY_IS_UNDETERMINED": "Ne peut pas déterminer la signature de ce tag.", - "PLACEHOLDER": "Nous ne trouvons aucun dépôt !", + "PLACEHOLDER": "Nous n'avons trouvé aucun dépôt !", "NO_INFO": "Pas de description pour ce dépôt. Vous pouvez l'ajouter à ce dépôt.", "IMAGE": "Images", "LABELS": "Labels", @@ -786,6 +788,8 @@ "AUTH": "Authentification", "REPLICATION": "Réplication", "LABEL": "Labels", + "REPO_READ_ONLY": "Dépôt en lecture seule", + "WEBHOOK_NOTIFICATION_ENABLED": "Webhooks activés", "SYSTEM": "Réglages Système", "PROJECT_QUOTAS": "Quotas de projet", "CONFIRM_TITLE": "Confirmer pour annuler", @@ -810,11 +814,12 @@ "PRO_CREATION_ADMIN": "Administrateurs seulement", "ROOT_CERT": "Enregistrer le certificat racine", "ROOT_CERT_LINK": "Télécharger", - "GC": "Garbage collection", + "GC": "Purge", "REGISTRY_CERTIFICATE": "Certificat du registre", "NO_CHANGE": "Enregistrement abandonné, rien n'a changé", - "SKIP_SCANNER_PULL_TIME": "Passer pour mettre à jour la date/heure de pull pour le scanneur.", + "SKIP_SCANNER_PULL_TIME": "Conserver la date/heure de pull lors d'un scan", "TOOLTIP": { + "REPO_TOOLTIP": "Les utilisateurs ne peuvent effectuer aucune opération sur les images dans ce mode.", "SELF_REGISTRATION_ENABLE": "Activer l'inscription.", "SELF_REGISTRATION_DISABLE": "Désactiver l'inscription.", "VERIFY_REMOTE_CERT": "Détermine si la réplication de l'image doit vérifier le certificat d'un dépôt Harbor distant. Décochez cette case lorsque le registre distant utilise un certificat auto-signé ou non approuvé.", @@ -834,7 +839,7 @@ "HOURLY_CRON": "Exécuter une fois par heure, au début de l'heure. Équivalent à 0 0 * * * *.", "WEEKLY_CRON": "Exécuter une fois par semaine, à minuit entre Sam. et Dim. Équivalent à 0 0 0 * * 0.", "DAILY_CRON": "Exécuter une fois par jour, à minuit. Équivalent à 0 0 0 * * *.", - "SKIP_SCANNER_PULL_TIME_TOOLTIP": "Passer pour mettre à jour la date/heure de pull pour le scanneur." + "SKIP_SCANNER_PULL_TIME_TOOLTIP": "Le Scanneur de vulnerabilities (ex : Trivy) ne met pas à jour la date/heure de pull lorsqu'il scanne une image." }, "LDAP": { "URL": "URL LDAP", @@ -881,7 +886,7 @@ "GROUP_CLAIM_NAME": "Claim du nom de groupe", "GROUP_CLAIM_NAME_INFO": "Le claim du nom de groupe personnalisé qui a été configuré dans votre fournisseur OIDC.", "OIDC_ADMIN_GROUP": "Groupe d'admin OIDC", - "OIDC_ADMIN_GROUP_INFO": "Specifie le nom d'un groupe d'admin OIDC. Tous les utilisateurs OIDC de ce groupe auront les droits d'admin dans Harbor. Laisser vide pour ne pas l'utiliser.", + "OIDC_ADMIN_GROUP_INFO": "Spécifie le nom d'un groupe d'admin OIDC. Tous les utilisateurs OIDC de ce groupe auront les droits d'admin dans Harbor. Laisser vide pour ne pas l'utiliser.", "OIDC_GROUP_FILTER": "Filtre de groupe OIDC", "OIDC_GROUP_FILTER_INFO": "Filtre les groupes OIDC qui correspondent à l'expression régulière fournie. Laisser vide pour ne pas l'utiliser." }, @@ -961,9 +966,9 @@ "STOPPED": "Analyse arrêtée" }, "GRID": { - "PLACEHOLDER": "Nous n'avons pas trouvé de résultats d'analyse !", + "PLACEHOLDER": "Nous n'avons trouvé aucun résultat d'analyse !", "COLUMN_ID": "Vulnérabilité", - "COLUMN_SEVERITY": "Severité", + "COLUMN_SEVERITY": "Séverité", "COLUMN_PACKAGE": "Paquet", "COLUMN_PACKAGES": "Paquets", "COLUMN_VERSION": "Version Actuelle", @@ -988,7 +993,7 @@ "MEDIUM": "Moyen", "LOW": "Bas", "NEGLIGIBLE": "Négligeable", - "UNKNOWN": "Inconnu", + "UNKNOWN": "Inconnue", "NONE": "Aucune" }, "SINGULAR": "vulnérabilité", @@ -1041,8 +1046,8 @@ "REPO": "Dépôt", "OF": "sur", "VERSION": "Version", - "NO_README": "No readme file provided by this chart.", - "ITEMS": "items", + "NO_README": "Pas de README fourni pour ce chart.", + "ITEMS": "entrées", "SHOW_KV": "Paires Clé/Valeur", "SHOW_YAML": "Fichier YAML" }, @@ -1081,7 +1086,7 @@ "DESCRIPTION": "Description", "CREATION_TIME": "Date/Heure de création", "NEW_LABEL": "Nouveau Label", - "EDIT": "Editer", + "EDIT": "Éditer", "DELETE": "Supprimer", "LABEL_NAME": "Nom du label", "COLOR": "Couleur", @@ -1097,13 +1102,13 @@ "OWNER": "Propriétaire", "COUNT": "Nombre", "STORAGE": "Stockage", - "EDIT": "Editer", + "EDIT": "Éditer", "DELETE": "Supprimer", "OF": "sur", "PROJECT_QUOTA_DEFAULT_ARTIFACT": "Nombre par défaut d'artefacts par projet", "PROJECT_QUOTA_DEFAULT_DISK": "Default quota space per project", - "EDIT_PROJECT_QUOTAS": "Editer les quotas projet", - "EDIT_DEFAULT_PROJECT_QUOTAS": "Editer les quotas projet par défaut", + "EDIT_PROJECT_QUOTAS": "Éditer les quotas projet", + "EDIT_DEFAULT_PROJECT_QUOTAS": "Éditer les quotas projet par défaut", "SET_QUOTAS": "Configurer les quotas pour le projet '{{params}}'", "SET_DEFAULT_QUOTAS": "Configurer les quotas projet par défaut lors de la création de nouveaux projets", "COUNT_QUOTA": "Quota de nombre", @@ -1115,7 +1120,7 @@ "INVALID_INPUT": "Saisie non valide", "PLACEHOLDER": "Nous n'avons trouvé aucun quota de projet !", "FILTER_PLACEHOLDER": "Chercher par nom (correspondance exacte)", - "QUOTA_USED": "Quota used" + "QUOTA_USED": "Quota utilisé" }, "WEEKLY": { "MONDAY": "Lundi", @@ -1127,10 +1132,10 @@ "SUNDAY": "Dimanche" }, "OPERATION": { - "LOCAL_EVENT": "Evènements locaux", + "LOCAL_EVENT": "Évènements locaux", "ALL": "Tous", "RUNNING": "En cours", - "FAILED": "Echoués", + "FAILED": "Échoués", "DELETE_PROJECT": "Suppression de projet", "DELETE_REPO": "Suppression de dépôt", "DELETE_TAG": "Suppression de tag", @@ -1145,11 +1150,11 @@ "ADD_USER": "Ajout de membre utilisateur", "DELETE_LABEL": "Suppression de label", "REPLICATION": "Réplication", - "DAY_AGO": " day(s) ago", - "HOUR_AGO": " hour(s) ago", - "MINUTE_AGO": " minute(s) ago", + "DAY_AGO": " jours(s) plus tôt", + "HOUR_AGO": " heures(s) plus tôt", + "MINUTE_AGO": " minute(s) plus tôt", "SECOND_AGO": "moins d'une minute", - "EVENT_LOG": "LOG D'EVENEMENTS" + "EVENT_LOG": "LOG D'ÉVÈNEMENTS" }, "UNKNOWN_ERROR": "Des erreurs inconnues sont survenues. Veuillez réessayer plus tard.", "UNAUTHORIZED_ERROR": "Votre session est invalide ou a expiré. Vous devez vous connecter pour continuer votre action.", @@ -1188,22 +1193,22 @@ }, "GC": { "CURRENT_SCHEDULE": "Planification actuelle", - "GC_NOW": "Exécuter le GC maintenant", - "JOB_HISTORY": "Historique de GC", + "GC_NOW": "Purger maintenant", + "JOB_HISTORY": "Historique de purge", "JOB_ID": "ID de tâche", "TRIGGER_TYPE": "Type de déclenchement", "LATEST_JOBS": "Dernière tâche pour {{param}}", - "MSG_SUCCESS": "Garbage Collection effectuée", - "MSG_SCHEDULE_SET": "La planification de la Garbage Collection a été configurée", - "MSG_SCHEDULE_RESET": "La planification de la Garbage Collection a été réinitialisée", + "MSG_SUCCESS": "Purge effectuée", + "MSG_SCHEDULE_SET": "La planification de la purge a été configurée", + "MSG_SCHEDULE_RESET": "La planification de la purge a été réinitialisée", "PARAMETERS": "Paramètres", "DELETE_UNTAGGED": "Supprimer les artefacts non tagués", - "EXPLAIN": "GC est une opération gourmande en puissance de calcul qui peut impacter les performances du registre", - "EXPLAIN_TIME_WINDOW": "Artifacts uploaded in the past 2 hours(the default window) are excluded from garbage collection", + "EXPLAIN": "Purger est une opération gourmande en puissance de calcul qui peut impacter les performances du registre", + "EXPLAIN_TIME_WINDOW": "Les artefacts téléversés dans les dernières 2 heures (fenêtre de temps par défaut) sont exclues de la purge", "DRY_RUN_SUCCESS": "Exécution à blanc déclenchée avec succès", - "DELETE_DETAIL": "{{blob}} blob(s) and {{manifest}} manifest(s) deleted, {{size}} space freed up", - "DELETE_DETAIL_DRY_RUN": "{{blob}} blob(s) and {{manifest}} manifest(s) could be deleted, {{size}} space could be freed up", - "WORKERS_TOOLTIP": "Set the number of workers that can execute GC tasks in parallel, the default value is 1." + "DELETE_DETAIL": "{{blob}} blob(s) et {{manifest}} manifeste(s) supprimé(s), {{size}} d'espace libéré", + "DELETE_DETAIL_DRY_RUN": "{{blob}} blob(s) et {{manifest}} manifeste(s) peuvent être supprimé(s), {{size}} d'espace peut être libéré", + "WORKERS_TOOLTIP": "Configurer le nombre de workers qui peuvent exécuter la purge en parallèle, la valeur par défaut est 1." }, "RETAG": { "MSG_SUCCESS": "Artefact copié", @@ -1252,7 +1257,7 @@ "DURATION": "Durée", "DETAILS": "Détails", "REPOSITORY": "Dépôt", - "EDIT": "Editer", + "EDIT": "Éditer", "DISABLE": "Désactiver", "ENABLE": "Activer", "DELETE": "Supprimer", @@ -1288,7 +1293,7 @@ "NO_EXECUTION": "Nous n'avons trouvé aucune exécution !", "NO_HISTORY": "Nous n'avons trouvé aucun historique !", "DELETION": "Suppressions", - "EDIT_TITLE": "Editer la règle de rétention de tags", + "EDIT_TITLE": "Éditer la règle de rétention de tags", "LOG": "Log", "EXCLUDES": "Exclusions", "MATCHES": "Correspondances", @@ -1325,7 +1330,7 @@ "IMMUTABLE_RULES": "Règle d'immutabilité", "ADD_RULE": "Ajouter une règle", "ADD_RULE_HELP_1": "Cliquez sur le bouton 'AJOUTER UNE REGLE' pour ajouter une règle.", - "EDIT": "Editer", + "EDIT": "Éditer", "DISABLE": "Désactiver", "ENABLE": "Activer", "DELETE": "Supprimer", @@ -1335,7 +1340,7 @@ "REP_SEPARATOR": "Entrez de multiples repos,repo*,or **, séparés par des virgules", "TAGS": "Tags", "TAG_SEPARATOR": "Entrez de multiples tags, tag*, or **.", - "EDIT_TITLE": "Editer la règle d'immutabilité de tags", + "EDIT_TITLE": "Éditer la règle d'immutabilité de tags", "EXC": " excluant ", "MAT": " correspondant à ", "AND": " et", @@ -1373,7 +1378,7 @@ "API_KEY_REQUIRED": "L'APIKey est requise", "SKIP": "Passer la vérification du certificat", "ADD_SCANNER": "Ajouter un scanneur", - "EDIT_SCANNER": "Editer le scanneur", + "EDIT_SCANNER": "Éditer le scanneur", "TEST_CONNECTION": "TESTER LA CONNECTION", "ADD_SUCCESS": "Ajout avec succès de ", "TEST_PASS": "Test réussi", @@ -1397,7 +1402,7 @@ "UNHEALTHY": "En mauvaise santé", "SCANNERS": "Scanneurs", "SCANNER": "Scanneur", - "EDIT": "Editer", + "EDIT": "Éditer", "NOT_AVAILABLE": "Non disponible", "ADAPTER": "Adaptateur", "VENDOR": "Vendeur", @@ -1430,7 +1435,7 @@ "FILTER_HISTORIES_PLACEHOLDER": "Filtrer les historiques", "ADD_ACTION": "Nouvelle instance", "PREHEAT_ACTION": "Préchauffer", - "EDIT_ACTION": "Editer", + "EDIT_ACTION": "Éditer", "ENABLE_ACTION": "Activer", "DISABLE_ACTION": "Désactiver", "DELETE_ACTION": "Supprimer", @@ -1464,13 +1469,13 @@ "UPDATE_FAILED": "Échec de la mise à jour de l'instance", "REQUEST_PREHEAT_SUCCESS": "Requête de préchauffage effectuée", "REQUEST_PREHEAT_FAILED": "Requête de préchauffage échouée", - "DESCRIPTION": "description", + "DESCRIPTION": "Description", "AUTH_MODE": "Mode d'authentification", "USERNAME": "Nom d'utilisateur", "PASSWORD": "Mot de Passe", "TOKEN": "Token", "SETUP_NEW_INSTANCE": "Configurer une nouvelle instance", - "EDIT_INSTANCE": "Editer l'instance", + "EDIT_INSTANCE": "Éditer l'instance", "SETUP": { "NAME_PLACEHOLDER": "Entrer le nom de l'instance", "DESCRIPTION_PLACEHOLDER": "Entrer la description de l'instance", @@ -1508,14 +1513,14 @@ "ENABLED_POLICY_TITLE": "Activer la stratégie", "DISABLED_POLICY_TITLE": "Désactiver la stratégie", "DELETE_POLICY_SUMMARY": "Voulez-vous supprimer les stratégies {{names}} ?", - "EDIT_POLICY": "Editer la Stratégie de Fournisseur P2P", + "EDIT_POLICY": "Éditer la Stratégie de Fournisseur P2P", "ADD_POLICY": "Créer une Stratégie de Fournisseur P2P", "NAME_REQUIRED": "Le nom est requis", "PROVIDER_REQUIRED": "Le fournisseur est requis", "ADDED_SUCCESS": "Stratégie ajoutée avec succès", "UPDATED_SUCCESS": "Stratégie mise à jour avec succès", "EXECUTE": "EXECUTER", - "EXECUTE_SUCCESSFULLY": "Executé avec succès", + "EXECUTE_SUCCESSFULLY": "Exécuté avec succès", "EXECUTE_TITLE": "Confirmer l'execution de la Stratégie", "EXECUTE_SUMMARY": "Voulez-vous exécuter la stratégie {{param}} ?", "STOP_TITLE": "Confirmer l'arrêt de l'exécution", @@ -1545,7 +1550,7 @@ "MANUAL": "Manuel", "SCHEDULED": "Planifié", "EVENT_BASED": "Basé évènement", - "EVENT_BASED_EXPLAIN_LINE1": "La stratégie sera évaluée chaque fois que les événements suivants se produiront :", + "EVENT_BASED_EXPLAIN_LINE1": "La stratégie sera évaluée chaque fois que les évènements suivants se produiront :", "EVENT_BASED_EXPLAIN_LINE2": "Un artefact est poussé", "EVENT_BASED_EXPLAIN_LINE3": "Un artefact est labellisé", "EVENT_BASED_EXPLAIN_LINE4": "Un artefact est scanné", @@ -1566,8 +1571,8 @@ "PAGE_SIZE": "Taille de la page" }, "SYSTEM_ROBOT": { - "READ": "Lecture", - "CREATE": "Création", + "READ": "Lire", + "CREATE": "Créer", "ARTIFACT": "Artefact", "ADD_ROBOT": "Ajouter un robot", "UPDATE_ROBOT": "Mettre à jour le robot", @@ -1596,8 +1601,8 @@ "PROJECTS_MODAL_SUMMARY": "Voici les projets couverts par ce compte robot.", "CREATE_ROBOT": "Créer un compte robot Système", "CREATE_ROBOT_SUMMARY": "Créez un compte robot système qui couvrira des projets spécifiques. Choisissez \"Couvrir tous les projets\" pour appliquer à tous les projets existants et futurs", - "EDIT_ROBOT": "Editer un compte robot Système", - "EDIT_ROBOT_SUMMARY": "Editer un compte robot système. Choisissez \"Couvrir tous les projets\" pour appliquer à tous les projets existants et futurs", + "EDIT_ROBOT": "Éditer un compte robot Système", + "EDIT_ROBOT_SUMMARY": "Éditer un compte robot système. Choisissez \"Couvrir tous les projets\" pour appliquer à tous les projets existants et futurs", "EXPIRATION_TIME": "Date/Heure d'Expiration", "EXPIRATION_TIME_EXPLAIN": "L'heure d'expiration (en jours, le point de départ est l'heure de création) du jeton du compte robot. Pour ne jamais expirer, entrer \"-1\".", "EXPIRATION_DEFAULT": "jours (défaut)", @@ -1614,8 +1619,8 @@ "LEGACY": "Legacy", "CREATE_PROJECT_ROBOT": "Créer un compte robot", "CREATE_PROJECT_ROBOT_SUMMARY": "Créer un compte robot pour ce projet", - "EDIT_PROJECT_ROBOT": "Editer le compte robot", - "EDIT_PROJECT_ROBOT_SUMMARY": "Editer le compte robot pour ce projet", + "EDIT_PROJECT_ROBOT": "Éditer le compte robot", + "EDIT_PROJECT_ROBOT_SUMMARY": "Éditer le compte robot pour ce projet", "NOT_FOUND": "Nous n'avons trouvé aucun robot!", "SELECT_ALL": "Sélectionner tout", "UNSELECT_ALL": "Désélectionner tout", @@ -1635,8 +1640,8 @@ "FINAL_SYSTEM_NAME_TIP": "Le nom final du robot du projet se compose du préfixe et de la saisie actuelle", "PUSH_AND_PULL": "Push", "PUSH_PERMISSION_TOOLTIP": "L'autorisation 'push' ne peut pas fonctionner seule, elle doit fonctionner avec l'autorisation 'pull'", - "STOP": "Stop", - "LIST": "Liste", + "STOP": "Arrêter", + "LIST": "Lister", "REPOSITORY": "Dépôt", "EXPIRES_IN": "Expire dans", "EXPIRED": "Expiré" @@ -1829,37 +1834,37 @@ "DATE_PICKER_SELECTED_LABEL": "{FULL_DATE} - Sélectionné" }, "BANNER_MESSAGE": { - "BANNER_MESSAGE": "Banner Message", - "MESSAGE_TYPE": "Message type", - "CLOSABLE": "Closable", - "FROM": "From", - "TO": "To", - "SUCCESS": "Success", + "BANNER_MESSAGE": "Message de la bannière", + "MESSAGE_TYPE": "Type de message", + "CLOSABLE": "Fermable", + "FROM": "De", + "TO": "À", + "SUCCESS": "Succès", "INFO": "Info", - "WARNING": "Warning", + "WARNING": "Avertissement", "DANGER": "Danger", - "ENTER_MESSAGE": "Enter your message here" + "ENTER_MESSAGE": "Entrer votre message ici" }, "SECURITY_HUB": { - "SECURITY_HUB": "Security Hub", - "ARTIFACTS": "artifact(s)", - "SCANNED": "scanned", - "NOT_SCANNED": "not scanned", - "TOTAL_VUL": "Total Vulnerabilities", - "TOTAL_AND_FIXABLE": "{{totalNum}} total with {{fixableNum}} fixable", - "TOP_5_ARTIFACT": "Top 5 Most Dangerous Artifacts", - "TOP_5_CVE": "Top 5 Most Dangerous CVEs", + "SECURITY_HUB": "Tableau de bord de sécurité", + "ARTIFACTS": "artefact(s)", + "SCANNED": "scannés", + "NOT_SCANNED": "non scannés", + "TOTAL_VUL": "Total de vulnérabilités", + "TOTAL_AND_FIXABLE": "{{totalNum}} total dont {{fixableNum}} corrigeables", + "TOP_5_ARTIFACT": "Top 5 des Artefacts les plus Dangereux", + "TOP_5_CVE": "Top 5 des CVEs les plus Dangereuses", "CVE_ID": "CVE ID", - "VUL": "Vulnerabilities", + "VUL": "Vulnérabilités", "CVE": "CVEs", - "FILTER_BY": "Filter by", - "OPTION_ALL": "All", - "OPTION_PROJECT_ID_NAME": "Project Name", - "SEARCH": "SEARCH", - "REPO_NAME": "Repository Name", - "TOOLTIP": "All filters except CVSS3 only support exact matches", - "NO_VUL": "We could not find any vulnerability", - "INVALID_VALUE": "The CVSS3 score should range between 0 and 10", - "PAGE_TITLE_TOOLTIP": "The comprehensive artifact count comprises the cumulative total of individual artifacts, including artifact accessories, as well as child artifacts associated with the image index and CNAB artifacts" + "FILTER_BY": "Filtrer par", + "OPTION_ALL": "Tous", + "OPTION_PROJECT_ID_NAME": "Nom du Projet", + "SEARCH": "CHERCHER", + "REPO_NAME": "Nom du Dépôt", + "TOOLTIP": "Tous les filtres sauf CVSS3 ne supportent que des correspondances exactes", + "NO_VUL": "Nous n'avons trouvé aucune vulnérabilité", + "INVALID_VALUE": "Le score CVSS3 doit être compris entre 0 et 10", + "PAGE_TITLE_TOOLTIP": "Le décompte complet des artefacts comprend le total cumulé des artefacts individuels, y compris les accessoires des artefacts ainsi que les artefacts enfants associés à l'index de l'image et les artefacts CNAB." } } From 1f975edb9cacf3a9cb333536ad6014412fe8329e Mon Sep 17 00:00:00 2001 From: MinerYang Date: Wed, 11 Oct 2023 13:05:31 +0800 Subject: [PATCH 4/5] bump golang to 1.20.10 (#19430) Signed-off-by: yminer --- .github/workflows/CI.yml | 10 +++++----- .github/workflows/build-package.yml | 2 +- .github/workflows/conformance_test.yml | 2 +- CONTRIBUTING.md | 2 +- Makefile | 2 +- make/photon/registry/Dockerfile.binary | 2 +- make/photon/trivy-adapter/Dockerfile.binary | 2 +- make/photon/trivy-adapter/builder.sh | 2 +- tests/ci/distro_installer.sh | 4 ++-- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f81ec49624a8..e0de09613e4a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -44,7 +44,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: @@ -105,7 +105,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: @@ -160,7 +160,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: @@ -215,7 +215,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: @@ -268,7 +268,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index a620d6504022..806810224497 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -26,7 +26,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - name: Setup Docker uses: docker-practice/actions-setup-docker@master diff --git a/.github/workflows/conformance_test.yml b/.github/workflows/conformance_test.yml index f06a94e2720f..cbed57650899 100644 --- a/.github/workflows/conformance_test.yml +++ b/.github/workflows/conformance_test.yml @@ -28,7 +28,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v1 with: - go-version: 1.20.7 + go-version: 1.20.10 id: go - uses: actions/checkout@v3 with: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4d3c94d4af2e..f67fbb99d171 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -168,7 +168,7 @@ Harbor backend is written in [Go](http://golang.org/). If you don't have a Harbo | 2.6 | 1.18.6 | | 2.7 | 1.19.4 | | 2.8 | 1.20.6 | -| 2.9 | 1.20.7 | +| 2.9 | 1.20.10 | Ensure your GOPATH and PATH have been configured in accordance with the Go environment instructions. diff --git a/Makefile b/Makefile index 1c0998b55aab..73aa2ae4c411 100644 --- a/Makefile +++ b/Makefile @@ -140,7 +140,7 @@ GOINSTALL=$(GOCMD) install GOTEST=$(GOCMD) test GODEP=$(GOTEST) -i GOFMT=gofmt -w -GOBUILDIMAGE=golang:1.20.7 +GOBUILDIMAGE=golang:1.20.10 GOBUILDPATHINCONTAINER=/harbor # go build diff --git a/make/photon/registry/Dockerfile.binary b/make/photon/registry/Dockerfile.binary index 1f35f225de19..00ce9eb49eea 100644 --- a/make/photon/registry/Dockerfile.binary +++ b/make/photon/registry/Dockerfile.binary @@ -1,4 +1,4 @@ -FROM golang:1.20.7 +FROM golang:1.20.10 ENV DISTRIBUTION_DIR /go/src/github.com/docker/distribution ENV BUILDTAGS include_oss include_gcs diff --git a/make/photon/trivy-adapter/Dockerfile.binary b/make/photon/trivy-adapter/Dockerfile.binary index 9fc26d302070..506819ae82d5 100644 --- a/make/photon/trivy-adapter/Dockerfile.binary +++ b/make/photon/trivy-adapter/Dockerfile.binary @@ -1,4 +1,4 @@ -FROM golang:1.20.7 +FROM golang:1.20.10 ADD . /go/src/github.com/aquasecurity/harbor-scanner-trivy/ WORKDIR /go/src/github.com/aquasecurity/harbor-scanner-trivy/ diff --git a/make/photon/trivy-adapter/builder.sh b/make/photon/trivy-adapter/builder.sh index 7f4234e1c9c8..f3c2f3104a23 100755 --- a/make/photon/trivy-adapter/builder.sh +++ b/make/photon/trivy-adapter/builder.sh @@ -19,7 +19,7 @@ TEMP=$(mktemp -d ${TMPDIR-/tmp}/trivy-adapter.XXXXXX) git clone https://github.com/aquasecurity/harbor-scanner-trivy.git $TEMP cd $TEMP; git checkout $VERSION; cd - -echo "Building Trivy adapter binary based on golang:1.20.7..." +echo "Building Trivy adapter binary based on golang:1.20.10..." cp Dockerfile.binary $TEMP docker build -f $TEMP/Dockerfile.binary -t trivy-adapter-golang $TEMP diff --git a/tests/ci/distro_installer.sh b/tests/ci/distro_installer.sh index 16691c01311e..175927c800dc 100755 --- a/tests/ci/distro_installer.sh +++ b/tests/ci/distro_installer.sh @@ -3,5 +3,5 @@ set -x set -e -sudo make package_online GOBUILDTAGS="include_oss include_gcs" VERSIONTAG=dev-gitaction PKGVERSIONTAG=dev-gitaction UIVERSIONTAG=dev-gitaction GOBUILDIMAGE=golang:1.20.7 COMPILETAG=compile_golangimage TRIVYFLAG=true HTTPPROXY= PULL_BASE_FROM_DOCKERHUB=false -sudo make package_offline GOBUILDTAGS="include_oss include_gcs" VERSIONTAG=dev-gitaction PKGVERSIONTAG=dev-gitaction UIVERSIONTAG=dev-gitaction GOBUILDIMAGE=golang:1.20.7 COMPILETAG=compile_golangimage TRIVYFLAG=true HTTPPROXY= PULL_BASE_FROM_DOCKERHUB=false +sudo make package_online GOBUILDTAGS="include_oss include_gcs" VERSIONTAG=dev-gitaction PKGVERSIONTAG=dev-gitaction UIVERSIONTAG=dev-gitaction GOBUILDIMAGE=golang:1.20.10 COMPILETAG=compile_golangimage TRIVYFLAG=true HTTPPROXY= PULL_BASE_FROM_DOCKERHUB=false +sudo make package_offline GOBUILDTAGS="include_oss include_gcs" VERSIONTAG=dev-gitaction PKGVERSIONTAG=dev-gitaction UIVERSIONTAG=dev-gitaction GOBUILDIMAGE=golang:1.20.10 COMPILETAG=compile_golangimage TRIVYFLAG=true HTTPPROXY= PULL_BASE_FROM_DOCKERHUB=false From 663d0b81a7e7b4352f1b9cd1ba570a7993125959 Mon Sep 17 00:00:00 2001 From: "stonezdj(Daojun Zhang)" Date: Wed, 11 Oct 2023 15:57:19 +0800 Subject: [PATCH 5/5] Change fixed_version to package_version in query dangerous CVE sql (#19397) Change fixed_version to package_version fixes #19391 Signed-off-by: stonezdj --- src/pkg/securityhub/dao/security.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pkg/securityhub/dao/security.go b/src/pkg/securityhub/dao/security.go index f65720b694e5..f3dded04e7c7 100644 --- a/src/pkg/securityhub/dao/security.go +++ b/src/pkg/securityhub/dao/security.go @@ -66,7 +66,7 @@ WHERE EXISTS (SELECT 1 vr.package, vr.cvss_score_v3, vr.description, - vr.fixed_version, + vr.package_version, vr.severity, CASE vr.severity WHEN 'Critical' THEN 5