Skip to content
This repository was archived by the owner on Oct 28, 2024. It is now read-only.

Commit 4826e22

Browse files
authored
Merge pull request #84 from christopherhein/vc-tests
🌱 Adding new/updated ClusterVersion and VirtualCluster test suites
2 parents 5985978 + 53bfe5b commit 4826e22

18 files changed

+1067
-10274
lines changed

virtualcluster/cmd/manager/main.go

+25-21
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,20 @@ package main
1919
import (
2020
"flag"
2121
"fmt"
22-
"net/http"
2322
"os"
2423

25-
"k8s.io/apiserver/pkg/server/healthz"
2624
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
2725
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/apis"
2826
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/controller"
2927
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/webhook"
3028
ctrl "sigs.k8s.io/controller-runtime"
3129
"sigs.k8s.io/controller-runtime/pkg/client/config"
30+
"sigs.k8s.io/controller-runtime/pkg/healthz"
3231
logf "sigs.k8s.io/controller-runtime/pkg/log"
3332
"sigs.k8s.io/controller-runtime/pkg/manager"
3433

3534
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/controller/constants"
3635
logrutil "sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/controller/util/logr"
37-
vcmanager "sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/controller/vcmanager"
3836
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/version"
3937
"sigs.k8s.io/cluster-api-provider-nested/virtualcluster/pkg/version/verflag"
4038
)
@@ -43,6 +41,7 @@ func main() {
4341
var (
4442
logFile string
4543
metricsAddr string
44+
healthAddr string
4645
masterProvisioner string
4746
leaderElection bool
4847
leaderElectionCmName string
@@ -52,6 +51,7 @@ func main() {
5251
enableWebhook bool
5352
)
5453
flag.StringVar(&metricsAddr, "metrics-addr", ":0", "The address the metric endpoint binds to.")
54+
flag.StringVar(&healthAddr, "health-addr", ":8080", "The address of the healthz/readyz endpoint binds to.")
5555
flag.StringVar(&masterProvisioner, "master-prov", "native",
5656
"The underlying platform that will provision master for virtualcluster.")
5757
flag.BoolVar(&leaderElection, "leader-election", true, "If enable leaderelection for vc-manager")
@@ -90,18 +90,28 @@ func main() {
9090
// Create a new Cmd to provide shared dependencies and start components
9191
log.Info("setting up manager")
9292
mgrOpt := manager.Options{
93-
MetricsBindAddress: metricsAddr,
94-
LeaderElection: leaderElection,
95-
LeaderElectionID: leaderElectionCmName,
96-
CertDir: constants.VirtualClusterWebhookCertDir,
97-
Port: constants.VirtualClusterWebhookPort,
93+
MetricsBindAddress: metricsAddr,
94+
LeaderElection: leaderElection,
95+
LeaderElectionID: leaderElectionCmName,
96+
CertDir: constants.VirtualClusterWebhookCertDir,
97+
Port: constants.VirtualClusterWebhookPort,
98+
HealthProbeBindAddress: healthAddr,
9899
}
99-
mgr, err := vcmanager.NewVirtualClusterManager(cfg, mgrOpt, maxConcurrentReconciles)
100+
mgr, err := ctrl.NewManager(cfg, mgrOpt)
100101
if err != nil {
101102
log.Error(err, "unable to set up overall controller manager")
102103
os.Exit(1)
103104
}
104105

106+
if err := mgr.AddReadyzCheck("ping", healthz.Ping); err != nil {
107+
log.Error(err, "unable to create ready check")
108+
os.Exit(1)
109+
}
110+
if err := mgr.AddHealthzCheck("ping", healthz.Ping); err != nil {
111+
log.Error(err, "unable to create health check")
112+
os.Exit(1)
113+
}
114+
105115
log.Info("Registering Components.")
106116

107117
// Setup Scheme for all resources
@@ -113,7 +123,12 @@ func main() {
113123

114124
// Setup all Controllers
115125
log.Info("Setting up controller")
116-
if err := controller.AddToManager(mgr, masterProvisioner); err != nil {
126+
if err := (&controller.Controllers{
127+
Log: log.WithName("Controllers"),
128+
Client: mgr.GetClient(),
129+
ProvisionerName: masterProvisioner,
130+
MaxConcurrentReconciles: maxConcurrentReconciles,
131+
}).SetupWithManager(mgr); err != nil {
117132
log.Error(err, "unable to register controllers to the manager")
118133
os.Exit(1)
119134
}
@@ -126,17 +141,6 @@ func main() {
126141
}
127142
}
128143

129-
go func() {
130-
// start a health http server.
131-
log.Info("Starting a health http server")
132-
mux := http.NewServeMux()
133-
healthz.InstallHandler(mux)
134-
if err := http.ListenAndServe(":8080", mux); err != nil {
135-
log.Error(err, "unable to start health http server")
136-
os.Exit(1)
137-
}
138-
}()
139-
140144
// Start the Cmd
141145
log.Info("Starting the Cmd.")
142146
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {

0 commit comments

Comments
 (0)