package controller

import (
	"github.com/pingcap/tep/pkg/local"
	"github.com/pingcap/tidb-operator/pkg/client/clientset/versioned"
	"k8s.io/client-go/kubernetes"
)

type Controller struct {
	kubeCli    kubernetes.Interface
	clusterCli versioned.Interface
	dcc        *dbConnControl
	Forwarder  *local.PortForwarder
	PDCtl      PDControlInterface
}

func New(kubeCli kubernetes.Interface, clusterCli versioned.Interface) *Controller {
	dcc := newDBConnControl()
	return &Controller{
		kubeCli:    kubeCli,
		clusterCli: clusterCli,
		dcc:        dcc,
		PDCtl:      NewDefaultPDControl(kubeCli),
	}
}
