in internal/node/hybrid/validator.go [67:99]
func validateRolesAnywhereNode(node *api.NodeConfig) error {
if node.Spec.Hybrid.IAMRolesAnywhere.RoleARN == "" {
return fmt.Errorf("RoleARN is missing in hybrid iam roles anywhere configuration")
}
if node.Spec.Hybrid.IAMRolesAnywhere.ProfileARN == "" {
return fmt.Errorf("ProfileARN is missing in hybrid iam roles anywhere configuration")
}
if node.Spec.Hybrid.IAMRolesAnywhere.TrustAnchorARN == "" {
return fmt.Errorf("TrustAnchorARN is missing in hybrid iam roles anywhere configuration")
}
if node.Spec.Hybrid.IAMRolesAnywhere.NodeName == "" {
return fmt.Errorf("NodeName can't be empty in hybrid iam roles anywhere configuration")
}
if len(node.Spec.Hybrid.IAMRolesAnywhere.NodeName) > 64 {
return fmt.Errorf("NodeName can't be longer than 64 characters in hybrid iam roles anywhere configuration")
}
if node.Spec.Hybrid.IAMRolesAnywhere.CertificatePath == "" {
return fmt.Errorf("CertificatePath is missing in hybrid iam roles anywhere configuration")
}
if node.Spec.Hybrid.IAMRolesAnywhere.PrivateKeyPath == "" {
return fmt.Errorf("PrivateKeyPath is missing in hybrid iam roles anywhere configuration")
}
if !file.Exists(node.Spec.Hybrid.IAMRolesAnywhere.CertificatePath) {
return fmt.Errorf("IAM Roles Anywhere certificate %s not found", node.Spec.Hybrid.IAMRolesAnywhere.CertificatePath)
}
if !file.Exists(node.Spec.Hybrid.IAMRolesAnywhere.PrivateKeyPath) {
return fmt.Errorf("IAM Roles Anywhere private key %s not found", node.Spec.Hybrid.IAMRolesAnywhere.PrivateKeyPath)
}
return nil
}