server

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2022 License: MPL-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContextLoginName = "login-name"
)

Variables

This section is empty.

Functions

func PrettyStruct

func PrettyStruct(data interface{}) (string, error)

Types

type AuthMiddlewareHeaderRequest added in v0.0.13

type AuthMiddlewareHeaderRequest struct {
	JWTToken string `header:"Authorization"`
}

type AuthMiddlewareURIRequest added in v0.0.13

type AuthMiddlewareURIRequest struct {
	LoginName string `uri:"login_name" example:"alice"`
}

type Opt

type Opt struct {
	Debug       bool
	KubeConfig  string
	HostKeyPath string
	DBURL       string

	NoAuth               bool
	JWTSecret            string
	JWTExpirationTimeout time.Duration
}

type Server

type Server struct {
	Router      *gin.Engine
	AdminRouter *gin.Engine
	Queries     *query.Queries
	Client      kubernetes.Interface

	// Auth shows if the auth is enabled.
	Auth bool
	// JWTSecret is the secret used to sign the JWT token.
	JWTSecret string
	// JWTExpirationTimeout is the expiration time of the JWT token.
	JWTExpirationTimeout time.Duration
	// contains filtered or unexported fields
}

func New

func New(opt Opt) (*Server, error)

func (*Server) AuthMiddleware added in v0.0.4

func (s *Server) AuthMiddleware() gin.HandlerFunc

func (*Server) BindHandlers added in v0.0.10

func (s *Server) BindHandlers()

func (*Server) NoAuthMiddleware added in v0.0.10

func (s *Server) NoAuthMiddleware() gin.HandlerFunc

NoAuthMiddleware is a middleware that does not auth the user.

func (*Server) OnConfig

func (s *Server) OnConfig(c *gin.Context)

@Summary Update the config of containerssh. @Description It is called by the containerssh webhook. and is not expected to be used externally. @Tags ssh-internal @Accept json @Produce json @Param request body config.Request true "query params" @Success 200 @Router /config [post]

func (*Server) OnPubKey

func (s *Server) OnPubKey(c *gin.Context)

@Summary authenticate the public key. @Description It is called by the containerssh webhook. and is not expected to be used externally. @Tags ssh-internal @Accept json @Produce json @Param request body auth.PublicKeyAuthRequest true "query params" @Success 200 {object} auth.ResponseBody @Router /pubkey [post]

func (*Server) Run

func (s *Server) Run() error

Jump to

Keyboard shortcuts

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