...
1
16
17 package v1beta2
18
19 import (
20 appsv1beta2 "k8s.io/api/apps/v1beta2"
21 "k8s.io/apimachinery/pkg/runtime"
22 "k8s.io/apimachinery/pkg/util/intstr"
23 utilfeature "k8s.io/apiserver/pkg/util/feature"
24 "k8s.io/kubernetes/pkg/features"
25 "k8s.io/utils/ptr"
26 )
27
28 func addDefaultingFuncs(scheme *runtime.Scheme) error {
29 return RegisterDefaults(scheme)
30 }
31
32 func SetDefaults_DaemonSet(obj *appsv1beta2.DaemonSet) {
33 updateStrategy := &obj.Spec.UpdateStrategy
34 if updateStrategy.Type == "" {
35 updateStrategy.Type = appsv1beta2.RollingUpdateDaemonSetStrategyType
36 }
37 if updateStrategy.Type == appsv1beta2.RollingUpdateDaemonSetStrategyType {
38 if updateStrategy.RollingUpdate == nil {
39 rollingUpdate := appsv1beta2.RollingUpdateDaemonSet{}
40 updateStrategy.RollingUpdate = &rollingUpdate
41 }
42 if updateStrategy.RollingUpdate.MaxUnavailable == nil {
43
44 updateStrategy.RollingUpdate.MaxUnavailable = ptr.To(intstr.FromInt32(1))
45 }
46 if updateStrategy.RollingUpdate.MaxSurge == nil {
47
48 updateStrategy.RollingUpdate.MaxSurge = ptr.To(intstr.FromInt32(0))
49 }
50 }
51 if obj.Spec.RevisionHistoryLimit == nil {
52 obj.Spec.RevisionHistoryLimit = new(int32)
53 *obj.Spec.RevisionHistoryLimit = 10
54 }
55 }
56
57 func SetDefaults_StatefulSet(obj *appsv1beta2.StatefulSet) {
58 if len(obj.Spec.PodManagementPolicy) == 0 {
59 obj.Spec.PodManagementPolicy = appsv1beta2.OrderedReadyPodManagement
60 }
61
62 if obj.Spec.UpdateStrategy.Type == "" {
63 obj.Spec.UpdateStrategy.Type = appsv1beta2.RollingUpdateStatefulSetStrategyType
64
65 if obj.Spec.UpdateStrategy.RollingUpdate == nil {
66
67 obj.Spec.UpdateStrategy.RollingUpdate = &appsv1beta2.RollingUpdateStatefulSetStrategy{}
68 }
69 }
70
71 if obj.Spec.UpdateStrategy.Type == appsv1beta2.RollingUpdateStatefulSetStrategyType &&
72 obj.Spec.UpdateStrategy.RollingUpdate != nil {
73
74 if obj.Spec.UpdateStrategy.RollingUpdate.Partition == nil {
75 obj.Spec.UpdateStrategy.RollingUpdate.Partition = ptr.To[int32](0)
76 }
77 if utilfeature.DefaultFeatureGate.Enabled(features.MaxUnavailableStatefulSet) {
78 if obj.Spec.UpdateStrategy.RollingUpdate.MaxUnavailable == nil {
79 obj.Spec.UpdateStrategy.RollingUpdate.MaxUnavailable = ptr.To(intstr.FromInt32(1))
80 }
81 }
82 }
83
84 if utilfeature.DefaultFeatureGate.Enabled(features.StatefulSetAutoDeletePVC) {
85 if obj.Spec.PersistentVolumeClaimRetentionPolicy == nil {
86 obj.Spec.PersistentVolumeClaimRetentionPolicy = &appsv1beta2.StatefulSetPersistentVolumeClaimRetentionPolicy{}
87 }
88 if len(obj.Spec.PersistentVolumeClaimRetentionPolicy.WhenDeleted) == 0 {
89 obj.Spec.PersistentVolumeClaimRetentionPolicy.WhenDeleted = appsv1beta2.RetainPersistentVolumeClaimRetentionPolicyType
90 }
91 if len(obj.Spec.PersistentVolumeClaimRetentionPolicy.WhenScaled) == 0 {
92 obj.Spec.PersistentVolumeClaimRetentionPolicy.WhenScaled = appsv1beta2.RetainPersistentVolumeClaimRetentionPolicyType
93 }
94 }
95
96 if obj.Spec.Replicas == nil {
97 obj.Spec.Replicas = new(int32)
98 *obj.Spec.Replicas = 1
99 }
100 if obj.Spec.RevisionHistoryLimit == nil {
101 obj.Spec.RevisionHistoryLimit = new(int32)
102 *obj.Spec.RevisionHistoryLimit = 10
103 }
104 }
105
106
107
108
109
110
111
112 func SetDefaults_Deployment(obj *appsv1beta2.Deployment) {
113
114 if obj.Spec.Replicas == nil {
115 obj.Spec.Replicas = new(int32)
116 *obj.Spec.Replicas = 1
117 }
118 strategy := &obj.Spec.Strategy
119
120 if strategy.Type == "" {
121 strategy.Type = appsv1beta2.RollingUpdateDeploymentStrategyType
122 }
123 if strategy.Type == appsv1beta2.RollingUpdateDeploymentStrategyType {
124 if strategy.RollingUpdate == nil {
125 rollingUpdate := appsv1beta2.RollingUpdateDeployment{}
126 strategy.RollingUpdate = &rollingUpdate
127 }
128 if strategy.RollingUpdate.MaxUnavailable == nil {
129
130 maxUnavailable := intstr.FromString("25%")
131 strategy.RollingUpdate.MaxUnavailable = &maxUnavailable
132 }
133 if strategy.RollingUpdate.MaxSurge == nil {
134
135 maxSurge := intstr.FromString("25%")
136 strategy.RollingUpdate.MaxSurge = &maxSurge
137 }
138 }
139 if obj.Spec.RevisionHistoryLimit == nil {
140 obj.Spec.RevisionHistoryLimit = new(int32)
141 *obj.Spec.RevisionHistoryLimit = 10
142 }
143 if obj.Spec.ProgressDeadlineSeconds == nil {
144 obj.Spec.ProgressDeadlineSeconds = new(int32)
145 *obj.Spec.ProgressDeadlineSeconds = 600
146 }
147 }
148
149 func SetDefaults_ReplicaSet(obj *appsv1beta2.ReplicaSet) {
150 if obj.Spec.Replicas == nil {
151 obj.Spec.Replicas = new(int32)
152 *obj.Spec.Replicas = 1
153 }
154 }
155
View as plain text