@@ -10,6 +10,11 @@ import (
1010 corev1 "k8s.io/api/core/v1"
1111)
1212
13+ const (
14+ StackitProjectIDSecretKey = "project-id"
15+ StackitServiceAccountKey = "serviceaccount.json"
16+ )
17+
1318// uuidRegex is a regex pattern for validating UUID format
1419var uuidRegex = regexp .MustCompile (`^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$` )
1520
@@ -53,22 +58,22 @@ func ValidateProviderSpecNSecret(spec *api.ProviderSpec, secrets *corev1.Secret)
5358 return errors // Return early if secret is nil
5459 }
5560
56- projectID , ok := secrets .Data ["project-id" ]
61+ projectID , ok := secrets .Data [StackitProjectIDSecretKey ]
5762 if ! ok {
58- errors = append (errors , fmt .Errorf ("secret field 'project-id ' is required" ))
63+ errors = append (errors , fmt .Errorf ("secret field '%s ' is required" , StackitProjectIDSecretKey ))
5964 } else if len (projectID ) == 0 {
60- errors = append (errors , fmt .Errorf ("secret field 'project-id ' cannot be empty" ))
65+ errors = append (errors , fmt .Errorf ("secret field '%s ' cannot be empty" , StackitProjectIDSecretKey ))
6166 } else if ! isValidUUID (string (projectID )) {
62- errors = append (errors , fmt .Errorf ("secret field 'project-id ' must be a valid UUID" ))
67+ errors = append (errors , fmt .Errorf ("secret field '%s ' must be a valid UUID" , StackitProjectIDSecretKey ))
6368 }
6469
6570 // Validate serviceAccountKey (required for authentication)
6671 // ServiceAccount Key Flow: JSON string containing service account credentials and private key
67- serviceAccountKey , ok := secrets .Data ["serviceaccount.json" ]
72+ serviceAccountKey , ok := secrets .Data [StackitServiceAccountKey ]
6873 if ! ok {
69- errors = append (errors , fmt .Errorf ("secret field 'serviceaccount.json ' is required" ))
74+ errors = append (errors , fmt .Errorf ("secret field '%s ' is required" , StackitServiceAccountKey ))
7075 } else if len (serviceAccountKey ) == 0 {
71- errors = append (errors , fmt .Errorf ("secret field 'serviceaccount.json ' cannot be empty" ))
76+ errors = append (errors , fmt .Errorf ("secret field '%s ' cannot be empty" , StackitServiceAccountKey ))
7277 } else if ! isValidJSON (string (serviceAccountKey )) {
7378 errors = append (errors , fmt .Errorf ("secret field 'serviceAccountKey' must be valid JSON (service account credentials)" ))
7479 }
0 commit comments