• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubevirt / hyperconverged-cluster-operator / 21588828788

02 Feb 2026 11:46AM UTC coverage: 76.313% (+0.3%) from 76.038%
21588828788

Pull #3996

github

web-flow
Merge fb18cc0d0 into d585714f5
Pull Request #3996: CNV-74931: Split TLS Security Profile out of ClusterInfo

208 of 220 new or added lines in 12 files covered. (94.55%)

3 existing lines in 1 file now uncovered.

8605 of 11276 relevant lines covered (76.31%)

1.78 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

87.5
/controllers/webhooks/apiserver-controller/controller.go
1
package apiserver_controller
2

3
import (
4
        "context"
5
        "time"
6

7
        "github.com/go-logr/logr"
8
        logf "sigs.k8s.io/controller-runtime/pkg/log"
9

10
        openshiftconfigv1 "github.com/openshift/api/config/v1"
11
        "sigs.k8s.io/controller-runtime/pkg/client"
12
        "sigs.k8s.io/controller-runtime/pkg/controller"
13
        "sigs.k8s.io/controller-runtime/pkg/handler"
14
        "sigs.k8s.io/controller-runtime/pkg/manager"
15
        "sigs.k8s.io/controller-runtime/pkg/reconcile"
16
        "sigs.k8s.io/controller-runtime/pkg/source"
17

18
        "github.com/kubevirt/hyperconverged-cluster-operator/pkg/tlssecprofile"
19
)
20

21
const controllerName = "webhook-apiServer-controller"
22

23
// ReconcileAPIServer reconciles APIServer to consume uptodate TLSSecurityProfile
24
type ReconcileAPIServer struct {
25
        client client.Client
26
}
27

28
var (
29
        logger = logf.Log.WithName(controllerName)
30
)
31

32
// Implement reconcile.Reconciler so the controller can reconcile objects
33
var _ reconcile.Reconciler = &ReconcileAPIServer{}
34

35
func (r *ReconcileAPIServer) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error) {
1✔
36
        logger := logr.FromContextOrDiscard(ctx).WithName("ReconcileAPIServer").WithValues("Request.Name", req.Name)
1✔
37
        logger.Info("Reconciling APIServer")
1✔
38

1✔
39
        _, err := tlssecprofile.Refresh(ctx, r.client)
1✔
40

1✔
41
        // TODO: once https://github.com/kubernetes-sigs/controller-runtime/issues/2032
1✔
42
        // is properly addressed, avoid polling on the APIServer CR
1✔
43
        if err != nil {
1✔
NEW
44
                return reconcile.Result{RequeueAfter: 5 * time.Second}, err
×
45
        }
×
46

47
        return reconcile.Result{}, nil
1✔
48
}
49

50
// RegisterReconciler creates a new HyperConverged Reconciler and registers it into manager.
51
func RegisterReconciler(mgr manager.Manager) error {
1✔
52
        return add(mgr, newReconciler(mgr))
1✔
53
}
1✔
54

55
// newReconciler returns a new reconcile.Reconciler
56
func newReconciler(mgr manager.Manager) reconcile.Reconciler {
1✔
57
        r := &ReconcileAPIServer{
1✔
58
                client: mgr.GetClient(),
1✔
59
        }
1✔
60
        return r
1✔
61
}
1✔
62

63
// add adds a new Controller to mgr with r as the reconcile.Reconciler
64
func add(mgr manager.Manager, r reconcile.Reconciler) error {
1✔
65

1✔
66
        // Setup a new controller to reconcile APIServer
1✔
67
        logger.Info("Setting up APIServer controller")
1✔
68
        c, err := controller.New(controllerName, mgr, controller.Options{
1✔
69
                Reconciler: r,
1✔
70
        })
1✔
71
        if err != nil {
1✔
72
                return err
×
73
        }
×
74

75
        // Watch APIServer and enqueue APIServer object key
76
        return c.Watch(source.Kind(mgr.GetCache(), client.Object(&openshiftconfigv1.APIServer{}), &handler.EnqueueRequestForObject{}))
1✔
77
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc