treewide: replace error comparisons and assertions with errors.Is

Change-Id: Id2424eb155f2c6842c72c5fafd124d428ef901f2
Reviewed-on: https://review.monogon.dev/c/monogon/+/2994
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/cloud/apigw/server/server.go b/cloud/apigw/server/server.go
index 98f3b92..902b4e0 100644
--- a/cloud/apigw/server/server.go
+++ b/cloud/apigw/server/server.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"errors"
 	"flag"
 	"net"
 	"net/http"
@@ -37,9 +38,9 @@
 }
 
 // Server runs the apigw server. It listens on two interfaces:
-//  - Internal gRPC, which is authenticated using TLS and authorized by CA. This
-//    is to be used for internal RPCs, eg. management/debug.
-//  - Public gRPC-Web, which is currently unauthenticated.
+//   - Internal gRPC, which is authenticated using TLS and authorized by CA. This
+//     is to be used for internal RPCs, eg. management/debug.
+//   - Public gRPC-Web, which is currently unauthenticated.
 type Server struct {
 	Config Config
 
@@ -66,7 +67,7 @@
 	klog.Infof("Internal gRPC listening on %s", s.ListenGRPC)
 	go func() {
 		err := g.Serve(lis)
-		if err != ctx.Err() {
+		if !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Internal gRPC serve failed: %v", err)
 		}
 	}()
@@ -91,7 +92,7 @@
 	klog.Infof("Public API listening on %s", s.ListenPublic)
 	go func() {
 		err := server.Serve(lis)
-		if err != ctx.Err() {
+		if !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Public API serve failed: %v", err)
 		}
 	}()
diff --git a/cloud/bmaas/scruffy/server.go b/cloud/bmaas/scruffy/server.go
index 58e0f51..01d22bf 100644
--- a/cloud/bmaas/scruffy/server.go
+++ b/cloud/bmaas/scruffy/server.go
@@ -9,6 +9,7 @@
 
 import (
 	"context"
+	"errors"
 	"flag"
 	"fmt"
 	"os"
@@ -77,7 +78,7 @@
 	go hwr.run(ctx)
 
 	go func() {
-		if err := s.Config.Webug.Start(ctx, conn); err != nil && err != ctx.Err() {
+		if err := s.Config.Webug.Start(ctx, conn); err != nil && !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Failed to start webug: %v", err)
 		}
 	}()
diff --git a/cloud/bmaas/server/server.go b/cloud/bmaas/server/server.go
index 00972de..0d188c2 100644
--- a/cloud/bmaas/server/server.go
+++ b/cloud/bmaas/server/server.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"errors"
 	"flag"
 	"fmt"
 	"net"
@@ -119,7 +120,7 @@
 	klog.Infof("Public API listening on %s", s.ListenPublic)
 	go func() {
 		err := g.Serve(lis)
-		if err != ctx.Err() {
+		if !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Public gRPC serve failed: %v", err)
 		}
 	}()
@@ -137,7 +138,7 @@
 	klog.Infof("Internal gRPC listening on %s", s.ListenGRPC)
 	go func() {
 		err := g.Serve(lis)
-		if err != ctx.Err() {
+		if !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Internal gRPC serve failed: %v", err)
 		}
 	}()
@@ -163,7 +164,7 @@
 	s.startInternalGRPC(ctx)
 	s.startPublic(ctx)
 	go func() {
-		if err := s.Config.Webug.Start(ctx, conn); err != nil && err != ctx.Err() {
+		if err := s.Config.Webug.Start(ctx, conn); err != nil && !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Failed to start webug: %v", err)
 		}
 	}()
diff --git a/cloud/shepherd/mini/main.go b/cloud/shepherd/mini/main.go
index 67231c0..b35c09e 100644
--- a/cloud/shepherd/mini/main.go
+++ b/cloud/shepherd/mini/main.go
@@ -3,6 +3,7 @@
 import (
 	"context"
 	"encoding/json"
+	"errors"
 	"flag"
 	"fmt"
 	"io"
@@ -182,7 +183,7 @@
 		}
 	}()
 	go func() {
-		if err := c.WebugConfig.Start(ctx, conn); err != nil && err != ctx.Err() {
+		if err := c.WebugConfig.Start(ctx, conn); err != nil && !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Failed to start webug: %v", err)
 		}
 	}()
diff --git a/cloud/shepherd/provider/equinix/main.go b/cloud/shepherd/provider/equinix/main.go
index 0060502..7faee9d 100644
--- a/cloud/shepherd/provider/equinix/main.go
+++ b/cloud/shepherd/provider/equinix/main.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"errors"
 	"flag"
 	"fmt"
 	"os"
@@ -146,7 +147,7 @@
 		}
 	}()
 	go func() {
-		if err := c.WebugConfig.Start(ctx, conn); err != nil && err != ctx.Err() {
+		if err := c.WebugConfig.Start(ctx, conn); err != nil && !errors.Is(err, ctx.Err()) {
 			klog.Exitf("Failed to start webug: %v", err)
 		}
 	}()
diff --git a/cloud/shepherd/provider/equinix/provider.go b/cloud/shepherd/provider/equinix/provider.go
index 22cf8fa..ebd9699 100644
--- a/cloud/shepherd/provider/equinix/provider.go
+++ b/cloud/shepherd/provider/equinix/provider.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"errors"
 	"fmt"
 	"net/netip"
 	"slices"
@@ -342,13 +343,13 @@
 // generated as needed The key is generated as needed
 func (ep *equinixProvider) SSHEquinixEnsure(ctx context.Context) error {
 	k, err := ep.sshEquinix(ctx)
-	switch err {
-	case NoSuchKey:
+	switch {
+	case errors.Is(err, NoSuchKey):
 		if err := ep.sshEquinixUpload(ctx); err != nil {
 			return fmt.Errorf("while uploading key: %w", err)
 		}
 		return nil
-	case nil:
+	case err == nil:
 		if err := ep.sshEquinixUpdate(ctx, k.ID); err != nil {
 			return fmt.Errorf("while updating key: %w", err)
 		}