Documentation
¶
Index ¶
- Constants
- type Cluster
- func (c *Cluster) CalcLeafPayloadSize(totalNodes int) int
- func (c *Cluster) DoGroupFullSync(node *gossip.Node) error
- func (c *Cluster) DoResourceLockFullSync(node *gossip.Node) error
- func (c *Cluster) DoRoleFullSync(node *gossip.Node) error
- func (c *Cluster) DoSessionFullSync(node *gossip.Node) error
- func (c *Cluster) DoSpaceFullSync(node *gossip.Node) error
- func (c *Cluster) DoTemplateFullSync(node *gossip.Node) error
- func (c *Cluster) DoTemplateVarFullSync(node *gossip.Node) error
- func (c *Cluster) DoTokenFullSync(node *gossip.Node) error
- func (c *Cluster) DoUserFullSync(node *gossip.Node) error
- func (c *Cluster) DoVolumeFullSync(node *gossip.Node) error
- func (c *Cluster) GetAgentEndpoints() []string
- func (c *Cluster) GetTunnelServers() []string
- func (c *Cluster) GossipAuditLog(entry *model.AuditLogEntry)
- func (c *Cluster) GossipGroup(group *model.Group)
- func (c *Cluster) GossipResourceLock(resourceLock *ResourceLock)
- func (c *Cluster) GossipRole(role *model.Role)
- func (c *Cluster) GossipSession(session *model.Session)
- func (c *Cluster) GossipSpace(space *model.Space)
- func (c *Cluster) GossipTemplate(template *model.Template)
- func (c *Cluster) GossipTemplateVar(templateVar *model.TemplateVar)
- func (c *Cluster) GossipToken(token *model.Token)
- func (c *Cluster) GossipUser(user *model.User)
- func (c *Cluster) GossipVolume(volume *model.Volume)
- func (c *Cluster) HandleLeafServer(w http.ResponseWriter, r *http.Request)
- func (c *Cluster) LockResource(resourceId string) string
- func (c *Cluster) Nodes() []*gossip.Node
- func (c *Cluster) Start(peers []string, originServer string, originToken string)
- func (c *Cluster) Stop()
- func (c *Cluster) UnlockResource(resourceId, unlockToken string)
- type ResourceLock
- type ResourceLockRequestMsg
- type ResourceLockResponseMsg
- type ResourceUnlockRequestMsg
Constants ¶
View Source
const ( LEAF_PING_INTERVAL = 2 * time.Second RECONNECT_DELAY = 5 * time.Second )
View Source
const ( GroupFullSyncMsg gossip.MessageType = iota + gossip.UserMsg GroupGossipMsg RoleFullSyncMsg RoleGossipMsg SpaceFullSyncMsg SpaceGossipMsg TemplateFullSyncMsg TemplateGossipMsg TemplateVarFullSyncMsg TemplateVarGossipMsg UserFullSyncMsg UserGossipMsg TokenFullSyncMsg TokenGossipMsg SessionFullSyncMsg SessionGossipMsg VolumeFullSyncMsg VolumeGossipMsg AuditLogGossipMsg ResourceLockFullSyncMsg ResourceLockGossipMsg ResourceLockMsg ResourceUnlockMsg )
View Source
const ( ResourceLockTTL = 1 * time.Minute ResourceLockGCInterval = 30 * time.Second )
View Source
const (
GossipInterval = 15 * time.Second
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct {
// contains filtered or unexported fields
}
func NewCluster ¶
func (*Cluster) CalcLeafPayloadSize ¶
This is a duplicate of the gossip payload size calculation, however when gossip isn't running we still need this for sending to leaf nodes
func (*Cluster) DoResourceLockFullSync ¶
func (*Cluster) DoTemplateVarFullSync ¶
func (*Cluster) GetAgentEndpoints ¶
func (*Cluster) GetTunnelServers ¶
func (*Cluster) GossipAuditLog ¶
func (c *Cluster) GossipAuditLog(entry *model.AuditLogEntry)
func (*Cluster) GossipGroup ¶
func (*Cluster) GossipResourceLock ¶
func (c *Cluster) GossipResourceLock(resourceLock *ResourceLock)
func (*Cluster) GossipRole ¶
func (*Cluster) GossipSession ¶
func (*Cluster) GossipSpace ¶
func (*Cluster) GossipTemplate ¶
func (*Cluster) GossipTemplateVar ¶
func (c *Cluster) GossipTemplateVar(templateVar *model.TemplateVar)
func (*Cluster) GossipToken ¶
func (*Cluster) GossipUser ¶
func (*Cluster) GossipVolume ¶
func (*Cluster) HandleLeafServer ¶
func (c *Cluster) HandleLeafServer(w http.ResponseWriter, r *http.Request)
func (*Cluster) LockResource ¶
func (*Cluster) UnlockResource ¶
type ResourceLock ¶
type ResourceLockRequestMsg ¶
type ResourceLockRequestMsg struct {
ResourceId string
}
type ResourceLockResponseMsg ¶
type ResourceLockResponseMsg struct {
UnlockToken string
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.