Description
Comportement actuel
Le champ label d'un Cluster est validé avec :
label: z.string()
.regex(/^[a-z0-9-]+$/i)
.max(50),
Le flag /i rend la regex insensible à la casse — la Console accepte donc des majuscules dans le nom d'un cluster (ex. Cluster-Tools) sans aucun avertissement, à la création comme à la mise à jour.
Le problème
Ce label est réutilisé tel quel comme nom de ressource Kubernetes plus loin dans la chaîne, dans le chart dso-argocd-zone (templates/cluster-secrets.yaml) :
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: {{ $cluster }}-cluster-secret
Kubernetes impose que les noms de ressources respectent la RFC 1123 (minuscules uniquement). Résultat : le sync ArgoCD échoue avec une erreur peu explicite pour l'utilisateur final :
VaultStaticSecret.secrets.hashicorp.com "Cluster-Tools-cluster-secret" is invalid:
metadata.name: a lowercase RFC 1123 subdomain must consist of lower case alphanumeric
characters, '-' or '.', ...
Cette erreur apparaît côté ArgoCD, bien après la création du cluster dans la Console — rien n'indique à l'utilisateur, au moment de la saisie, que son nom de cluster va casser l'enregistrement.
Comportement attendu
Le nom du cluster devrait être normalisé (ou rejeté avec un message clair) au moment de la saisie, pas découvert des heures plus tard via un échec de sync ArgoCD sans lien évident avec la cause.
Contexte
Trouvé en creusant pourquoi un cluster enregistré dans la Console n'apparaissait jamais dans ArgoCD (Settings → Clusters), lié à l'issue #1043 sur le Vault Secrets Operator. ( issue sur le socle )
Piste de correction
Ajouter une normalisation dans packages/shared/src/schemas/cluster.ts :
label: z.string()
.regex(/^[a-z0-9-]+$/i)
- .max(50),
+ .max(50)
+ .transform(value => value.toLowerCase()),
Ou tout simplement guider l'utilisateur a utiliser uniquement des minisculte.
Etapes de reproduction
1. Aller à '...'
2. Cliquer sur '....'
3. Scroller jusqu'à '....'
4. Voir l'erreur
Captures d'écran
Logs
No response
Navigateurs
No response
OS
No response
Version de la console impactée
No response
Définition du fini
Description
Comportement actuel
Le champ
labeld'unClusterest validé avec :Le flag
/irend la regex insensible à la casse — la Console accepte donc des majuscules dans le nom d'un cluster (ex.Cluster-Tools) sans aucun avertissement, à la création comme à la mise à jour.Le problème
Ce
labelest réutilisé tel quel comme nom de ressource Kubernetes plus loin dans la chaîne, dans le chartdso-argocd-zone(templates/cluster-secrets.yaml) :Kubernetes impose que les noms de ressources respectent la RFC 1123 (minuscules uniquement). Résultat : le sync ArgoCD échoue avec une erreur peu explicite pour l'utilisateur final :
Cette erreur apparaît côté ArgoCD, bien après la création du cluster dans la Console — rien n'indique à l'utilisateur, au moment de la saisie, que son nom de cluster va casser l'enregistrement.
Comportement attendu
Le nom du cluster devrait être normalisé (ou rejeté avec un message clair) au moment de la saisie, pas découvert des heures plus tard via un échec de sync ArgoCD sans lien évident avec la cause.
Contexte
Trouvé en creusant pourquoi un cluster enregistré dans la Console n'apparaissait jamais dans ArgoCD (Settings → Clusters), lié à l'issue #1043 sur le Vault Secrets Operator. ( issue sur le socle )
Piste de correction
Ajouter une normalisation dans
packages/shared/src/schemas/cluster.ts:label: z.string() .regex(/^[a-z0-9-]+$/i) - .max(50), + .max(50) + .transform(value => value.toLowerCase()),Ou tout simplement guider l'utilisateur a utiliser uniquement des minisculte.
Etapes de reproduction
Captures d'écran
Logs
No response
Navigateurs
No response
OS
No response
Version de la console impactée
No response
Définition du fini