...
1
16
17 package v1beta1
18
19 import (
20 "math"
21
22 v1 "k8s.io/api/core/v1"
23 extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
24 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25 "k8s.io/apimachinery/pkg/runtime"
26 "k8s.io/apimachinery/pkg/util/intstr"
27 )
28
29 func addDefaultingFuncs(scheme *runtime.Scheme) error {
30 return RegisterDefaults(scheme)
31 }
32
33 func SetDefaults_DaemonSet(obj *extensionsv1beta1.DaemonSet) {
34 labels := obj.Spec.Template.Labels
35
36
37 if labels != nil {
38 if obj.Spec.Selector == nil {
39 obj.Spec.Selector = &metav1.LabelSelector{
40 MatchLabels: labels,
41 }
42 }
43 if len(obj.Labels) == 0 {
44 obj.Labels = labels
45 }
46 }
47 updateStrategy := &obj.Spec.UpdateStrategy
48 if updateStrategy.Type == "" {
49 updateStrategy.Type = extensionsv1beta1.OnDeleteDaemonSetStrategyType
50 }
51 if updateStrategy.Type == extensionsv1beta1.RollingUpdateDaemonSetStrategyType {
52 if updateStrategy.RollingUpdate == nil {
53 rollingUpdate := extensionsv1beta1.RollingUpdateDaemonSet{}
54 updateStrategy.RollingUpdate = &rollingUpdate
55 }
56 if updateStrategy.RollingUpdate.MaxUnavailable == nil {
57
58 maxUnavailable := intstr.FromInt32(1)
59 updateStrategy.RollingUpdate.MaxUnavailable = &maxUnavailable
60 }
61 if updateStrategy.RollingUpdate.MaxSurge == nil {
62
63 maxSurge := intstr.FromInt32(0)
64 updateStrategy.RollingUpdate.MaxSurge = &maxSurge
65 }
66 }
67 if obj.Spec.RevisionHistoryLimit == nil {
68 obj.Spec.RevisionHistoryLimit = new(int32)
69 *obj.Spec.RevisionHistoryLimit = 10
70 }
71 }
72
73 func SetDefaults_Deployment(obj *extensionsv1beta1.Deployment) {
74
75 labels := obj.Spec.Template.Labels
76
77 if labels != nil {
78 if obj.Spec.Selector == nil {
79 obj.Spec.Selector = &metav1.LabelSelector{MatchLabels: labels}
80 }
81 if len(obj.Labels) == 0 {
82 obj.Labels = labels
83 }
84 }
85
86 if obj.Spec.Replicas == nil {
87 obj.Spec.Replicas = new(int32)
88 *obj.Spec.Replicas = 1
89 }
90 strategy := &obj.Spec.Strategy
91
92 if strategy.Type == "" {
93 strategy.Type = extensionsv1beta1.RollingUpdateDeploymentStrategyType
94 }
95 if strategy.Type == extensionsv1beta1.RollingUpdateDeploymentStrategyType || strategy.RollingUpdate != nil {
96 if strategy.RollingUpdate == nil {
97 rollingUpdate := extensionsv1beta1.RollingUpdateDeployment{}
98 strategy.RollingUpdate = &rollingUpdate
99 }
100 if strategy.RollingUpdate.MaxUnavailable == nil {
101
102 maxUnavailable := intstr.FromInt32(1)
103 strategy.RollingUpdate.MaxUnavailable = &maxUnavailable
104 }
105 if strategy.RollingUpdate.MaxSurge == nil {
106
107 maxSurge := intstr.FromInt32(1)
108 strategy.RollingUpdate.MaxSurge = &maxSurge
109 }
110 }
111
112
113 if obj.Spec.ProgressDeadlineSeconds == nil {
114 obj.Spec.ProgressDeadlineSeconds = new(int32)
115 *obj.Spec.ProgressDeadlineSeconds = math.MaxInt32
116 }
117
118
119 if obj.Spec.RevisionHistoryLimit == nil {
120 obj.Spec.RevisionHistoryLimit = new(int32)
121 *obj.Spec.RevisionHistoryLimit = math.MaxInt32
122 }
123 }
124
125 func SetDefaults_ReplicaSet(obj *extensionsv1beta1.ReplicaSet) {
126 labels := obj.Spec.Template.Labels
127
128
129 if labels != nil {
130 if obj.Spec.Selector == nil {
131 obj.Spec.Selector = &metav1.LabelSelector{
132 MatchLabels: labels,
133 }
134 }
135 if len(obj.Labels) == 0 {
136 obj.Labels = labels
137 }
138 }
139 if obj.Spec.Replicas == nil {
140 obj.Spec.Replicas = new(int32)
141 *obj.Spec.Replicas = 1
142 }
143 }
144
145 func SetDefaults_NetworkPolicy(obj *extensionsv1beta1.NetworkPolicy) {
146
147 for _, i := range obj.Spec.Ingress {
148 for _, p := range i.Ports {
149 if p.Protocol == nil {
150 proto := v1.ProtocolTCP
151 p.Protocol = &proto
152 }
153 }
154 }
155
156 if len(obj.Spec.PolicyTypes) == 0 {
157
158 obj.Spec.PolicyTypes = []extensionsv1beta1.PolicyType{extensionsv1beta1.PolicyTypeIngress}
159 if len(obj.Spec.Egress) != 0 {
160 obj.Spec.PolicyTypes = append(obj.Spec.PolicyTypes, extensionsv1beta1.PolicyTypeEgress)
161 }
162 }
163 }
164
165 func SetDefaults_HTTPIngressPath(obj *extensionsv1beta1.HTTPIngressPath) {
166 var defaultPathType = extensionsv1beta1.PathTypeImplementationSpecific
167 if obj.PathType == nil {
168 obj.PathType = &defaultPathType
169 }
170 }
171
View as plain text