in pkg/utils/defaulter/clusterresourceplacement.go [46:99]
func SetDefaultsClusterResourcePlacement(obj *fleetv1beta1.ClusterResourcePlacement) {
if obj.Spec.Policy == nil {
obj.Spec.Policy = &fleetv1beta1.PlacementPolicy{
PlacementType: fleetv1beta1.PickAllPlacementType,
}
}
if obj.Spec.Policy.TopologySpreadConstraints != nil {
for i := range obj.Spec.Policy.TopologySpreadConstraints {
if obj.Spec.Policy.TopologySpreadConstraints[i].MaxSkew == nil {
obj.Spec.Policy.TopologySpreadConstraints[i].MaxSkew = ptr.To(int32(DefaultMaxSkewValue))
}
if obj.Spec.Policy.TopologySpreadConstraints[i].WhenUnsatisfiable == "" {
obj.Spec.Policy.TopologySpreadConstraints[i].WhenUnsatisfiable = fleetv1beta1.DoNotSchedule
}
}
}
if obj.Spec.Policy.Tolerations != nil {
for i := range obj.Spec.Policy.Tolerations {
if obj.Spec.Policy.Tolerations[i].Operator == "" {
obj.Spec.Policy.Tolerations[i].Operator = corev1.TolerationOpEqual
}
}
}
strategy := &obj.Spec.Strategy
if strategy.Type == "" {
strategy.Type = fleetv1beta1.RollingUpdateRolloutStrategyType
}
if strategy.Type == fleetv1beta1.RollingUpdateRolloutStrategyType {
if strategy.RollingUpdate == nil {
strategy.RollingUpdate = &fleetv1beta1.RollingUpdateConfig{}
}
if strategy.RollingUpdate.MaxUnavailable == nil {
strategy.RollingUpdate.MaxUnavailable = ptr.To(intstr.FromString(DefaultMaxUnavailableValue))
}
if strategy.RollingUpdate.MaxSurge == nil {
strategy.RollingUpdate.MaxSurge = ptr.To(intstr.FromString(DefaultMaxSurgeValue))
}
if strategy.RollingUpdate.UnavailablePeriodSeconds == nil {
strategy.RollingUpdate.UnavailablePeriodSeconds = ptr.To(DefaultUnavailablePeriodSeconds)
}
}
if obj.Spec.Strategy.ApplyStrategy == nil {
obj.Spec.Strategy.ApplyStrategy = &fleetv1beta1.ApplyStrategy{}
}
SetDefaultsApplyStrategy(obj.Spec.Strategy.ApplyStrategy)
if obj.Spec.RevisionHistoryLimit == nil {
obj.Spec.RevisionHistoryLimit = ptr.To(int32(DefaultRevisionHistoryLimitValue))
}
}