Documentation
¶
Index ¶
- func IsPodReady(pod *apiv1.Pod) (bool, error)
- func NewRedisAdmin(pods []*apiv1.Pod, cfg *config.Redis) (redis.AdminInterface, error)
- type Config
- type Controller
- type PodDisruptionBudgetsControl
- func (s *PodDisruptionBudgetsControl) CreateRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
- func (s *PodDisruptionBudgetsControl) DeleteRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) error
- func (s *PodDisruptionBudgetsControl) GetRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
- type PodDisruptionBudgetsControlInterface
- type ServicesControl
- func (s *ServicesControl) CreateRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
- func (s *ServicesControl) DeleteRedisClusterService(redisCluster *rapi.RedisCluster) error
- func (s *ServicesControl) GetRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
- type ServicesControlInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsPodReady ¶
IsPodReady check if pod is in ready condition, return the error message otherwise
func NewRedisAdmin ¶
NewRedisAdmin builds and returns new redis.Admin from the list of pods
Types ¶
type Config ¶
type Config struct {
NbWorker int
// contains filtered or unexported fields
}
Config contains the Controller settings
type Controller ¶
type Controller struct {
RedisClusterSynced cache.InformerSynced
PodSynced cache.InformerSynced
ServiceSynced cache.InformerSynced
PodDiscruptionBudgetSynced cache.InformerSynced
// contains filtered or unexported fields
}
Controller contains all controller fields
func NewController ¶
func NewController(cfg *Config, kubeClient clientset.Interface, redisClient rclient.Interface, kubeInformer kubeinformers.SharedInformerFactory, rInformer rinformers.SharedInformerFactory) *Controller
NewController builds and return new controller instance
func (*Controller) Run ¶
func (c *Controller) Run(stop <-chan struct{}) error
Run executes the Controller
type PodDisruptionBudgetsControl ¶
type PodDisruptionBudgetsControl struct {
KubeClient clientset.Interface
Recorder record.EventRecorder
}
PodDisruptionBudgetsControl contains all information for managing Kube PodDisruptionBudgets
func NewPodDisruptionBudgetsControl ¶
func NewPodDisruptionBudgetsControl(client clientset.Interface, rec record.EventRecorder) *PodDisruptionBudgetsControl
NewPodDisruptionBudgetsControl builds and returns new PodDisruptionBudgetsControl instance
func (*PodDisruptionBudgetsControl) CreateRedisClusterPodDisruptionBudget ¶
func (s *PodDisruptionBudgetsControl) CreateRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
CreateRedisClusterPodDisruptionBudget used to create the Kubernetes PodDisruptionBudget needed to access the Redis Cluster
func (*PodDisruptionBudgetsControl) DeleteRedisClusterPodDisruptionBudget ¶
func (s *PodDisruptionBudgetsControl) DeleteRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) error
DeleteRedisClusterPodDisruptionBudget used to delete the Kubernetes PodDisruptionBudget linked to the Redis Cluster
func (*PodDisruptionBudgetsControl) GetRedisClusterPodDisruptionBudget ¶
func (s *PodDisruptionBudgetsControl) GetRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
GetRedisClusterPodDisruptionBudget used to retrieve the Kubernetes PodDisruptionBudget associated to the RedisCluster
type PodDisruptionBudgetsControlInterface ¶
type PodDisruptionBudgetsControlInterface interface {
// CreateRedisClusterPodDisruptionBudget used to create the Kubernetes PodDisruptionBudget needed to access the Redis Cluster
CreateRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
// DeleteRedisClusterPodDisruptionBudget used to delete the Kubernetes PodDisruptionBudget linked to the Redis Cluster
DeleteRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) error
// GetRedisClusterPodDisruptionBudget used to retrieve the Kubernetes PodDisruptionBudget associated to the RedisCluster
GetRedisClusterPodDisruptionBudget(redisCluster *rapi.RedisCluster) (*policyv1.PodDisruptionBudget, error)
}
PodDisruptionBudgetsControlInterface inferface for the PodDisruptionBudgetsControl
type ServicesControl ¶
type ServicesControl struct {
KubeClient clientset.Interface
Recorder record.EventRecorder
}
ServicesControl contains all information for managing Kube Services
func NewServicesControl ¶
func NewServicesControl(client clientset.Interface, rec record.EventRecorder) *ServicesControl
NewServicesControl builds and returns new ServicesControl instance
func (*ServicesControl) CreateRedisClusterService ¶
func (s *ServicesControl) CreateRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
CreateRedisClusterService used to create the Kubernetes Service needed to access the Redis Cluster
func (*ServicesControl) DeleteRedisClusterService ¶
func (s *ServicesControl) DeleteRedisClusterService(redisCluster *rapi.RedisCluster) error
DeleteRedisClusterService used to delete the Kubernetes Service linked to the Redis Cluster
func (*ServicesControl) GetRedisClusterService ¶
func (s *ServicesControl) GetRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
GetRedisClusterService used to retrieve the Kubernetes Service associated to the RedisCluster
type ServicesControlInterface ¶
type ServicesControlInterface interface {
// CreateRedisClusterService used to create the Kubernetes Service needed to access the Redis Cluster
CreateRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
// DeleteRedisClusterService used to delete the Kubernetes Service linked to the Redis Cluster
DeleteRedisClusterService(redisCluster *rapi.RedisCluster) error
// GetRedisClusterService used to retrieve the Kubernetes Service associated to the RedisCluster
GetRedisClusterService(redisCluster *rapi.RedisCluster) (*kapiv1.Service, error)
}
ServicesControlInterface inferface for the ServicesControl