Skip to content

Commit 7cc0dce

Browse files
authored
Merge pull request #4820 from willie-yao/fleet-fixes-release-1.13
[release-1.13] Don't allow fleetsMembers to have capital letters. Default spec.group.
2 parents bdee493 + f738741 commit 7cc0dce

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

api/v1beta1/azuremanagedcontrolplane_default.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,13 @@ func (m *AzureManagedControlPlane) setDefaultSubnet() {
101101
// setDefaultFleetsMember sets the default FleetsMember for an AzureManagedControlPlane.
102102
func setDefaultFleetsMember(fleetsMember *FleetsMember, labels map[string]string) *FleetsMember {
103103
result := fleetsMember.DeepCopy()
104-
if clusterName, ok := labels[clusterv1.ClusterNameLabel]; ok && fleetsMember != nil && fleetsMember.Name == "" {
105-
result.Name = clusterName
104+
if fleetsMember != nil {
105+
if clusterName, ok := labels[clusterv1.ClusterNameLabel]; ok && fleetsMember.Name == "" {
106+
result.Name = clusterName
107+
}
108+
if fleetsMember.Group == "" {
109+
result.Group = "default"
110+
}
106111
}
107112
return result
108113
}

api/v1beta1/azuremanagedcontrolplane_webhook.go

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ func (mw *azureManagedControlPlaneWebhook) ValidateUpdate(ctx context.Context, o
261261
allErrs = append(allErrs, errs...)
262262
}
263263

264-
if errs := m.validateFleetsMember(old); len(errs) > 0 {
264+
if errs := m.validateFleetsMemberUpdate(old); len(errs) > 0 {
265265
allErrs = append(allErrs, errs...)
266266
}
267267

@@ -316,6 +316,8 @@ func (m *AzureManagedControlPlane) Validate(cli client.Client) error {
316316

317317
allErrs = append(allErrs, validateAMCPVirtualNetwork(m.Spec.VirtualNetwork, field.NewPath("spec").Child("VirtualNetwork"))...)
318318

319+
allErrs = append(allErrs, validateFleetsMember(m.Spec.FleetsMember, field.NewPath("spec").Child("FleetsMember"))...)
320+
319321
return allErrs.ToAggregate()
320322
}
321323

@@ -431,6 +433,25 @@ func validateAMCPVirtualNetwork(virtualNetwork ManagedControlPlaneVirtualNetwork
431433
return allErrs
432434
}
433435

436+
func validateFleetsMember(fleetsMember *FleetsMember, fldPath *field.Path) field.ErrorList {
437+
var allErrs field.ErrorList
438+
439+
if fleetsMember != nil && fleetsMember.Name != "" {
440+
match, _ := regexp.MatchString(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`, fleetsMember.Name)
441+
if !match {
442+
allErrs = append(allErrs,
443+
field.Invalid(
444+
fldPath.Child("Name"),
445+
fleetsMember.Name,
446+
"Name must match ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
447+
),
448+
)
449+
}
450+
}
451+
452+
return allErrs
453+
}
454+
434455
// validateAPIServerAccessProfile validates an APIServerAccessProfile.
435456
func (m *AzureManagedControlPlane) validateAPIServerAccessProfile(_ client.Client) field.ErrorList {
436457
if m.Spec.APIServerAccessProfile != nil {
@@ -714,8 +735,8 @@ func (m *AzureManagedControlPlane) validateOIDCIssuerProfileUpdate(old *AzureMan
714735
return allErrs
715736
}
716737

717-
// validateFleetsMember validates a FleetsMember.
718-
func (m *AzureManagedControlPlane) validateFleetsMember(old *AzureManagedControlPlane) field.ErrorList {
738+
// validateFleetsMemberUpdate validates a FleetsMember.
739+
func (m *AzureManagedControlPlane) validateFleetsMemberUpdate(old *AzureManagedControlPlane) field.ErrorList {
719740
var allErrs field.ErrorList
720741

721742
if old.Spec.FleetsMember == nil || m.Spec.FleetsMember == nil {

0 commit comments

Comments
 (0)