Documentation ¶
Index ¶
- Constants
- type Admin
- func (a *Admin) APIKeyValidation(c *gin.Context)
- func (a *Admin) AddInstance(c *gin.Context)
- func (a *Admin) ClusterStatus(c *gin.Context)
- func (a *Admin) DeleteInstance(c *gin.Context)
- func (a *Admin) InitRoutes(router *gin.Engine)
- func (a *Admin) ListInstances(c *gin.Context)
- func (a *Admin) Routes() *[]api.EndpointGroup
- type InstanceManager
- type RedisInstanceManager
- func (m *RedisInstanceManager) Add(instance api.BigBlueButtonInstance) error
- func (m *RedisInstanceManager) Exists(instance api.BigBlueButtonInstance) (bool, error)
- func (m *RedisInstanceManager) Get(URL string) (api.BigBlueButtonInstance, error)
- func (m *RedisInstanceManager) List() ([]string, error)
- func (m *RedisInstanceManager) ListInstances() ([]api.BigBlueButtonInstance, error)
- func (m *RedisInstanceManager) Remove(URL string) error
Constants ¶
const B3LBInstances = "b3lb_instances"
B3LBInstances is the key for the list of instances
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Admin ¶
type Admin struct { InstanceManager InstanceManager Balancer balancer.Balancer Config *config.AdminConfig }
Admin struct manager b3lb administration
func CreateAdmin ¶
func CreateAdmin(manager InstanceManager, balancer balancer.Balancer, config *config.AdminConfig) *Admin
CreateAdmin creates a new admin based on given configuration
func (*Admin) APIKeyValidation ¶
APIKeyValidation check that the request contains an api key provided by Authorization header
func (*Admin) AddInstance ¶
AddInstance insert the body into the database.
func (*Admin) ClusterStatus ¶ added in v1.4.0
ClusterStatus send a status for the cluster. It contains all instances with their status
func (*Admin) DeleteInstance ¶
DeleteInstance deletes an instance
func (*Admin) InitRoutes ¶
InitRoutes initialize the admin routes
func (*Admin) ListInstances ¶
ListInstances returns Bigbluebutton instance list
type InstanceManager ¶
type InstanceManager interface { Exists(instance api.BigBlueButtonInstance) (bool, error) List() ([]string, error) ListInstances() ([]api.BigBlueButtonInstance, error) Add(instance api.BigBlueButtonInstance) error Remove(URL string) error Get(URL string) (api.BigBlueButtonInstance, error) }
InstanceManager manager Bigbluebutton instances
func NewInstanceManager ¶
func NewInstanceManager(rdb redis.Client) InstanceManager
NewInstanceManager creates a new instance manager
type RedisInstanceManager ¶
type RedisInstanceManager struct {
RDB *redis.Client
}
RedisInstanceManager is the redis implementation of InstanceManager
func (*RedisInstanceManager) Add ¶
func (m *RedisInstanceManager) Add(instance api.BigBlueButtonInstance) error
Add adds an instance to the manager
func (*RedisInstanceManager) Exists ¶
func (m *RedisInstanceManager) Exists(instance api.BigBlueButtonInstance) (bool, error)
Exists checks if an instance exists
func (*RedisInstanceManager) Get ¶
func (m *RedisInstanceManager) Get(URL string) (api.BigBlueButtonInstance, error)
Get retrieve a BigBlueButton instance based on its url
func (*RedisInstanceManager) List ¶
func (m *RedisInstanceManager) List() ([]string, error)
List returns the list of instances
func (*RedisInstanceManager) ListInstances ¶
func (m *RedisInstanceManager) ListInstances() ([]api.BigBlueButtonInstance, error)
ListInstances retrieve all instance as a BigBlueButtonInstance array
func (*RedisInstanceManager) Remove ¶
func (m *RedisInstanceManager) Remove(URL string) error
Remove and instance from the manager