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