treewide: replace bool-to-boolptr helpers with k8s.io/utils/ptr.To

Change-Id: I90419ddfe087291f41f7f2f3589263e56c15470a
Reviewed-on: https://review.monogon.dev/c/monogon/+/3675
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/kubernetes/reconciler/BUILD.bazel b/metropolis/node/kubernetes/reconciler/BUILD.bazel
index 1616787..3e66db3 100644
--- a/metropolis/node/kubernetes/reconciler/BUILD.bazel
+++ b/metropolis/node/kubernetes/reconciler/BUILD.bazel
@@ -35,6 +35,7 @@
         "@io_k8s_apimachinery//pkg/api/validation",
         "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
         "@io_k8s_client_go//kubernetes",
+        "@io_k8s_utils//ptr",
         "@org_golang_google_protobuf//proto",
     ],
 )
diff --git a/metropolis/node/kubernetes/reconciler/reconciler.go b/metropolis/node/kubernetes/reconciler/reconciler.go
index 523b31b..b791341 100644
--- a/metropolis/node/kubernetes/reconciler/reconciler.go
+++ b/metropolis/node/kubernetes/reconciler/reconciler.go
@@ -41,16 +41,6 @@
 	"source.monogon.dev/osbase/supervisor"
 )
 
-// True is a sad workaround for all the pointer booleans in K8s specs
-func True() *bool {
-	val := true
-	return &val
-}
-func False() *bool {
-	val := false
-	return &val
-}
-
 const (
 	// BuiltinLabelKey is used as a k8s label to mark built-in objects (ie.,
 	// managed by the reconciler)
diff --git a/metropolis/node/kubernetes/reconciler/resources_csi.go b/metropolis/node/kubernetes/reconciler/resources_csi.go
index 06eb3ac..a1ca29f 100644
--- a/metropolis/node/kubernetes/reconciler/resources_csi.go
+++ b/metropolis/node/kubernetes/reconciler/resources_csi.go
@@ -22,6 +22,7 @@
 	storage "k8s.io/api/storage/v1"
 	meta "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
+	"k8s.io/utils/ptr"
 )
 
 // TODO(q3k): this is duplicated with
@@ -70,13 +71,13 @@
 				Labels: builtinLabels(nil),
 			},
 			Spec: storage.CSIDriverSpec{
-				AttachRequired:       False(),
-				PodInfoOnMount:       False(),
+				AttachRequired:       ptr.To(false),
+				PodInfoOnMount:       ptr.To(false),
 				VolumeLifecycleModes: []storage.VolumeLifecycleMode{storage.VolumeLifecyclePersistent},
-				StorageCapacity:      False(),
+				StorageCapacity:      ptr.To(false),
 				FSGroupPolicy:        &fsGroupPolicy,
-				RequiresRepublish:    False(),
-				SELinuxMount:         False(),
+				RequiresRepublish:    ptr.To(false),
+				SELinuxMount:         ptr.To(false),
 			},
 		},
 	}
diff --git a/metropolis/node/kubernetes/reconciler/resources_storageclass.go b/metropolis/node/kubernetes/reconciler/resources_storageclass.go
index 9be81fb..b3afc13 100644
--- a/metropolis/node/kubernetes/reconciler/resources_storageclass.go
+++ b/metropolis/node/kubernetes/reconciler/resources_storageclass.go
@@ -23,6 +23,7 @@
 	storage "k8s.io/api/storage/v1"
 	meta "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
+	"k8s.io/utils/ptr"
 )
 
 var reclaimPolicyDelete = core.PersistentVolumeReclaimDelete
@@ -71,7 +72,7 @@
 						"It is backed by XFS.",
 				},
 			},
-			AllowVolumeExpansion: True(),
+			AllowVolumeExpansion: ptr.To(true),
 			Provisioner:          csiProvisionerName,
 			ReclaimPolicy:        &reclaimPolicyDelete,
 			VolumeBindingMode:    &waitForConsumerBinding,