diff --git a/pkg/apis/build/v1beta1/build_conversion.go b/pkg/apis/build/v1beta1/build_conversion.go index 43c0a6363c..94ce0e3c5f 100644 --- a/pkg/apis/build/v1beta1/build_conversion.go +++ b/pkg/apis/build/v1beta1/build_conversion.go @@ -14,7 +14,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" runtime "k8s.io/apimachinery/pkg/runtime" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) const ( @@ -90,7 +90,7 @@ func (src *Build) ConvertFrom(ctx context.Context, obj *unstructured.Unstructure if src.Spec.Retention == nil { src.Spec.Retention = &BuildRetention{} } - src.Spec.Retention.AtBuildDeletion = pointer.Bool(value == "true") + src.Spec.Retention.AtBuildDeletion = ptr.To[bool](value == "true") delete(src.ObjectMeta.Annotations, v1alpha1.AnnotationBuildRunDeletion) } diff --git a/pkg/apis/build/v1beta1/buildstrategy_conversion.go b/pkg/apis/build/v1beta1/buildstrategy_conversion.go index ae803999f8..6ec1101f9b 100644 --- a/pkg/apis/build/v1beta1/buildstrategy_conversion.go +++ b/pkg/apis/build/v1beta1/buildstrategy_conversion.go @@ -14,7 +14,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" runtime "k8s.io/apimachinery/pkg/runtime" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) // ensure v1beta1 implements the Conversion interface @@ -213,7 +213,7 @@ func (src *BuildStrategySpec) ConvertFrom(bs v1alpha1.BuildStrategySpec) { Name: "dockerfile", Description: "The Dockerfile to be built.", Type: ParameterTypeString, - Default: pointer.String("Dockerfile"), + Default: ptr.To[string]("Dockerfile"), }) } diff --git a/pkg/config/config.go b/pkg/config/config.go index fde2657eaf..830532e2c3 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -14,7 +14,7 @@ import ( "github.com/prometheus/client_golang/prometheus" pipeline "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) const ( @@ -85,8 +85,8 @@ var ( metricBuildRunEstablishDurationBuckets = []float64{0, 1, 2, 3, 5, 7, 10, 15, 20, 30} metricBuildRunRampUpDurationBuckets = prometheus.LinearBuckets(0, 1, 10) - root = pointer.Int64(0) - nonRoot = pointer.Int64(1000) + root = ptr.To[int64](0) + nonRoot = ptr.To[int64](1000) ) // Config hosts different parameters that @@ -162,7 +162,7 @@ func NewDefaultConfig() *Config { }, }, SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), Capabilities: &corev1.Capabilities{ Drop: []corev1.Capability{ "ALL", @@ -186,7 +186,7 @@ func NewDefaultConfig() *Config { }, }, SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), Capabilities: &corev1.Capabilities{ Drop: []corev1.Capability{ "ALL", @@ -214,7 +214,7 @@ func NewDefaultConfig() *Config { // in all possible scenarios, we run this step as root with DAC_OVERRIDE // capability. SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), RunAsUser: root, RunAsGroup: root, Capabilities: &corev1.Capabilities{ @@ -244,7 +244,7 @@ func NewDefaultConfig() *Config { }, }, SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), Capabilities: &corev1.Capabilities{ Drop: []corev1.Capability{ "ALL", diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 9520c87c3b..c5b3c50f65 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -13,7 +13,7 @@ import ( pipeline "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" . "github.com/shipwright-io/build/pkg/config" ) @@ -126,7 +126,7 @@ var _ = Describe("Config", func() { } configWithEnvVariableOverrides(overrides, func(config *Config) { - nonRoot := pointer.Int64(1000) + nonRoot := ptr.To[int64](1000) Expect(config.GitContainerTemplate).To(Equal(pipeline.Step{ Image: "myregistry/custom/git-image", Command: []string{ @@ -134,7 +134,7 @@ var _ = Describe("Config", func() { }, Env: []corev1.EnvVar{{Name: "HOME", Value: "/shared-home"}}, SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), Capabilities: &corev1.Capabilities{ Drop: []corev1.Capability{ "ALL", @@ -228,14 +228,14 @@ var _ = Describe("Config", func() { } configWithEnvVariableOverrides(overrides, func(config *Config) { - nonRoot := pointer.Int64(1000) + nonRoot := ptr.To[int64](1000) Expect(config.WaiterContainerTemplate).To(Equal(pipeline.Step{ Image: "myregistry/custom/image", Command: []string{"/ko-app/waiter"}, Args: []string{"start"}, Env: []corev1.EnvVar{{Name: "HOME", Value: "/shared-home"}}, SecurityContext: &corev1.SecurityContext{ - AllowPrivilegeEscalation: pointer.Bool(false), + AllowPrivilegeEscalation: ptr.To[bool](false), Capabilities: &corev1.Capabilities{ Drop: []corev1.Capability{ "ALL", diff --git a/pkg/reconciler/build/build.go b/pkg/reconciler/build/build.go index ba9b2a9d2c..c203e556e6 100644 --- a/pkg/reconciler/build/build.go +++ b/pkg/reconciler/build/build.go @@ -10,7 +10,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/reconcile" @@ -113,7 +113,7 @@ func (r *ReconcileBuild) Reconcile(ctx context.Context, request reconcile.Reques } b.Status.Registered = build.ConditionStatusPtr(corev1.ConditionTrue) - b.Status.Message = pointer.String(build.AllValidationsSucceeded) + b.Status.Message = ptr.To[string](build.AllValidationsSucceeded) if err := r.client.Status().Update(ctx, b); err != nil { return reconcile.Result{}, err } diff --git a/pkg/reconciler/build/build_test.go b/pkg/reconciler/build/build_test.go index c399ee49e7..3de36f0ec5 100644 --- a/pkg/reconciler/build/build_test.go +++ b/pkg/reconciler/build/build_test.go @@ -15,7 +15,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" crc "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/reconcile" @@ -371,7 +371,7 @@ var _ = Describe("Reconcile Build", func() { Context("when source URL is specified", func() { // validate file protocol It("fails when source URL is invalid", func() { - buildSample.Spec.Source.URL = pointer.String("foobar") + buildSample.Spec.Source.URL = ptr.To[string]("foobar") buildSample.SetAnnotations(map[string]string{ build.AnnotationBuildVerifyRepository: "true", }) @@ -385,7 +385,7 @@ var _ = Describe("Reconcile Build", func() { // validate https protocol It("fails when public source URL is unreachable", func() { - buildSample.Spec.Source.URL = pointer.String("https://github.com/shipwright-io/sample-go-fake") + buildSample.Spec.Source.URL = ptr.To[string]("https://github.com/shipwright-io/sample-go-fake") buildSample.SetAnnotations(map[string]string{ build.AnnotationBuildVerifyRepository: "true", }) @@ -400,7 +400,7 @@ var _ = Describe("Reconcile Build", func() { // skip validation because of empty sourceURL annotation It("succeed when source URL is invalid because source annotation is empty", func() { - buildSample.Spec.Source.URL = pointer.String("foobar") + buildSample.Spec.Source.URL = ptr.To[string]("foobar") // Fake some client Get calls and ensure we populate all // different resources we could get during reconciliation @@ -451,7 +451,7 @@ var _ = Describe("Reconcile Build", func() { // skip validation because build references a sourceURL secret It("succeed when source URL is fake private URL because build reference a sourceURL secret", func() { buildSample := ctl.BuildWithClusterBuildStrategyAndSourceSecret(buildName, namespace, buildStrategyName) - buildSample.Spec.Source.URL = pointer.String("https://github.yourco.com/org/build-fake") + buildSample.Spec.Source.URL = ptr.To[string]("https://github.yourco.com/org/build-fake") buildSample.Spec.Source.Credentials.Name = registrySecret // Fake some client Get calls and ensure we populate all diff --git a/pkg/reconciler/buildrun/buildrun.go b/pkg/reconciler/buildrun/buildrun.go index 7c6840d526..82e730385b 100644 --- a/pkg/reconciler/buildrun/buildrun.go +++ b/pkg/reconciler/buildrun/buildrun.go @@ -21,7 +21,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/reconcile" @@ -182,7 +182,7 @@ func (r *ReconcileBuildRun) Reconcile(ctx context.Context, request reconcile.Req // mark transient build as "registered" and validated build.Status.Registered = buildv1alpha1.ConditionStatusPtr(corev1.ConditionTrue) build.Status.Reason = buildv1alpha1.BuildReasonPtr(buildv1alpha1.SucceedStatus) - build.Status.Message = pointer.String(buildv1alpha1.AllValidationsSucceeded) + build.Status.Message = ptr.To[string](buildv1alpha1.AllValidationsSucceeded) } } @@ -220,7 +220,7 @@ func (r *ReconcileBuildRun) Reconcile(ctx context.Context, request reconcile.Req if build.GetAnnotations()[buildv1alpha1.AnnotationBuildRunDeletion] == "true" && !resources.IsOwnedByBuild(build, buildRun.OwnerReferences) { if err := r.setOwnerReferenceFunc(build, buildRun, r.scheme); err != nil { build.Status.Reason = buildv1alpha1.BuildReasonPtr(buildv1alpha1.SetOwnerReferenceFailed) - build.Status.Message = pointer.String(fmt.Sprintf("unexpected error when trying to set the ownerreference: %v", err)) + build.Status.Message = ptr.To[string](fmt.Sprintf("unexpected error when trying to set the ownerreference: %v", err)) if err := r.client.Status().Update(ctx, build); err != nil { return reconcile.Result{}, err } diff --git a/pkg/reconciler/buildrun/buildrun_test.go b/pkg/reconciler/buildrun/buildrun_test.go index ffba2168e0..3eb3f499d6 100644 --- a/pkg/reconciler/buildrun/buildrun_test.go +++ b/pkg/reconciler/buildrun/buildrun_test.go @@ -21,7 +21,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes/scheme" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" knativeapi "knative.dev/pkg/apis" knativev1 "knative.dev/pkg/apis/duck/v1" crc "sigs.k8s.io/controller-runtime/pkg/client" @@ -1177,8 +1177,8 @@ var _ = Describe("Reconcile BuildRun", func() { // in the build clientUpdateCalls := ctl.StubBuildUpdateOwnerReferences("Build", buildName, - pointer.Bool(true), - pointer.Bool(true), + ptr.To[bool](true), + ptr.To[bool](true), ) client.UpdateCalls(clientUpdateCalls) @@ -1365,7 +1365,7 @@ var _ = Describe("Reconcile BuildRun", func() { Spec: build.BuildRunSpec{ ParamValues: []build.ParamValue{{ Name: "foo", - SingleValue: &build.SingleValue{Value: pointer.String("bar")}, + SingleValue: &build.SingleValue{Value: ptr.To[string]("bar")}, }}, BuildSpec: &build.BuildSpec{}, }, @@ -1421,8 +1421,8 @@ var _ = Describe("Reconcile BuildRun", func() { Spec: build.BuildRunSpec{ BuildSpec: &build.BuildSpec{ Source: build.Source{ - URL: pointer.String("https://github.com/shipwright-io/sample-go.git"), - ContextDir: pointer.String("source-build"), + URL: ptr.To[string]("https://github.com/shipwright-io/sample-go.git"), + ContextDir: ptr.To[string]("source-build"), }, Strategy: build.Strategy{ Kind: &clusterBuildStrategy, @@ -1433,7 +1433,7 @@ var _ = Describe("Reconcile BuildRun", func() { }, }, ServiceAccount: &build.ServiceAccount{ - Generate: pointer.Bool(true), + Generate: ptr.To[bool](true), }, }, } diff --git a/pkg/reconciler/buildrun/resources/credentials_test.go b/pkg/reconciler/buildrun/resources/credentials_test.go index 24c74e4552..361d96b4b2 100644 --- a/pkg/reconciler/buildrun/resources/credentials_test.go +++ b/pkg/reconciler/buildrun/resources/credentials_test.go @@ -11,13 +11,13 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" buildv1alpha1 "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" "github.com/shipwright-io/build/pkg/reconciler/buildrun/resources" ) -var _ = Describe("Credentials", func() { +var _ = Describe("Credentials", func() { var ( build *buildv1alpha1.Build buildRun *buildv1alpha1.BuildRun @@ -33,12 +33,12 @@ var _ = Describe("Credentials", func() { } }) - Context("when secrets were not present in the service account", func() { + Context("when secrets were not present in the service account", func() { BeforeEach(func() { build = &buildv1alpha1.Build{ Spec: buildv1alpha1.BuildSpec{ Source: buildv1alpha1.Source{ - URL: pointer.String("a/b/c"), + URL: ptr.To[string]("a/b/c"), Credentials: &corev1.LocalObjectReference{ Name: "secret_a", }, @@ -89,12 +89,12 @@ var _ = Describe("Credentials", func() { }) }) - Context("when secrets were already in the service account", func() { + Context("when secrets were already in the service account", func() { BeforeEach(func() { build = &buildv1alpha1.Build{ Spec: buildv1alpha1.BuildSpec{ Source: buildv1alpha1.Source{ - URL: pointer.String("a/b/c"), + URL: ptr.To[string]("a/b/c"), }, Output: buildv1alpha1.Image{ Credentials: &corev1.LocalObjectReference{ @@ -126,12 +126,12 @@ var _ = Describe("Credentials", func() { }) }) - Context("when build does not reference any secret", func() { + Context("when build does not reference any secret", func() { BeforeEach(func() { build = &buildv1alpha1.Build{ Spec: buildv1alpha1.BuildSpec{ Source: buildv1alpha1.Source{ - URL: pointer.String("a/b/c"), + URL: ptr.To[string]("a/b/c"), Credentials: nil, }, }, diff --git a/pkg/reconciler/buildrun/resources/params_test.go b/pkg/reconciler/buildrun/resources/params_test.go index ad61c6183a..5dd805a012 100644 --- a/pkg/reconciler/buildrun/resources/params_test.go +++ b/pkg/reconciler/buildrun/resources/params_test.go @@ -12,7 +12,7 @@ import ( "github.com/onsi/gomega/types" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" buildv1alpha1 "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" pipeline "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" @@ -28,22 +28,22 @@ var _ = Describe("Params overrides", func() { Entry("override a single parameter", []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, }, []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("3"), + Value: ptr.To[string]("3"), }}, }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("3"), + Value: ptr.To[string]("3"), }}, })), Entry("override two parameters", []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ SecretValue: &buildv1alpha1.ObjectKeyRef{ @@ -53,7 +53,7 @@ var _ = Describe("Params overrides", func() { }}, }, []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("3"), + Value: ptr.To[string]("3"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -63,7 +63,7 @@ var _ = Describe("Params overrides", func() { }}, }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("3"), + Value: ptr.To[string]("3"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -76,43 +76,43 @@ var _ = Describe("Params overrides", func() { Entry("override multiple parameters", []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, }, []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, })), Entry("dont override when second list is empty", []buildv1alpha1.ParamValue{ {Name: "t", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "z", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "g", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, }, []buildv1alpha1.ParamValue{ @@ -120,13 +120,13 @@ var _ = Describe("Params overrides", func() { }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "t", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "z", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, {Name: "g", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, })), @@ -135,56 +135,56 @@ var _ = Describe("Params overrides", func() { // no original values }, []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("6"), + Value: ptr.To[string]("6"), }}, })), Entry("override multiple parameters if the match and add them if not present in first list", []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("2"), + Value: ptr.To[string]("2"), }}, }, []buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("22"), + Value: ptr.To[string]("22"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("20"), + Value: ptr.To[string]("20"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("10"), + Value: ptr.To[string]("10"), }}, {Name: "d", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("8"), + Value: ptr.To[string]("8"), }}, {Name: "e", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("4"), + Value: ptr.To[string]("4"), }}, }, ContainElements([]buildv1alpha1.ParamValue{ {Name: "a", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("22"), + Value: ptr.To[string]("22"), }}, {Name: "b", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("20"), + Value: ptr.To[string]("20"), }}, {Name: "c", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("10"), + Value: ptr.To[string]("10"), }}, {Name: "d", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("8"), + Value: ptr.To[string]("8"), }}, {Name: "e", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("4"), + Value: ptr.To[string]("4"), }}, })), ) @@ -244,13 +244,13 @@ var _ = Describe("FindParamValueByName", func() { paramValues := []buildv1alpha1.ParamValue{{ Name: "some-parameter", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("some-value"), + Value: ptr.To[string]("some-value"), }, }, { Name: "another-parameter", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("item"), + Value: ptr.To[string]("item"), }, { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -262,7 +262,7 @@ var _ = Describe("FindParamValueByName", func() { }, { Name: "last-parameter", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("last-value"), + Value: ptr.To[string]("last-value"), }, }} @@ -277,7 +277,7 @@ var _ = Describe("FindParamValueByName", func() { Name: "another-parameter", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("item"), + Value: ptr.To[string]("item"), }, { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -383,7 +383,7 @@ var _ = Describe("HandleTaskRunParam", func() { err := HandleTaskRunParam(taskRun, parameterDefinition, buildv1alpha1.ParamValue{ Name: "string-parameter", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("My value"), + Value: ptr.To[string]("My value"), }, }) Expect(err).ToNot(HaveOccurred()) @@ -449,7 +449,7 @@ var _ = Describe("HandleTaskRunParam", func() { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ Name: "config-map-name", Key: "my-key", - Format: pointer.String("The value from the config map is '${CONFIGMAP_VALUE}'."), + Format: ptr.To[string]("The value from the config map is '${CONFIGMAP_VALUE}'."), }, }, }) @@ -536,7 +536,7 @@ var _ = Describe("HandleTaskRunParam", func() { SecretValue: &buildv1alpha1.ObjectKeyRef{ Name: "secret-name", Key: "secret-key", - Format: pointer.String("secret-value: ${SECRET_VALUE}"), + Format: ptr.To[string]("secret-value: ${SECRET_VALUE}"), }, }, }) @@ -586,13 +586,13 @@ var _ = Describe("HandleTaskRunParam", func() { Name: "array-parameter", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("first entry"), + Value: ptr.To[string]("first entry"), }, { - Value: pointer.String(""), + Value: ptr.To[string](""), }, { - Value: pointer.String("third entry"), + Value: ptr.To[string]("third entry"), }, }, }) @@ -621,7 +621,7 @@ var _ = Describe("HandleTaskRunParam", func() { Name: "array-parameter", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("first entry"), + Value: ptr.To[string]("first entry"), }, { SecretValue: &buildv1alpha1.ObjectKeyRef{ @@ -633,7 +633,7 @@ var _ = Describe("HandleTaskRunParam", func() { SecretValue: &buildv1alpha1.ObjectKeyRef{ Name: "secret-name", Key: "secret-key", - Format: pointer.String("The secret value is ${SECRET_VALUE}"), + Format: ptr.To[string]("The secret value is ${SECRET_VALUE}"), }, }, }, diff --git a/pkg/reconciler/buildrun/resources/results_test.go b/pkg/reconciler/buildrun/resources/results_test.go index 13966611c2..1bf4f45f10 100644 --- a/pkg/reconciler/buildrun/resources/results_test.go +++ b/pkg/reconciler/buildrun/resources/results_test.go @@ -16,7 +16,7 @@ import ( pipelinev1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/reconcile" ) @@ -50,7 +50,7 @@ var _ = Describe("TaskRun results to BuildRun", func() { It("should surface the TaskRun results emitting from default(git) source step", func() { commitSha := "0e0583421a5e4bf562ffe33f3651e16ba0c78591" - br.Status.BuildSpec.Source.URL = pointer.String("https://github.com/shipwright-io/sample-go") + br.Status.BuildSpec.Source.URL = ptr.To[string]("https://github.com/shipwright-io/sample-go") tr.Status.TaskRunResults = append(tr.Status.TaskRunResults, pipelinev1beta1.TaskRunResult{ @@ -124,7 +124,7 @@ var _ = Describe("TaskRun results to BuildRun", func() { It("should surface the TaskRun results emitting from source and output step", func() { commitSha := "0e0583421a5e4bf562ffe33f3651e16ba0c78591" imageDigest := "sha256:fe1b73cd25ac3f11dec752755e2" - br.Status.BuildSpec.Source.URL = pointer.String("https://github.com/shipwright-io/sample-go") + br.Status.BuildSpec.Source.URL = ptr.To[string]("https://github.com/shipwright-io/sample-go") tr.Status.TaskRunResults = append(tr.Status.TaskRunResults, pipelinev1beta1.TaskRunResult{ diff --git a/pkg/reconciler/buildrun/resources/service_accounts.go b/pkg/reconciler/buildrun/resources/service_accounts.go index 38cd815f3d..4cf400cb0f 100644 --- a/pkg/reconciler/buildrun/resources/service_accounts.go +++ b/pkg/reconciler/buildrun/resources/service_accounts.go @@ -14,7 +14,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -65,7 +65,7 @@ func GenerateSA(ctx context.Context, client client.Client, build *buildv1alpha1. *metav1.NewControllerRef(buildRun, buildv1alpha1.SchemeGroupVersion.WithKind("BuildRun")), }, }, - AutomountServiceAccountToken: pointer.Bool(false), + AutomountServiceAccountToken: ptr.To[bool](false), } ctxlog.Debug(ctx, "automatic generation of service account", namespace, serviceAccount.Namespace, name, serviceAccount.Name) diff --git a/pkg/reconciler/buildrun/resources/sources/git_test.go b/pkg/reconciler/buildrun/resources/sources/git_test.go index 19df2a68d1..3d5ef09dad 100644 --- a/pkg/reconciler/buildrun/resources/sources/git_test.go +++ b/pkg/reconciler/buildrun/resources/sources/git_test.go @@ -14,7 +14,7 @@ import ( tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) var _ = Describe("Git", func() { @@ -31,7 +31,7 @@ var _ = Describe("Git", func() { JustBeforeEach(func() { sources.AppendGitStep(cfg, taskSpec, buildv1alpha1.Source{ - URL: pointer.String("https://github.com/shipwright-io/build"), + URL: ptr.To[string]("https://github.com/shipwright-io/build"), }, "default") }) @@ -75,7 +75,7 @@ var _ = Describe("Git", func() { JustBeforeEach(func() { sources.AppendGitStep(cfg, taskSpec, buildv1alpha1.Source{ - URL: pointer.String("git@github.com:shipwright-io/build.git"), + URL: ptr.To[string]("git@github.com:shipwright-io/build.git"), Credentials: &corev1.LocalObjectReference{ Name: "a.secret", }, diff --git a/pkg/reconciler/buildrun/resources/sources/utils.go b/pkg/reconciler/buildrun/resources/sources/utils.go index 72d837fe6f..1e8a346c0e 100644 --- a/pkg/reconciler/buildrun/resources/sources/utils.go +++ b/pkg/reconciler/buildrun/resources/sources/utils.go @@ -11,7 +11,7 @@ import ( tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) const ( @@ -24,7 +24,7 @@ var ( dnsLabel1123Forbidden = regexp.MustCompile("[^a-zA-Z0-9-]+") // secrets are volumes and volumes are mounted as root, as we run as non-root, we must use 0444 to allow non-root to read it - secretMountMode = pointer.Int32(0444) + secretMountMode = ptr.To[int32](0444) ) // AppendSecretVolume checks if a volume for a secret already exists, if not it appends it to the TaskSpec diff --git a/pkg/reconciler/buildrun/resources/steps/security_context.go b/pkg/reconciler/buildrun/resources/steps/security_context.go index 4a866e16cf..8518d21b43 100644 --- a/pkg/reconciler/buildrun/resources/steps/security_context.go +++ b/pkg/reconciler/buildrun/resources/steps/security_context.go @@ -10,7 +10,7 @@ import ( buildapi "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" tektonapi "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "k8s.io/utils/strings/slices" ) @@ -66,7 +66,7 @@ func UpdateSecurityContext(taskSpec *tektonapi.TaskSpec, taskRunAnnotations map[ Name: VolumeNameSecurityContext, VolumeSource: corev1.VolumeSource{ DownwardAPI: &corev1.DownwardAPIVolumeSource{ - DefaultMode: pointer.Int32(0444), + DefaultMode: ptr.To[int32](0444), Items: []corev1.DownwardAPIVolumeFile{{ Path: "group", diff --git a/pkg/reconciler/buildrun/resources/steps/security_context_test.go b/pkg/reconciler/buildrun/resources/steps/security_context_test.go index 64eda83c56..62b3c7300e 100644 --- a/pkg/reconciler/buildrun/resources/steps/security_context_test.go +++ b/pkg/reconciler/buildrun/resources/steps/security_context_test.go @@ -12,7 +12,7 @@ import ( buildapi "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" tektonapi "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -30,15 +30,15 @@ var _ = Describe("UpdateSecurityContext", func() { Container: corev1.Container{ Name: "first-step", SecurityContext: &corev1.SecurityContext{ - RunAsUser: pointer.Int64(891), - RunAsGroup: pointer.Int64(1210), + RunAsUser: ptr.To[int64](891), + RunAsGroup: ptr.To[int64](1210), }, }, }, { Container: corev1.Container{ Name: "second-step", SecurityContext: &corev1.SecurityContext{ - RunAsUser: pointer.Int64(891), + RunAsUser: ptr.To[int64](891), }, }, }, { @@ -51,19 +51,19 @@ var _ = Describe("UpdateSecurityContext", func() { Steps: []tektonapi.Step{{ Name: "shp-source-default", SecurityContext: &corev1.SecurityContext{ - RunAsUser: pointer.Int64(1000), - RunAsGroup: pointer.Int64(1000), + RunAsUser: ptr.To[int64](1000), + RunAsGroup: ptr.To[int64](1000), }, }, { Name: "first-step", SecurityContext: &corev1.SecurityContext{ - RunAsUser: pointer.Int64(891), - RunAsGroup: pointer.Int64(1210), + RunAsUser: ptr.To[int64](891), + RunAsGroup: ptr.To[int64](1210), }, }, { Name: "second-step", SecurityContext: &corev1.SecurityContext{ - RunAsUser: pointer.Int64(891), + RunAsUser: ptr.To[int64](891), }, }, { Name: "third-step", @@ -83,11 +83,11 @@ var _ = Describe("UpdateSecurityContext", func() { }) It("does not change the step's securityContext", func() { - Expect(taskRunSpec.Steps[0].SecurityContext.RunAsUser).To(Equal(pointer.Int64(1000))) - Expect(taskRunSpec.Steps[0].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(1000))) - Expect(taskRunSpec.Steps[1].SecurityContext.RunAsUser).To(Equal(pointer.Int64(891))) - Expect(taskRunSpec.Steps[1].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(1210))) - Expect(taskRunSpec.Steps[2].SecurityContext.RunAsUser).To(Equal(pointer.Int64(891))) + Expect(taskRunSpec.Steps[0].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](1000))) + Expect(taskRunSpec.Steps[0].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](1000))) + Expect(taskRunSpec.Steps[1].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](891))) + Expect(taskRunSpec.Steps[1].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](1210))) + Expect(taskRunSpec.Steps[2].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](891))) Expect(taskRunSpec.Steps[2].SecurityContext.RunAsGroup).To(BeNil()) Expect(taskRunSpec.Steps[3].SecurityContext).To(BeNil()) }) @@ -115,24 +115,24 @@ var _ = Describe("UpdateSecurityContext", func() { }) It("changes the securityContext of shipwright-managed steps", func() { - Expect(taskRunSpec.Steps[0].SecurityContext.RunAsUser).To(Equal(pointer.Int64(123))) - Expect(taskRunSpec.Steps[0].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(456))) + Expect(taskRunSpec.Steps[0].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](123))) + Expect(taskRunSpec.Steps[0].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](456))) }) It("does not change the securityContext of a strategy step that has runAsUser and runAsGroup set", func() { - Expect(taskRunSpec.Steps[1].SecurityContext.RunAsUser).To(Equal(pointer.Int64(891))) - Expect(taskRunSpec.Steps[1].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(1210))) + Expect(taskRunSpec.Steps[1].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](891))) + Expect(taskRunSpec.Steps[1].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](1210))) }) It("changes the securityContext of a strategy step that does not have both runAsUser and runAsGroup set", func() { - Expect(taskRunSpec.Steps[2].SecurityContext.RunAsUser).To(Equal(pointer.Int64(891))) - Expect(taskRunSpec.Steps[2].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(456))) + Expect(taskRunSpec.Steps[2].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](891))) + Expect(taskRunSpec.Steps[2].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](456))) }) It("introduces a securityContext for a strategy step that does not have one", func() { Expect(taskRunSpec.Steps[3].SecurityContext).ToNot(BeNil()) - Expect(taskRunSpec.Steps[3].SecurityContext.RunAsUser).To(Equal(pointer.Int64(123))) - Expect(taskRunSpec.Steps[3].SecurityContext.RunAsGroup).To(Equal(pointer.Int64(456))) + Expect(taskRunSpec.Steps[3].SecurityContext.RunAsUser).To(Equal(ptr.To[int64](123))) + Expect(taskRunSpec.Steps[3].SecurityContext.RunAsGroup).To(Equal(ptr.To[int64](456))) }) It("adds annotations", func() { @@ -147,7 +147,7 @@ var _ = Describe("UpdateSecurityContext", func() { Name: steps.VolumeNameSecurityContext, VolumeSource: corev1.VolumeSource{ DownwardAPI: &corev1.DownwardAPIVolumeSource{ - DefaultMode: pointer.Int32(0444), + DefaultMode: ptr.To[int32](0444), Items: []corev1.DownwardAPIVolumeFile{{ Path: "group", diff --git a/pkg/validate/buildname.go b/pkg/validate/buildname.go index 1eaa83c1f5..2bac3686a9 100644 --- a/pkg/validate/buildname.go +++ b/pkg/validate/buildname.go @@ -9,7 +9,7 @@ import ( "strings" "k8s.io/apimachinery/pkg/util/validation" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" ) @@ -29,7 +29,7 @@ func NewBuildName(build *build.Build) *BuildNameRef { func (b *BuildNameRef) ValidatePath(_ context.Context) error { if errs := validation.IsValidLabelValue(b.Build.Name); len(errs) > 0 { b.Build.Status.Reason = build.BuildReasonPtr(build.BuildNameInvalid) - b.Build.Status.Message = pointer.String(strings.Join(errs, ", ")) + b.Build.Status.Message = ptr.To[string](strings.Join(errs, ", ")) } return nil diff --git a/pkg/validate/envvars.go b/pkg/validate/envvars.go index 6d116b78ad..fb23a2d2e4 100644 --- a/pkg/validate/envvars.go +++ b/pkg/validate/envvars.go @@ -10,7 +10,7 @@ import ( corev1 "k8s.io/api/core/v1" kerrors "k8s.io/apimachinery/pkg/util/errors" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" ) @@ -47,13 +47,13 @@ func (e *Env) validate(envVar corev1.EnvVar) []error { if envVar.Name == "" { e.Build.Status.Reason = build.BuildReasonPtr(build.SpecEnvNameCanNotBeBlank) - e.Build.Status.Message = pointer.String("name for environment variable must not be blank") + e.Build.Status.Message = ptr.To[string]("name for environment variable must not be blank") allErrs = append(allErrs, fmt.Errorf("%s", *e.Build.Status.Message)) } if envVar.Value != "" && envVar.ValueFrom != nil { e.Build.Status.Reason = build.BuildReasonPtr(build.SpecEnvOnlyOneOfValueOrValueFromMustBeSpecified) - e.Build.Status.Message = pointer.String("only one of value or valueFrom must be specified") + e.Build.Status.Message = ptr.To[string]("only one of value or valueFrom must be specified") allErrs = append(allErrs, fmt.Errorf("%s", *e.Build.Status.Message)) } diff --git a/pkg/validate/envvars_test.go b/pkg/validate/envvars_test.go index 293de3e5ac..f548238ea4 100644 --- a/pkg/validate/envvars_test.go +++ b/pkg/validate/envvars_test.go @@ -11,7 +11,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" "github.com/shipwright-io/build/pkg/validate" @@ -34,7 +34,7 @@ var _ = Describe("Env", func() { err := validate.NewEnv(b).ValidatePath(context.TODO()) Expect(err).To(HaveOccurred()) Expect(b.Status.Reason).To(Equal(build.BuildReasonPtr(build.SpecEnvNameCanNotBeBlank))) - Expect(b.Status.Message).To(Equal(pointer.String("name for environment variable must not be blank"))) + Expect(b.Status.Message).To(Equal(ptr.To[string]("name for environment variable must not be blank"))) }) It("should fail in case of specifying both value and valueFrom", func() { @@ -57,7 +57,7 @@ var _ = Describe("Env", func() { err := validate.NewEnv(b).ValidatePath(context.TODO()) Expect(err).To(HaveOccurred()) Expect(b.Status.Reason).To(Equal(build.BuildReasonPtr(build.SpecEnvOnlyOneOfValueOrValueFromMustBeSpecified))) - Expect(b.Status.Message).To(Equal(pointer.String("only one of value or valueFrom must be specified"))) + Expect(b.Status.Message).To(Equal(ptr.To[string]("only one of value or valueFrom must be specified"))) }) It("should pass in case no env var are set", func() { diff --git a/pkg/validate/ownerreferences.go b/pkg/validate/ownerreferences.go index 2a39c8fe83..65f8cc405a 100644 --- a/pkg/validate/ownerreferences.go +++ b/pkg/validate/ownerreferences.go @@ -11,7 +11,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" @@ -44,7 +44,7 @@ func (o OwnerRef) ValidatePath(ctx context.Context) error { if index := o.validateBuildOwnerReference(buildRun.OwnerReferences); index == -1 { if err := controllerutil.SetControllerReference(o.Build, &buildRun, o.Scheme); err != nil { o.Build.Status.Reason = build.BuildReasonPtr(build.SetOwnerReferenceFailed) - o.Build.Status.Message = pointer.String(fmt.Sprintf("unexpected error when trying to set the ownerreference: %v", err)) + o.Build.Status.Message = ptr.To[string](fmt.Sprintf("unexpected error when trying to set the ownerreference: %v", err)) } if err = o.Client.Update(ctx, &buildRun); err != nil { return err diff --git a/pkg/validate/params_test.go b/pkg/validate/params_test.go index 66bc57c15c..dc5f8072da 100644 --- a/pkg/validate/params_test.go +++ b/pkg/validate/params_test.go @@ -7,8 +7,7 @@ package validate_test import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" buildv1alpha1 "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" "github.com/shipwright-io/build/pkg/validate" @@ -23,7 +22,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-with-default", Type: buildv1alpha1.ParameterTypeString, - Default: pointer.String("default value"), + Default: ptr.To[string]("default value"), }, { Name: "array-param-no-defaults", @@ -41,7 +40,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-no-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("a value"), + Value: ptr.To[string]("a value"), }, }, } @@ -92,7 +91,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-with-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String(""), + Value: ptr.To[string](""), }, }, } @@ -143,7 +142,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-no-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("a value"), + Value: ptr.To[string]("a value"), }, }, { @@ -156,7 +155,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "shp-source-context", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("/my-source"), + Value: ptr.To[string]("/my-source"), }, }, } @@ -174,7 +173,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-no-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("a value"), + Value: ptr.To[string]("a value"), }, }, { @@ -191,7 +190,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "non-existing-parameter", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("my value"), + Value: ptr.To[string]("my value"), }, }, } @@ -211,7 +210,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-no-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("a value"), + Value: ptr.To[string]("a value"), ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ Name: "a-config-map", Key: "a-key", @@ -225,7 +224,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { Name: "array-param-no-defaults", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("a good item"), + Value: ptr.To[string]("a good item"), }, { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -257,7 +256,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { Name: "string-param-no-default", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("an item"), + Value: ptr.To[string]("an item"), }, { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -273,7 +272,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "array-param-no-defaults", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String("a value"), + Value: ptr.To[string]("a value"), }, }, } @@ -293,7 +292,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { { Name: "string-param-no-default", SingleValue: &buildv1alpha1.SingleValue{ - Value: pointer.String(" some value"), + Value: ptr.To[string](" some value"), }, }, { @@ -311,7 +310,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { Name: "array-param-no-defaults", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("a good item"), + Value: ptr.To[string]("a good item"), }, { // the bad item without any value @@ -353,7 +352,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { Name: "array-param-no-defaults", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("an item"), + Value: ptr.To[string]("an item"), }, { ConfigMapValue: &buildv1alpha1.ObjectKeyRef{ @@ -391,7 +390,7 @@ var _ = Describe("ValidateBuildRunParameters", func() { Name: "array-param-no-defaults", Values: []buildv1alpha1.SingleValue{ { - Value: pointer.String("an item"), + Value: ptr.To[string]("an item"), }, { SecretValue: &buildv1alpha1.ObjectKeyRef{ diff --git a/pkg/validate/secrets.go b/pkg/validate/secrets.go index 5e3692e0c6..a124c3b0b6 100644 --- a/pkg/validate/secrets.go +++ b/pkg/validate/secrets.go @@ -13,7 +13,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" @@ -43,7 +43,7 @@ func (s Credentials) ValidatePath(ctx context.Context) error { return err } else if apierrors.IsNotFound(err) { s.Build.Status.Reason = build.BuildReasonPtr(secretType) - s.Build.Status.Message = pointer.String(fmt.Sprintf("referenced secret %s not found", refSecret)) + s.Build.Status.Message = ptr.To[string](fmt.Sprintf("referenced secret %s not found", refSecret)) missingSecrets = append(missingSecrets, refSecret) } } @@ -53,7 +53,7 @@ func (s Credentials) ValidatePath(ctx context.Context) error { if len(missingSecrets) > 1 { s.Build.Status.Reason = build.BuildReasonPtr(build.MultipleSecretRefNotFound) - s.Build.Status.Message = pointer.String(fmt.Sprintf("missing secrets are %s", strings.Join(missingSecrets, ","))) + s.Build.Status.Message = ptr.To[string](fmt.Sprintf("missing secrets are %s", strings.Join(missingSecrets, ","))) } return nil } diff --git a/pkg/validate/sourceurl.go b/pkg/validate/sourceurl.go index c724d423b7..7d9c21caee 100644 --- a/pkg/validate/sourceurl.go +++ b/pkg/validate/sourceurl.go @@ -8,7 +8,7 @@ import ( "context" "fmt" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" @@ -56,5 +56,5 @@ func (s SourceURLRef) ValidatePath(ctx context.Context) error { // MarkBuildStatus updates a Build Status fields func (s SourceURLRef) MarkBuildStatus(b *build.Build, reason build.BuildReason, msg string) { b.Status.Reason = build.BuildReasonPtr(reason) - b.Status.Message = pointer.String(msg) + b.Status.Message = ptr.To[string](msg) } diff --git a/pkg/validate/strategies.go b/pkg/validate/strategies.go index 56a24d253a..4013c3127e 100644 --- a/pkg/validate/strategies.go +++ b/pkg/validate/strategies.go @@ -10,7 +10,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" @@ -75,7 +75,7 @@ func (s Strategy) validateBuildStrategy(ctx context.Context, strategyName string return false, err } else if apierrors.IsNotFound(err) { s.Build.Status.Reason = build.BuildReasonPtr(build.BuildStrategyNotFound) - s.Build.Status.Message = pointer.String(fmt.Sprintf("buildStrategy %s does not exist in namespace %s", s.Build.Spec.Strategy.Name, s.Build.Namespace)) + s.Build.Status.Message = ptr.To[string](fmt.Sprintf("buildStrategy %s does not exist in namespace %s", s.Build.Spec.Strategy.Name, s.Build.Namespace)) return false, nil } return true, nil @@ -86,7 +86,7 @@ func (s Strategy) validateClusterBuildStrategy(ctx context.Context, strategyName return false, err } else if apierrors.IsNotFound(err) { s.Build.Status.Reason = build.BuildReasonPtr(build.ClusterBuildStrategyNotFound) - s.Build.Status.Message = pointer.String(fmt.Sprintf("clusterBuildStrategy %s does not exist", s.Build.Spec.Strategy.Name)) + s.Build.Status.Message = ptr.To[string](fmt.Sprintf("clusterBuildStrategy %s does not exist", s.Build.Spec.Strategy.Name)) return false, nil } return true, nil @@ -97,7 +97,7 @@ func (s Strategy) validateBuildParams(parameterDefinitions []build.Parameter) { if !valid { s.Build.Status.Reason = build.BuildReasonPtr(reason) - s.Build.Status.Message = pointer.String(message) + s.Build.Status.Message = ptr.To[string](message) } } @@ -106,6 +106,6 @@ func (s Strategy) validateBuildVolumes(strategyVolumes []build.BuildStrategyVolu if !valid { s.Build.Status.Reason = build.BuildReasonPtr(reason) - s.Build.Status.Message = pointer.String(message) + s.Build.Status.Message = ptr.To[string](message) } } diff --git a/pkg/validate/trigger.go b/pkg/validate/trigger.go index 562aafea1f..bd3160f209 100644 --- a/pkg/validate/trigger.go +++ b/pkg/validate/trigger.go @@ -9,7 +9,7 @@ import ( build "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" kerrors "k8s.io/apimachinery/pkg/util/errors" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) // Trigger implements the interface BuildPath with the objective of applying validations against the @@ -24,7 +24,7 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { for _, when := range triggerWhen { if when.Name == "" { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerNameCanNotBeBlank) - t.build.Status.Message = pointer.String("name is not set on when trigger condition") + t.build.Status.Message = ptr.To[string]("name is not set on when trigger condition") allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } @@ -32,14 +32,14 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { case build.GitHubWebHookTrigger: if when.GitHub == nil { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidGitHubWebHook) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.github`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } else { if len(when.GitHub.Events) == 0 { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidGitHubWebHook) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.github.events`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) @@ -48,14 +48,14 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { case build.ImageTrigger: if when.Image == nil { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidImage) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.image`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } else { if len(when.Image.Names) == 0 { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidImage) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.image.names`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) @@ -64,21 +64,21 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { case build.PipelineTrigger: if when.ObjectRef == nil { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidPipeline) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.objectRef`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } else { if len(when.ObjectRef.Status) == 0 { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidPipeline) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attribute `.objectRef.status`", when.Name, )) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } if when.ObjectRef.Name == "" && len(when.ObjectRef.Selector) == 0 { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidPipeline) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q is missing required attributes `.objectRef.name` or `.objectRef.selector`", when.Name, )) @@ -86,7 +86,7 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { } if when.ObjectRef.Name != "" && len(when.ObjectRef.Selector) > 0 { t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidPipeline) - t.build.Status.Message = pointer.String(fmt.Sprintf( + t.build.Status.Message = ptr.To[string](fmt.Sprintf( "%q contains `.objectRef.name` and `.objectRef.selector`, must be only one", when.Name, )) @@ -95,7 +95,7 @@ func (t *Trigger) validate(triggerWhen []build.TriggerWhen) []error { } default: t.build.Status.Reason = build.BuildReasonPtr(build.TriggerInvalidType) - t.build.Status.Message = pointer.String( + t.build.Status.Message = ptr.To[string]( fmt.Sprintf("%q contains an invalid type %q", when.Name, when.Type)) allErrs = append(allErrs, fmt.Errorf("%s", *t.build.Status.Message)) } diff --git a/pkg/webhook/conversion/converter_test.go b/pkg/webhook/conversion/converter_test.go index f9d3780386..6ecdc7e40a 100644 --- a/pkg/webhook/conversion/converter_test.go +++ b/pkg/webhook/conversion/converter_test.go @@ -22,7 +22,7 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer/json" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" ) func getConversionReview(o string) (apiextensionsv1.ConversionReview, error) { @@ -497,7 +497,7 @@ request: }, }, Retention: &v1beta1.BuildRetention{ - AtBuildDeletion: pointer.Bool(true), + AtBuildDeletion: ptr.To[bool](true), }, Trigger: &v1beta1.Trigger{ When: []v1beta1.TriggerWhen{ @@ -1157,7 +1157,7 @@ request: Name: "dockerfile", Description: "The Dockerfile to be built.", Type: v1beta1.ParameterTypeString, - Default: pointer.String("Dockerfile"), + Default: ptr.To[string]("Dockerfile"), }, }, SecurityContext: &v1beta1.BuildStrategySecurityContext{