...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package statuscheck
17
18 import (
19 "github.com/go-logr/logr"
20 ctrl "sigs.k8s.io/controller-runtime"
21 "sigs.k8s.io/controller-runtime/pkg/client"
22
23 "github.com/chaos-mesh/chaos-mesh/api/v1alpha1"
24 "github.com/chaos-mesh/chaos-mesh/controllers/config"
25 "github.com/chaos-mesh/chaos-mesh/controllers/utils/builder"
26 "github.com/chaos-mesh/chaos-mesh/controllers/utils/recorder"
27 )
28
29 func Bootstrap(mgr ctrl.Manager, client client.Client, logger logr.Logger, recorderBuilder *recorder.RecorderBuilder) error {
30 if !config.ShouldSpawnController("statuscheck") {
31 return nil
32 }
33 eventRecorder := recorderBuilder.Build("statuscheck")
34 manager := NewManager(logger.WithName("statuscheck-manager"), eventRecorder, newExecutor)
35
36 return builder.Default(mgr).
37 For(&v1alpha1.StatusCheck{}).
38 Named("statuscheck").
39 Complete(NewReconciler(logger.WithName("statuscheck-reconciler"), client, eventRecorder, manager))
40 }
41