Skip to content

Commit

Permalink
chore: fix all linting issues
Browse files Browse the repository at this point in the history
  • Loading branch information
basti1302 committed May 15, 2024
1 parent 4784037 commit 41aa8ad
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 18 deletions.
11 changes: 9 additions & 2 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,14 @@ func main() {
TLSOpts: tlsOpts,
})

if err := startOperatorManager(metricsAddr, secureMetrics, tlsOpts, webhookServer, probeAddr, enableLeaderElection); err != nil {
if err := startOperatorManager(
metricsAddr,
secureMetrics,
tlsOpts,
webhookServer,
probeAddr,
enableLeaderElection,
); err != nil {
setupLog.Error(err, "The Dash0 operator manager process failed to start.")
os.Exit(1)
}
Expand Down Expand Up @@ -135,7 +142,7 @@ func startOperatorManager(

if os.Getenv("ENABLE_WEBHOOKS") != "false" {
if err = (&dash0webhook.WebhookHandler{
EventRecorder: mgr.GetEventRecorderFor(fmt.Sprintf("dash0-webhook")),
EventRecorder: mgr.GetEventRecorderFor("dash0-webhook"),
}).SetupWebhookWithManager(mgr); err != nil {
return fmt.Errorf("unable to create the Dash0 webhook: %w", err)
}
Expand Down
3 changes: 2 additions & 1 deletion internal/controller/dash0_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package controller

import (
"context"

appsv1 "k8s.io/api/apps/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
Expand Down Expand Up @@ -60,7 +61,7 @@ func (r *Dash0Reconciler) SetupWithManager(mgr ctrl.Manager) error {
func (r *Dash0Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
log := log.FromContext(ctx).WithValues("namespace", req.NamespacedName.Namespace, "name", req.NamespacedName.Name)

// Check wheter the Dash0 custom resource exists.
// Check whether the Dash0 custom resource exists.
dash0CustomResource := &operatorv1alpha1.Dash0{}
err := r.Get(ctx, req.NamespacedName, dash0CustomResource)
if err != nil {
Expand Down
9 changes: 3 additions & 6 deletions internal/webhook/dash0_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,7 @@ func (wh *WebhookHandler) Handle(ctx context.Context, request admission.Request)

deploymentSpecTemplate := &deployment.Spec.Template
originalSpec := deploymentSpecTemplate.Spec.DeepCopy()
if err := wh.modifyPodSpec(&deploymentSpecTemplate.Spec); err != nil {
return admission.Errored(http.StatusInternalServerError, fmt.Errorf("injecting into pod spec failed: %w", err))
}
wh.modifyPodSpec(&deploymentSpecTemplate.Spec)
if reflect.DeepEqual(originalSpec, &deploymentSpecTemplate.Spec) {
return admission.Allowed("no changes")
}
Expand All @@ -103,14 +101,13 @@ func (wh *WebhookHandler) Handle(ctx context.Context, request admission.Request)
}
}

func (wh *WebhookHandler) modifyPodSpec(podSpec *corev1.PodSpec) error {
func (wh *WebhookHandler) modifyPodSpec(podSpec *corev1.PodSpec) {
wh.addInstrumentationVolume(podSpec)
wh.addInitContainer(podSpec)
for idx, _ := range podSpec.Containers {
for idx := range podSpec.Containers {
container := &podSpec.Containers[idx]
wh.instrumentContainer(container)
}
return nil
}

func (wh *WebhookHandler) addInstrumentationVolume(podSpec *corev1.PodSpec) {
Expand Down
3 changes: 2 additions & 1 deletion internal/webhook/webhook_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"context"
"crypto/tls"
"fmt"
corev1 "k8s.io/api/core/v1"

"net"
"path/filepath"
"runtime"
Expand All @@ -20,6 +20,7 @@ import (

operatorv1alpha1 "github.com/dash0hq/dash0-operator/api/v1alpha1"
admissionv1 "k8s.io/api/admission/v1"
corev1 "k8s.io/api/core/v1"
apimachineryruntime "k8s.io/apimachinery/pkg/runtime"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"
Expand Down
27 changes: 22 additions & 5 deletions test/e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
package e2e

import (
"errors"
"fmt"
"io"
"os"
Expand Down Expand Up @@ -37,7 +38,11 @@ var _ = Describe("controller", Ordered, func() {
fmt.Fprintf(GinkgoWriter, "workingDir: %s\n", workingDir)

By("Reading current imagePullPolicy")
yqOutput, err := utils.Run(exec.Command("yq", "e", "select(documentIndex == 1) | .spec.template.spec.containers[] | select(.name == \"manager\") | .imagePullPolicy", managerYaml))
yqOutput, err := utils.Run(exec.Command(
"yq",
"e",
"select(documentIndex == 1) | .spec.template.spec.containers[] | select(.name == \"manager\") | .imagePullPolicy",
managerYaml))
ExpectWithOffset(1, err).NotTo(HaveOccurred())
originalImagePullPolicy := strings.TrimSpace(string(yqOutput))
fmt.Fprintf(GinkgoWriter, "original imagePullPolicy: %s\n", originalImagePullPolicy)
Expand All @@ -47,7 +52,14 @@ var _ = Describe("controller", Ordered, func() {
ExpectWithOffset(1, err).NotTo(HaveOccurred())
managerYamlNeedsRevert = true
By("temporarily changing imagePullPolicy to \"Never\"")
_, err = utils.Run(exec.Command("yq", "-i", "with(select(documentIndex == 1) | .spec.template.spec.containers[] | select(.name == \"manager\"); .imagePullPolicy |= \"Never\")", managerYaml))
_, err = utils.Run(exec.Command(
"yq",
"-i",
"with(select(documentIndex == 1) | "+
".spec.template.spec.containers[] | "+
"select(.name == \"manager\"); "+
".imagePullPolicy |= \"Never\")",
managerYaml))
ExpectWithOffset(1, err).NotTo(HaveOccurred())
}

Expand Down Expand Up @@ -95,7 +107,7 @@ var _ = Describe("controller", Ordered, func() {
if err != nil {
fmt.Fprint(GinkgoWriter, err.Error())
}
fmt.Fprintf(GinkgoWriter, string(output))
fmt.Fprint(GinkgoWriter, string(output))
})

Context("Operator", func() {
Expand All @@ -117,6 +129,7 @@ var _ = Describe("controller", Ordered, func() {
By("installing CRDs")
cmd = exec.Command("make", "install")
_, err = utils.Run(cmd)
ExpectWithOffset(1, err).NotTo(HaveOccurred())

fmt.Fprintf(GinkgoWriter, "time.Sleep(30 * time.Second)\n")
time.Sleep(30 * time.Second)
Expand Down Expand Up @@ -171,13 +184,17 @@ func copyFile(source string, destination string) error {
if err != nil {
return err
}
defer src.Close()
defer func() {
err = errors.Join(err, src.Close())
}()

dst, err := os.Create(destination)
if err != nil {
return err
}
defer dst.Close()
defer func() {
err = errors.Join(err, dst.Close())
}()
_, err = io.Copy(dst, src)
return err
}
6 changes: 4 additions & 2 deletions test/utils/matchers.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ package utils

import (
"fmt"
"github.com/onsi/gomega/format"

"github.com/onsi/gomega"
"github.com/onsi/gomega/format"
corev1 "k8s.io/api/core/v1"
)

Expand Down Expand Up @@ -62,7 +62,9 @@ type MatchVolumeMountMatcher struct {
func (matcher *MatchVolumeMountMatcher) Match(actual interface{}) (success bool, err error) {
volumeMount, ok := actual.(corev1.VolumeMount)
if !ok {
return false, fmt.Errorf("ContainsVolumeMount matcher requires a corev1.VolumeMount. Got:\n%s", format.Object(actual, 1))
return false, fmt.Errorf(
"ContainsVolumeMount matcher requires a corev1.VolumeMount. Got:\n%s",
format.Object(actual, 1))
}
return matcher.Name == volumeMount.Name && matcher.MountPath == volumeMount.MountPath, nil
}
Expand Down
8 changes: 7 additions & 1 deletion test/utils/webhook_test_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package utils

import (
"context"

. "github.com/onsi/gomega"

appsv1 "k8s.io/api/apps/v1"
Expand Down Expand Up @@ -36,7 +37,12 @@ func CreateDeployment(namespace string, name string) *appsv1.Deployment {
return deployment
}

func GetDeployment(ctx context.Context, k8sClient client.Client, namespace string, deploymentName string) *appsv1.Deployment {
func GetDeployment(
ctx context.Context,
k8sClient client.Client,
namespace string,
deploymentName string,
) *appsv1.Deployment {
deployment := &appsv1.Deployment{}
namespacedName := types.NamespacedName{
Namespace: namespace,
Expand Down

0 comments on commit 41aa8ad

Please sign in to comment.