admin

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2022 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
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

func (a *Admin) APIKeyValidation(c *gin.Context)

APIKeyValidation check that the request contains an api key provided by Authorization header

func (*Admin) AddInstance

func (a *Admin) AddInstance(c *gin.Context)

AddInstance insert the body into the database.

func (*Admin) ClusterStatus added in v1.4.0

func (a *Admin) ClusterStatus(c *gin.Context)

ClusterStatus send a status for the cluster. It contains all instances with their status

func (*Admin) DeleteInstance

func (a *Admin) DeleteInstance(c *gin.Context)

DeleteInstance deletes an instance

func (*Admin) InitRoutes

func (a *Admin) InitRoutes(router *gin.Engine)

InitRoutes initialize the admin routes

func (*Admin) ListInstances

func (a *Admin) ListInstances(c *gin.Context)

ListInstances returns Bigbluebutton instance list

func (*Admin) Routes

func (a *Admin) Routes() *[]api.EndpointGroup

Routes returns admin routes

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

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

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL