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

kubevirt / hyperconverged-cluster-operator / 21356570114

26 Jan 2026 11:48AM UTC coverage: 75.948% (-0.09%) from 76.038%
21356570114

Pull #3977

github

web-flow
Merge 335ae0e82 into 4ce018c73
Pull Request #3977: WIP: POC: add api v1

380 of 558 new or added lines in 8 files covered. (68.1%)

9 existing lines in 1 file now uncovered.

8753 of 11525 relevant lines covered (75.95%)

1.77 hits per line

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

93.33
/pkg/webhooks/setup.go
1
package webhooks
2

3
import (
4
        "os"
5

6
        openshiftconfigv1 "github.com/openshift/api/config/v1"
7
        "sigs.k8s.io/controller-runtime/pkg/webhook/admission"
8

9
        ctrl "sigs.k8s.io/controller-runtime"
10
        logf "sigs.k8s.io/controller-runtime/pkg/log"
11
        "sigs.k8s.io/controller-runtime/pkg/webhook"
12

13
        hcov1beta1 "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1"
14
        hcoutil "github.com/kubevirt/hyperconverged-cluster-operator/pkg/util"
15
        "github.com/kubevirt/hyperconverged-cluster-operator/pkg/webhooks/mutator"
16
        "github.com/kubevirt/hyperconverged-cluster-operator/pkg/webhooks/validator"
17
)
18

19
const (
20
        webHookCertDirEnv = "WEBHOOK_CERT_DIR"
21
)
22

23
var (
24
        logger = logf.Log.WithName("webhook-setup")
25
)
26

27
func SetupWebhookWithManager(mgr ctrl.Manager, isOpenshift bool, hcoTLSSecurityProfile *openshiftconfigv1.TLSSecurityProfile) error {
1✔
28
        operatorNsEnv := hcoutil.GetOperatorNamespaceFromEnv()
1✔
29

1✔
30
        decoder := admission.NewDecoder(mgr.GetScheme())
1✔
31

1✔
32
        whHandler := validator.NewWebhookHandler(logger, mgr.GetClient(), decoder, operatorNsEnv, isOpenshift, hcoTLSSecurityProfile)
1✔
33
        whV1Beta1Handler := validator.NewV1Beta1WebhookHandler(logger, mgr.GetClient(), decoder, operatorNsEnv, isOpenshift, hcoTLSSecurityProfile)
1✔
34
        nsMutator := mutator.NewNsMutator(mgr.GetClient(), decoder, operatorNsEnv)
1✔
35
        hyperConvergedMutator := mutator.NewHyperConvergedMutator(mgr.GetClient(), decoder)
1✔
36
        hyperConvergedV1Beta1Mutator := mutator.NewHyperConvergedV1Beta1Mutator(mgr.GetClient(), decoder)
1✔
37

1✔
38
        // add the conversion webhook
1✔
39
        if err := ctrl.NewWebhookManagedBy(mgr).For(&hcov1beta1.HyperConverged{}).Complete(); err != nil {
1✔
NEW
40
                return err
×
NEW
41
        }
×
42

43
        srv := mgr.GetWebhookServer()
1✔
44

1✔
45
        srv.Register(hcoutil.HCONSWebhookPath, &webhook.Admission{Handler: nsMutator})
1✔
46
        srv.Register(hcoutil.HCOMutatingWebhookPath, &webhook.Admission{Handler: hyperConvergedMutator})
1✔
47
        srv.Register(hcoutil.HCOV1Beta1MutatingWebhookPath, &webhook.Admission{Handler: hyperConvergedV1Beta1Mutator})
1✔
48
        srv.Register(hcoutil.HCOWebhookPath, &webhook.Admission{Handler: whHandler})
1✔
49
        srv.Register(hcoutil.HCOWebhookV1Beta1Path, &webhook.Admission{Handler: whV1Beta1Handler})
1✔
50

1✔
51
        return nil
1✔
52
}
53

54
func GetWebhookCertDir() string {
1✔
55
        webhookCertDir := os.Getenv(webHookCertDirEnv)
1✔
56
        if webhookCertDir != "" {
2✔
57
                return webhookCertDir
1✔
58
        }
1✔
59

60
        return hcoutil.DefaultWebhookCertDir
1✔
61
}
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