@@ -17,8 +17,6 @@ limitations under the License.
17
17
package kubernetesfalc
18
18
19
19
import (
20
- "strings"
21
-
22
20
"github.com/falcosecurity/falcoctl/pkg/kubernetes/factory"
23
21
"github.com/kris-nova/logger"
24
22
appsv1 "k8s.io/api/apps/v1"
@@ -30,6 +28,7 @@ import (
30
28
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
31
29
rbacv1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1"
32
30
"k8s.io/utils/pointer"
31
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
33
32
)
34
33
35
34
// falcoInstaller is a data structure used to install Falco in Kubernetes
@@ -119,7 +118,7 @@ func (i *falcoInstaller) Install() error {
119
118
// Namespace
120
119
err := createNamespace (i .coreClient .Namespaces (), i .namespace )
121
120
if err != nil {
122
- if ! strings . Contains (err . Error (), "already exists" ) {
121
+ if ! apierrors . IsAlreadyExists (err ) {
123
122
logger .Critical ("Error creating namespace: %v" , err )
124
123
} else {
125
124
logger .Info ("Namespace already exists: %v" , i .namespace )
@@ -132,7 +131,7 @@ func (i *falcoInstaller) Install() error {
132
131
serviceAccountName := "falco-sa" // todo > inject
133
132
err = createRBAC (i .coreClient .ServiceAccounts (i .namespace ), i .rbacClient .ClusterRoles (), i .rbacClient .ClusterRoleBindings (), serviceAccountName , i .namespace )
134
133
if err != nil {
135
- if ! strings . Contains (err . Error (), "already exists" ) {
134
+ if ! apierrors . IsAlreadyExists (err ) {
136
135
logger .Critical ("Error creating RBAC: %v" , err )
137
136
} else {
138
137
logger .Info ("RBAC already exists: %v" , i .namespace )
@@ -145,7 +144,7 @@ func (i *falcoInstaller) Install() error {
145
144
configMapName := "falco-cm" // todo > inject
146
145
err = createConfigMap (i .coreClient .ConfigMaps (i .namespace ), configMapName , i .namespace )
147
146
if err != nil {
148
- if ! strings . Contains (err . Error (), "already exists" ) {
147
+ if ! apierrors . IsAlreadyExists (err ) {
149
148
logger .Critical ("Error creating ConfigMap: %v" , err )
150
149
} else {
151
150
logger .Info ("ConfigMap already exists: %v" , i .namespace )
@@ -157,7 +156,7 @@ func (i *falcoInstaller) Install() error {
157
156
daemonSetName := "falco-ds" // todo > inject
158
157
err = createDaemonSet (i .appsv1Client .DaemonSets (i .namespace ), serviceAccountName , configMapName , daemonSetName , false )
159
158
if err != nil {
160
- if ! strings . Contains (err . Error (), "already exists" ) {
159
+ if ! apierrors . IsAlreadyExists (err ) {
161
160
logger .Critical ("Error creating DaemonSet: %v" , err )
162
161
} else {
163
162
logger .Info ("DaemonSet already exists: %v" , i .namespace )
@@ -169,7 +168,7 @@ func (i *falcoInstaller) Install() error {
169
168
serviceName := "falco-svc" // todo > inject
170
169
err = createService (i .coreClient .Services (i .namespace ), serviceName , i .namespace )
171
170
if err != nil {
172
- if ! strings . Contains (err . Error (), "already exists" ) {
171
+ if ! apierrors . IsAlreadyExists (err ) {
173
172
logger .Critical ("Error creating Service: %v" , err )
174
173
} else {
175
174
logger .Info ("Service already exists: %v" , i .namespace )
0 commit comments