Skip to content

Commit 6180937

Browse files
committed
lint
Signed-off-by: Jeremy Drouillard <jeremy@stacklok.com>
1 parent e70d00e commit 6180937

5 files changed

Lines changed: 20 additions & 20 deletions

File tree

cmd/thv-operator/controllers/mcpserver_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"k8s.io/apimachinery/pkg/runtime"
2424
"k8s.io/apimachinery/pkg/types"
2525
"k8s.io/apimachinery/pkg/util/intstr"
26-
"k8s.io/client-go/tools/record"
26+
"k8s.io/client-go/tools/events"
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
"sigs.k8s.io/controller-runtime/pkg/client"
2929
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -43,7 +43,7 @@ import (
4343
type MCPServerReconciler struct {
4444
client.Client
4545
Scheme *runtime.Scheme
46-
Recorder record.EventRecorder
46+
Recorder events.EventRecorder
4747
PlatformDetector *ctrlutil.SharedPlatformDetector
4848
ImageValidation validation.ImageValidation
4949
}
@@ -509,7 +509,7 @@ func (r *MCPServerReconciler) validateAndUpdatePodTemplateStatus(ctx context.Con
509509
if err != nil {
510510
// Record event for invalid PodTemplateSpec
511511
if r.Recorder != nil {
512-
r.Recorder.Eventf(mcpServer, corev1.EventTypeWarning, "InvalidPodTemplateSpec",
512+
r.Recorder.Eventf(mcpServer, nil, corev1.EventTypeWarning, "InvalidPodTemplateSpec", "Validate",
513513
"Failed to parse PodTemplateSpec: %v. Deployment blocked until PodTemplateSpec is fixed.", err)
514514
}
515515

cmd/thv-operator/controllers/mcpserver_invalid_podtemplate_reconcile_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"k8s.io/apimachinery/pkg/runtime"
1212
"k8s.io/apimachinery/pkg/types"
1313
"k8s.io/client-go/kubernetes/scheme"
14-
"k8s.io/client-go/tools/record"
14+
"k8s.io/client-go/tools/events"
1515
ctrl "sigs.k8s.io/controller-runtime"
1616
"sigs.k8s.io/controller-runtime/pkg/client"
1717
"sigs.k8s.io/controller-runtime/pkg/client/fake"
@@ -103,8 +103,8 @@ func TestMCPServerReconciler_InvalidPodTemplateSpec(t *testing.T) {
103103
require.NoError(t, scheme.AddToScheme(s))
104104
require.NoError(t, mcpv1alpha1.AddToScheme(s))
105105

106-
// Create a fake event recorder for each test
107-
eventRecorder := record.NewFakeRecorder(10)
106+
// Create a fake event recorder
107+
eventRecorder := events.NewFakeRecorder(10)
108108

109109
// Create a fake client with the MCPServer
110110
fakeClient := fake.NewClientBuilder().
@@ -208,7 +208,7 @@ func TestDeploymentArgsWithInvalidPodTemplateSpec(t *testing.T) {
208208
r := &MCPServerReconciler{
209209
Client: fakeClient,
210210
Scheme: s,
211-
Recorder: record.NewFakeRecorder(10),
211+
Recorder: events.NewFakeRecorder(10),
212212
PlatformDetector: ctrlutil.NewSharedPlatformDetector(),
213213
}
214214

cmd/thv-operator/controllers/virtualmcpserver_controller.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1919
"k8s.io/apimachinery/pkg/runtime"
2020
"k8s.io/apimachinery/pkg/types"
21-
"k8s.io/client-go/tools/record"
21+
"k8s.io/client-go/tools/events"
2222
ctrl "sigs.k8s.io/controller-runtime"
2323
"sigs.k8s.io/controller-runtime/pkg/client"
2424
"sigs.k8s.io/controller-runtime/pkg/handler"
@@ -61,7 +61,7 @@ const (
6161
type VirtualMCPServerReconciler struct {
6262
client.Client
6363
Scheme *runtime.Scheme
64-
Recorder record.EventRecorder
64+
Recorder events.EventRecorder
6565
PlatformDetector *ctrlutil.SharedPlatformDetector
6666
}
6767

@@ -389,7 +389,7 @@ func (r *VirtualMCPServerReconciler) validateAndUpdatePodTemplateStatus(
389389
if err != nil {
390390
// Record event for invalid PodTemplateSpec
391391
if r.Recorder != nil {
392-
r.Recorder.Eventf(vmcp, corev1.EventTypeWarning, "InvalidPodTemplateSpec",
392+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeWarning, "InvalidPodTemplateSpec", "Validate",
393393
"Failed to parse PodTemplateSpec: %v. Deployment blocked until PodTemplateSpec is fixed.", err)
394394
}
395395

@@ -441,7 +441,7 @@ func (r *VirtualMCPServerReconciler) ensureAllResources(
441441
statusManager.SetObservedGeneration(vmcp.Generation)
442442
// Record event for secret validation failure
443443
if r.Recorder != nil {
444-
r.Recorder.Eventf(vmcp, corev1.EventTypeWarning, "SecretValidationFailed",
444+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeWarning, "SecretValidationFailed", "Validate",
445445
"Secret validation failed: %v", err)
446446
}
447447
return err
@@ -646,14 +646,14 @@ func (r *VirtualMCPServerReconciler) ensureDeployment(
646646
ctxLogger.Error(err, "Failed to create new Deployment")
647647
// Record event for deployment creation failure
648648
if r.Recorder != nil {
649-
r.Recorder.Eventf(vmcp, corev1.EventTypeWarning, "DeploymentCreationFailed",
649+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeWarning, "DeploymentCreationFailed", "Create",
650650
"Failed to create Deployment: %v", err)
651651
}
652652
return ctrl.Result{}, err
653653
}
654654
// Record event for successful deployment creation
655655
if r.Recorder != nil {
656-
r.Recorder.Event(vmcp, corev1.EventTypeNormal, "DeploymentCreated",
656+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeNormal, "DeploymentCreated", "Create",
657657
"Deployment created successfully")
658658
}
659659
// Return empty result to continue with rest of reconciliation (Service, status update, etc.)
@@ -690,15 +690,15 @@ func (r *VirtualMCPServerReconciler) ensureDeployment(
690690
ctxLogger.Error(err, "Failed to update Deployment")
691691
// Record event for deployment update failure
692692
if r.Recorder != nil {
693-
r.Recorder.Eventf(vmcp, corev1.EventTypeWarning, "DeploymentUpdateFailed",
693+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeWarning, "DeploymentUpdateFailed", "Update",
694694
"Failed to update Deployment: %v", err)
695695
}
696696
// Return error to trigger reconcile retry (handles transient failures and conflicts)
697697
return ctrl.Result{}, err
698698
}
699699
// Record event for successful deployment update (config change triggers rollout)
700700
if r.Recorder != nil {
701-
r.Recorder.Event(vmcp, corev1.EventTypeNormal, "DeploymentUpdated",
701+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeNormal, "DeploymentUpdated", "Update",
702702
"Deployment updated, rolling out new configuration")
703703
}
704704
// Return empty result to continue with rest of reconciliation
@@ -732,14 +732,14 @@ func (r *VirtualMCPServerReconciler) ensureService(
732732
ctxLogger.Error(err, "Failed to create new Service")
733733
// Record event for service creation failure
734734
if r.Recorder != nil {
735-
r.Recorder.Eventf(vmcp, corev1.EventTypeWarning, "ServiceCreationFailed",
735+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeWarning, "ServiceCreationFailed", "Create",
736736
"Failed to create Service: %v", err)
737737
}
738738
return ctrl.Result{}, err
739739
}
740740
// Record event for successful service creation
741741
if r.Recorder != nil {
742-
r.Recorder.Eventf(vmcp, corev1.EventTypeNormal, "ServiceCreated",
742+
r.Recorder.Eventf(vmcp, nil, corev1.EventTypeNormal, "ServiceCreated", "Create",
743743
"Service %s created successfully", serviceName)
744744
}
745745
// Return empty result to continue with rest of reconciliation

cmd/thv-operator/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ func setupServerControllers(mgr ctrl.Manager, enableRegistry bool) error {
249249
rec := &controllers.MCPServerReconciler{
250250
Client: mgr.GetClient(),
251251
Scheme: mgr.GetScheme(),
252-
Recorder: mgr.GetEventRecorderFor("mcpserver-controller"),
252+
Recorder: mgr.GetEventRecorder("mcpserver-controller"),
253253
PlatformDetector: ctrlutil.NewSharedPlatformDetector(),
254254
ImageValidation: imageValidation,
255255
}
@@ -309,7 +309,7 @@ func setupAggregationControllers(mgr ctrl.Manager, enableWebhooks bool) error {
309309
if err := (&controllers.VirtualMCPServerReconciler{
310310
Client: mgr.GetClient(),
311311
Scheme: mgr.GetScheme(),
312-
Recorder: mgr.GetEventRecorderFor("virtualmcpserver-controller"),
312+
Recorder: mgr.GetEventRecorder("virtualmcpserver-controller"),
313313
PlatformDetector: ctrlutil.NewSharedPlatformDetector(),
314314
}).SetupWithManager(mgr); err != nil {
315315
return fmt.Errorf("unable to create controller VirtualMCPServer: %w", err)

deploy/charts/operator/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The command removes all the Kubernetes components associated with the chart and
4949
## Values
5050

5151
| Key | Type | Default | Description |
52-
|-----|------|---------|-------------|
52+
|-----|-------------|------|---------|
5353
| fullnameOverride | string | `"toolhive-operator"` | Provide a fully-qualified name override for resources |
5454
| nameOverride | string | `""` | Override the name of the chart |
5555
| operator | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":100,"minReplicas":1,"targetCPUUtilizationPercentage":80},"containerSecurityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":1000,"seccompProfile":{"type":"RuntimeDefault"}},"env":{},"features":{"experimental":false,"registry":true,"server":true,"virtualMCP":true,"webhooks":false},"gc":{"gogc":75,"gomeglimit":"150MiB"},"image":"ghcr.io/stacklok/toolhive/operator:v0.7.2","imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"leaderElectionRole":{"binding":{"name":"toolhive-operator-leader-election-rolebinding"},"name":"toolhive-operator-leader-election-role","rules":[{"apiGroups":[""],"resources":["configmaps"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":["coordination.k8s.io"],"resources":["leases"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":[""],"resources":["events"],"verbs":["create","patch"]}]},"livenessProbe":{"httpGet":{"path":"/healthz","port":"health"},"initialDelaySeconds":15,"periodSeconds":20},"nodeSelector":{},"podAnnotations":{},"podLabels":{},"podSecurityContext":{"runAsNonRoot":true},"ports":[{"containerPort":8080,"name":"metrics","protocol":"TCP"},{"containerPort":8081,"name":"health","protocol":"TCP"}],"proxyHost":"0.0.0.0","rbac":{"allowedNamespaces":[],"scope":"cluster"},"readinessProbe":{"httpGet":{"path":"/readyz","port":"health"},"initialDelaySeconds":5,"periodSeconds":10},"replicaCount":1,"resources":{"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"10m","memory":"64Mi"}},"serviceAccount":{"annotations":{},"automountServiceAccountToken":true,"create":true,"labels":{},"name":"toolhive-operator"},"tolerations":[],"toolhiveRunnerImage":"ghcr.io/stacklok/toolhive/proxyrunner:v0.7.2","vmcpImage":"ghcr.io/stacklok/toolhive/vmcp:v0.7.2","volumeMounts":[],"volumes":[]}` | All values for the operator deployment and associated resources |

0 commit comments

Comments
 (0)