Documentation
¶
Overview ¶
Package ipc contains types and functions used for interprocess communication between Seesaw components.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthGroups ¶
func AuthGroups() []string
AuthGroups returns a list of groups who are permitted to authenticate.
Types ¶
type ConfigSource ¶
ConfigSource contains data for a config source IPC.
type Context ¶
type Context struct {
AuthToken string
AuthType AuthType
Groups []string
Peer Peer // Untrusted - client provided
Proxy Peer
User User
}
Context contains information relating to interprocess communication.
func NewAuthContext ¶
NewAuthContext returns a new authenticated context for the given component.
func NewContext ¶
NewContext returns a new context for the given component.
func NewTrustedContext ¶
NewTrustedContext returns a new trusted context for the given component.
func (*Context) CanRead ¶
CanRead reports whether the context is allowed to read data or config. Either the context is trusted, or the remote user is authenticated and is authorized to read.
func (*Context) CanWrite ¶
CanWrite reports whether the context is allowed to mutate Seesaw state. Either the context is trusted, or the remote user is authenticated and is a member of the admin group.
func (*Context) IsAuthenticated ¶
IsAuthenticated returns whether a context is authenticated.
type Override ¶
type Override struct {
Ctx *Context
Vserver *seesaw.VserverOverride
Destination *seesaw.DestinationOverride
Backend *seesaw.BackendOverride
}
Override contains data for an override IPC.
type User ¶
User contains information identifying a user.
func (User) IsOperator ¶
IsOperator returns whether the user has operator rights (includes admins).