15
15
package collector
16
16
17
17
import (
18
+ "errors"
19
+ "fmt"
20
+
18
21
"sigs.k8s.io/controller-runtime/pkg/client"
19
22
20
23
"github.com/open-telemetry/opentelemetry-operator/apis/v1beta1"
@@ -81,7 +84,7 @@ func Build(params manifests.Params) ([]client.Object, error) {
81
84
}
82
85
}
83
86
84
- if params .Config .CreateRBACPermissions () == rbac .NotAvailable && params .Reviewer != nil {
87
+ if params .ErrorAsWarning && params . Config .CreateRBACPermissions () == rbac .NotAvailable && params .Reviewer != nil {
85
88
saName := params .OtelCol .Spec .ServiceAccount
86
89
if saName == "" {
87
90
sa , err := manifests .Factory (ServiceAccount )(params )
@@ -92,13 +95,14 @@ func Build(params manifests.Params) ([]client.Object, error) {
92
95
}
93
96
warnings , err := CheckRbacRules (params , saName )
94
97
if err != nil {
95
- params . Log . Error ( err , "Error checking RBAC rules" , " serviceAccount" , saName )
98
+ return nil , fmt . Errorf ( "error checking RBAC rules for serviceAccount %s: %w " , saName , err )
96
99
}
97
100
101
+ var w []error
98
102
for _ , warning := range warnings {
99
- params . Log . V ( 1 ). Info ("RBAC rules are missing" , "warning" , warning , "serviceAccount" , saName )
103
+ w = append ( w , fmt . Errorf ("RBAC rules are missing: %s" , warning ) )
100
104
}
101
-
105
+ return nil , errors . Join ( w ... )
102
106
}
103
107
104
108
routes , err := Routes (params )
0 commit comments