diff --git a/src/go/k8s/pkg/resources/cluster_role.go b/src/go/k8s/pkg/resources/cluster_role.go index 861e89968f8f..e9c811b57c59 100644 --- a/src/go/k8s/pkg/resources/cluster_role.go +++ b/src/go/k8s/pkg/resources/cluster_role.go @@ -11,6 +11,7 @@ package resources import ( "context" + "fmt" "github.com/go-logr/logr" redpandav1alpha1 "github.com/redpanda-data/redpanda/src/go/k8s/apis/redpanda/v1alpha1" @@ -53,7 +54,19 @@ func (r *ClusterRoleResource) Ensure(ctx context.Context) error { if r.pandaCluster.ExternalListener() == nil { return nil } - _, err := CreateIfNotExists(ctx, r, r.obj(), r.logger) + + obj := r.obj() + created, err := CreateIfNotExists(ctx, r, obj, r.logger) + if err != nil || created { + return err + } + var cr v1.ClusterRole + err = r.Get(ctx, r.Key(), &cr) + if err != nil { + return fmt.Errorf("error while fetching ClusterRole resource: %w", err) + } + + _, err = Update(ctx, &cr, obj, r.Client, r.logger) return err } diff --git a/src/go/k8s/pkg/resources/statefulset.go b/src/go/k8s/pkg/resources/statefulset.go index 1a1309dd0e60..4628a3d54762 100644 --- a/src/go/k8s/pkg/resources/statefulset.go +++ b/src/go/k8s/pkg/resources/statefulset.go @@ -530,7 +530,7 @@ func (r *StatefulSetResource) obj( }) } - setCloudStorage(ss, r.pandaCluster) + setVolumes(ss, r.pandaCluster) rpkStatusContainer := r.rpkStatusContainer(tlsVolumeMounts) if rpkStatusContainer != nil { @@ -613,9 +613,9 @@ func (r *StatefulSetResource) composeCURLMaintenanceCommand( return cmd } -// setCloudStorage manipulates v1.StatefulSet object in order to add cloud storage specific -// properties to Redpanda pod. -func setCloudStorage( +// setVolumes manipulates v1.StatefulSet object in order to add cloud storage and +// Redpanda data volume +func setVolumes( ss *appsv1.StatefulSet, cluster *redpandav1alpha1.Cluster, ) { pvcDataDir := preparePVCResource(datadirName, cluster.Namespace, cluster.Spec.Storage, ss.Labels)