Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidSSHUser = fmt.Errorf("invalid SSH user")
)
Functions ¶
This section is empty.
Types ¶
type ConsulEncodeDecoder ¶
type ConsulEncodeDecoder struct{}
ConsulEncodeDecoder implements EncodeDecoder for Consul routing mode
func (*ConsulEncodeDecoder) Decode ¶
func (c *ConsulEncodeDecoder) Decode(sshUser string) (sessionID, nodeAddr string, err error)
func (*ConsulEncodeDecoder) Encode ¶
func (c *ConsulEncodeDecoder) Encode(sessionID, nodeAddr string) string
func (*ConsulEncodeDecoder) Mode ¶
func (c *ConsulEncodeDecoder) Mode() Mode
type Decoder ¶
type Decoder interface {
// Decode decodes an SSH username into session ID and node address
Decode(sshUser string) (sessionID, nodeAddr string, err error)
}
Decoder defines the interface for decoding SSH usernames into session information
func NewDecoder ¶
NewDecoder creates a Decoder for the specified routing mode
type EmbeddedEncodeDecoder ¶
type EmbeddedEncodeDecoder struct{}
EmbeddedEncodeDecoder implements EncodeDecoder for embedded routing mode
func (*EmbeddedEncodeDecoder) Decode ¶
func (e *EmbeddedEncodeDecoder) Decode(sshUser string) (sessionID, nodeAddr string, err error)
func (*EmbeddedEncodeDecoder) Encode ¶
func (e *EmbeddedEncodeDecoder) Encode(sessionID, nodeAddr string) string
func (*EmbeddedEncodeDecoder) Mode ¶
func (e *EmbeddedEncodeDecoder) Mode() Mode
type EncodeDecoder ¶
type EncodeDecoder interface {
Encoder
Decoder
ModeProvider
}
EncodeDecoder defines the composite interface for encoding and decoding SSH usernames
func NewEncodeDecoder ¶
func NewEncodeDecoder(mode Mode) EncodeDecoder
NewEncodeDecoder creates an EncodeDecoder for the specified routing mode
type Encoder ¶
type Encoder interface {
// Encode encodes a session ID and node address into an SSH username
Encode(sessionID, nodeAddr string) string
}
Encoder defines the interface for encoding session information into SSH usernames
func NewEncoder ¶
NewEncoder creates an Encoder for the specified routing mode
type ModeProvider ¶
type ModeProvider interface {
// Mode returns the routing mode for this encoder/decoder
Mode() Mode
}
ModeProvider defines the interface for getting the routing mode