Skip to content

Commit b0d030c

Browse files
ndhanushkodikrisnova
authored andcommitted
refactor: Use apierrors package
This can match errors even if the error message changes. Signed-off-by: Nitya Dhanushkodi <[email protected]>
1 parent 3a3f5be commit b0d030c

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

pkg/kubernetes/falco.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ limitations under the License.
1717
package kubernetesfalc
1818

1919
import (
20-
"strings"
21-
2220
"github.com/falcosecurity/falcoctl/pkg/kubernetes/factory"
2321
"github.com/kris-nova/logger"
2422
appsv1 "k8s.io/api/apps/v1"
@@ -30,6 +28,7 @@ import (
3028
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
3129
rbacv1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1"
3230
"k8s.io/utils/pointer"
31+
apierrors "k8s.io/apimachinery/pkg/api/errors"
3332
)
3433

3534
// falcoInstaller is a data structure used to install Falco in Kubernetes
@@ -119,7 +118,7 @@ func (i *falcoInstaller) Install() error {
119118
// Namespace
120119
err := createNamespace(i.coreClient.Namespaces(), i.namespace)
121120
if err != nil {
122-
if !strings.Contains(err.Error(), "already exists") {
121+
if !apierrors.IsAlreadyExists(err) {
123122
logger.Critical("Error creating namespace: %v", err)
124123
} else {
125124
logger.Info("Namespace already exists: %v", i.namespace)
@@ -132,7 +131,7 @@ func (i *falcoInstaller) Install() error {
132131
serviceAccountName := "falco-sa" // todo > inject
133132
err = createRBAC(i.coreClient.ServiceAccounts(i.namespace), i.rbacClient.ClusterRoles(), i.rbacClient.ClusterRoleBindings(), serviceAccountName, i.namespace)
134133
if err != nil {
135-
if !strings.Contains(err.Error(), "already exists") {
134+
if !apierrors.IsAlreadyExists(err) {
136135
logger.Critical("Error creating RBAC: %v", err)
137136
} else {
138137
logger.Info("RBAC already exists: %v", i.namespace)
@@ -145,7 +144,7 @@ func (i *falcoInstaller) Install() error {
145144
configMapName := "falco-cm" // todo > inject
146145
err = createConfigMap(i.coreClient.ConfigMaps(i.namespace), configMapName, i.namespace)
147146
if err != nil {
148-
if !strings.Contains(err.Error(), "already exists") {
147+
if !apierrors.IsAlreadyExists(err) {
149148
logger.Critical("Error creating ConfigMap: %v", err)
150149
} else {
151150
logger.Info("ConfigMap already exists: %v", i.namespace)
@@ -157,7 +156,7 @@ func (i *falcoInstaller) Install() error {
157156
daemonSetName := "falco-ds" // todo > inject
158157
err = createDaemonSet(i.appsv1Client.DaemonSets(i.namespace), serviceAccountName, configMapName, daemonSetName, false)
159158
if err != nil {
160-
if !strings.Contains(err.Error(), "already exists") {
159+
if !apierrors.IsAlreadyExists(err) {
161160
logger.Critical("Error creating DaemonSet: %v", err)
162161
} else {
163162
logger.Info("DaemonSet already exists: %v", i.namespace)
@@ -169,7 +168,7 @@ func (i *falcoInstaller) Install() error {
169168
serviceName := "falco-svc" // todo > inject
170169
err = createService(i.coreClient.Services(i.namespace), serviceName, i.namespace)
171170
if err != nil {
172-
if !strings.Contains(err.Error(), "already exists") {
171+
if !apierrors.IsAlreadyExists(err) {
173172
logger.Critical("Error creating Service: %v", err)
174173
} else {
175174
logger.Info("Service already exists: %v", i.namespace)

0 commit comments

Comments
 (0)