...
1
16
17 package v1
18
19 import (
20 v1 "k8s.io/api/core/v1"
21 storagev1 "k8s.io/api/storage/v1"
22 "k8s.io/apimachinery/pkg/runtime"
23 utilfeature "k8s.io/apiserver/pkg/util/feature"
24 "k8s.io/kubernetes/pkg/features"
25 )
26
27 func addDefaultingFuncs(scheme *runtime.Scheme) error {
28 return RegisterDefaults(scheme)
29 }
30
31 func SetDefaults_StorageClass(obj *storagev1.StorageClass) {
32 if obj.ReclaimPolicy == nil {
33 obj.ReclaimPolicy = new(v1.PersistentVolumeReclaimPolicy)
34 *obj.ReclaimPolicy = v1.PersistentVolumeReclaimDelete
35 }
36
37 if obj.VolumeBindingMode == nil {
38 obj.VolumeBindingMode = new(storagev1.VolumeBindingMode)
39 *obj.VolumeBindingMode = storagev1.VolumeBindingImmediate
40 }
41 }
42
43 func SetDefaults_CSIDriver(obj *storagev1.CSIDriver) {
44 if obj.Spec.AttachRequired == nil {
45 obj.Spec.AttachRequired = new(bool)
46 *(obj.Spec.AttachRequired) = true
47 }
48 if obj.Spec.PodInfoOnMount == nil {
49 obj.Spec.PodInfoOnMount = new(bool)
50 *(obj.Spec.PodInfoOnMount) = false
51 }
52 if obj.Spec.StorageCapacity == nil {
53 obj.Spec.StorageCapacity = new(bool)
54 *(obj.Spec.StorageCapacity) = false
55 }
56 if obj.Spec.FSGroupPolicy == nil {
57 obj.Spec.FSGroupPolicy = new(storagev1.FSGroupPolicy)
58 *obj.Spec.FSGroupPolicy = storagev1.ReadWriteOnceWithFSTypeFSGroupPolicy
59 }
60 if len(obj.Spec.VolumeLifecycleModes) == 0 {
61 obj.Spec.VolumeLifecycleModes = append(obj.Spec.VolumeLifecycleModes, storagev1.VolumeLifecyclePersistent)
62 }
63 if obj.Spec.RequiresRepublish == nil {
64 obj.Spec.RequiresRepublish = new(bool)
65 *(obj.Spec.RequiresRepublish) = false
66 }
67 if obj.Spec.SELinuxMount == nil && utilfeature.DefaultFeatureGate.Enabled(features.SELinuxMountReadWriteOncePod) {
68 obj.Spec.SELinuxMount = new(bool)
69 *(obj.Spec.SELinuxMount) = false
70 }
71 }
72
View as plain text