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

kubevirt / hyperconverged-cluster-operator / 21564672847

01 Feb 2026 02:37PM UTC coverage: 76.315% (+0.3%) from 76.038%
21564672847

Pull #3996

github

web-flow
Merge ed5c6fe5b into 5ac78d77c
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.

8606 of 11277 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
// ReconcileAPIServer reconciles APIServer to consume uptodate TLSSecurityProfile
22
type ReconcileAPIServer struct {
23
        client client.Client
24
}
25

26
var (
27
        logger = logf.Log.WithName("apiServer-controller")
28
)
29

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

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

1✔
37
        _, err := tlssecprofile.Refresh(ctx, r.client)
1✔
38

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

45
        return reconcile.Result{}, nil
1✔
46
}
47

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

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

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

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

73
        // Watch APIServer and enqueue APIServer object key
74
        return c.Watch(source.Kind(mgr.GetCache(), client.Object(&openshiftconfigv1.APIServer{}), &handler.EnqueueRequestForObject{}))
1✔
75
}
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