@@ -31,13 +31,16 @@ import (
3131 "github.com/prometheus/client_golang/prometheus"
3232 "github.com/prometheus/client_golang/prometheus/promhttp"
3333 corev1 "k8s.io/api/core/v1"
34+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3435 "k8s.io/apimachinery/pkg/labels"
3536 // Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
3637 // to ensure that exec-entrypoint and run can make use of them.
3738 _ "k8s.io/client-go/plugin/pkg/client/auth"
3839
3940 "k8s.io/apimachinery/pkg/runtime"
4041 utilruntime "k8s.io/apimachinery/pkg/util/runtime"
42+ "k8s.io/client-go/discovery"
43+ "k8s.io/client-go/kubernetes"
4144 clientgoscheme "k8s.io/client-go/kubernetes/scheme"
4245 ctrl "sigs.k8s.io/controller-runtime"
4346 "sigs.k8s.io/controller-runtime/pkg/cache"
@@ -52,6 +55,7 @@ import (
5255 agenticv1alpha1 "github.com/Clawdlinux/agentic-operator-core/api/v1alpha1"
5356 runtimeadmission "github.com/Clawdlinux/agentic-operator-core/internal/admission"
5457 "github.com/Clawdlinux/agentic-operator-core/internal/controller"
58+ "github.com/Clawdlinux/agentic-operator-core/internal/netpolicy"
5559 "github.com/Clawdlinux/agentic-operator-core/pkg/evaluation"
5660 "github.com/Clawdlinux/agentic-operator-core/pkg/finops"
5761 "github.com/Clawdlinux/agentic-operator-core/pkg/governance"
@@ -289,6 +293,26 @@ func main() {
289293 os .Exit (1 )
290294 }
291295
296+ discoveryClient , err := discovery .NewDiscoveryClientForConfig (ctrl .GetConfigOrDie ())
297+ if err != nil {
298+ setupLog .Error (err , "Failed to create discovery client" )
299+ os .Exit (1 )
300+ }
301+ kubeClient , err := kubernetes .NewForConfig (ctrl .GetConfigOrDie ())
302+ if err != nil {
303+ setupLog .Error (err , "Failed to create Kubernetes client" )
304+ os .Exit (1 )
305+ }
306+ if err := (& controller.TenantReconciler {
307+ Client : mgr .GetClient (),
308+ Scheme : mgr .GetScheme (),
309+ DiscoveryClient : netpolicy .DiscoveryClient (discoveryClient ),
310+ DaemonSets : kubeClient .AppsV1 ().DaemonSets (metav1 .NamespaceSystem ),
311+ }).SetupWithManager (mgr ); err != nil {
312+ setupLog .Error (err , "Failed to create controller" , "controller" , "Tenant" )
313+ os .Exit (1 )
314+ }
315+
292316 if os .Getenv ("ENABLE_WEBHOOKS" ) != "false" {
293317 if err := (& agenticv1alpha1.AgentWorkload {}).SetupWebhookWithManager (mgr ); err != nil {
294318 setupLog .Error (err , "Failed to setup webhook" , "webhook" , "AgentWorkload" )
0 commit comments