Documentation ¶
Overview ¶
Package restapi ez-deploy apiserver.
apiserver Schemes: http Host: localhost BasePath: / Version: 1.0.0 Consumes: - application/json Produces: - application/json
swagger:meta
Index ¶
- Variables
- type Authable
- type AuthorityOpsHandler
- type Configurable
- type Handler
- type IdentityOpsHandler
- type ProjectOpsHandler
- type Server
- func (s *Server) ConfigureAPI()
- func (s *Server) ConfigureFlags()
- func (s *Server) Fatalf(f string, args ...interface{})
- func (s *Server) GetHandler() http.Handler
- func (s *Server) HTTPListener() (net.Listener, error)
- func (s *Server) Listen() error
- func (s *Server) Logf(f string, args ...interface{})
- func (s *Server) Serve() (err error)
- func (s *Server) SetAPI(api *operations.EzDeployApiserverAPI)
- func (s *Server) SetHandler(handler http.Handler)
- func (s *Server) Shutdown() error
- func (s *Server) TLSListener() (net.Listener, error)
- func (s *Server) UnixListener() (net.Listener, error)
Constants ¶
This section is empty.
Variables ¶
var ( // SwaggerJSON embedded version of the swagger document used at generation time SwaggerJSON json.RawMessage // FlatSwaggerJSON embedded flattened version of the swagger document used at generation time FlatSwaggerJSON json.RawMessage )
Functions ¶
This section is empty.
Types ¶
type Authable ¶
type Authable interface { // Applies when the "X-EZDEOPLY-APIKEY" header is set KeyAuth(token string) (*models.IdentityVerifyResp, error) }
Authable handles server authentication
type AuthorityOpsHandler ¶
type AuthorityOpsHandler interface { AuthorityOpsDeleteAuthorities(params authority_ops.AuthorityOpsDeleteAuthoritiesParams, principal *models.IdentityVerifyResp) middleware.Responder AuthorityOpsListAuthoritiesByIdentity(params authority_ops.AuthorityOpsListAuthoritiesByIdentityParams, principal *models.IdentityVerifyResp) middleware.Responder AuthorityOpsListAuthoritiesByResource(params authority_ops.AuthorityOpsListAuthoritiesByResourceParams, principal *models.IdentityVerifyResp) middleware.Responder AuthorityOpsSetAuthorities(params authority_ops.AuthorityOpsSetAuthoritiesParams, principal *models.IdentityVerifyResp) middleware.Responder }
AuthorityOpsHandler
type Configurable ¶
type Configurable interface { ConfigureFlags(api *operations.EzDeployApiserverAPI) ConfigureTLS(tlsConfig *tls.Config) ConfigureServer(s *http.Server, scheme, addr string) CustomConfigure(api *operations.EzDeployApiserverAPI) SetupMiddlewares(handler http.Handler) http.Handler SetupGlobalMiddleware(handler http.Handler) http.Handler }
Configurable handles all server configurations
type Handler ¶
type Handler interface { Authable Configurable AuthorityOpsHandler IdentityOpsHandler ProjectOpsHandler }
Handler handles all api server backend configurations and requests
type IdentityOpsHandler ¶
type IdentityOpsHandler interface { /* IdentityOpsDeletePublicToken delete public_token. */ IdentityOpsDeletePublicToken(params identity_ops.IdentityOpsDeletePublicTokenParams, principal *models.IdentityVerifyResp) middleware.Responder /* IdentityOpsGeneratePublicToken generate public_token. */ IdentityOpsGeneratePublicToken(params identity_ops.IdentityOpsGeneratePublicTokenParams, principal *models.IdentityVerifyResp) middleware.Responder /* IdentityOpsGetPrivateToken get private_token. */ IdentityOpsGetPrivateToken(params identity_ops.IdentityOpsGetPrivateTokenParams, principal *models.IdentityVerifyResp) middleware.Responder /* IdentityOpsListPublicToken list user's public_tokens. */ IdentityOpsListPublicToken(params identity_ops.IdentityOpsListPublicTokenParams, principal *models.IdentityVerifyResp) middleware.Responder /* IdentityOpsLogin Login by email and password. */ IdentityOpsLogin(params identity_ops.IdentityOpsLoginParams) middleware.Responder /* IdentityOpsReGeneratePrivateToken generate private_token. */ IdentityOpsReGeneratePrivateToken(params identity_ops.IdentityOpsReGeneratePrivateTokenParams, principal *models.IdentityVerifyResp) middleware.Responder /* IdentityOpsRegister Register by email and password. */ IdentityOpsRegister(params identity_ops.IdentityOpsRegisterParams) middleware.Responder /* IdentityOpsVerify Verify by session_token. */ IdentityOpsVerify(params identity_ops.IdentityOpsVerifyParams, principal *models.IdentityVerifyResp) middleware.Responder }
IdentityOpsHandler
type ProjectOpsHandler ¶
type ProjectOpsHandler interface { ProjectOpsCreateProject(params project_ops.ProjectOpsCreateProjectParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsDeleteProject(params project_ops.ProjectOpsDeleteProjectParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsDeleteService(params project_ops.ProjectOpsDeleteServiceParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsGetService(params project_ops.ProjectOpsGetServiceParams, principal *models.IdentityVerifyResp) middleware.Responder /* ProjectOpsList list all visible projects. */ ProjectOpsList(params project_ops.ProjectOpsListParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsListPods(params project_ops.ProjectOpsListPodsParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsListService(params project_ops.ProjectOpsListServiceParams, principal *models.IdentityVerifyResp) middleware.Responder ProjectOpsSetService(params project_ops.ProjectOpsSetServiceParams, principal *models.IdentityVerifyResp) middleware.Responder }
ProjectOpsHandler
type Server ¶
type Server struct { EnabledListeners []string `long:"scheme" description:"the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec"` CleanupTimeout time.Duration `long:"cleanup-timeout" description:"grace period for which to wait before killing idle connections" default:"10s"` GracefulTimeout time.Duration `long:"graceful-timeout" description:"grace period for which to wait before shutting down the server" default:"15s"` MaxHeaderSize flagext.ByteSize `` /* 231-byte string literal not displayed */ SocketPath flags.Filename `long:"socket-path" description:"the unix socket to listen on" default:"/var/run/ez-deploy-apiserver.sock"` Host string `long:"host" description:"the IP to listen on" default:"localhost" env:"HOST"` Port int `long:"port" description:"the port to listen on for insecure connections, defaults to a random value" env:"PORT"` ListenLimit int `long:"listen-limit" description:"limit the number of outstanding requests"` KeepAlive time.Duration `` /* 169-byte string literal not displayed */ ReadTimeout time.Duration `long:"read-timeout" description:"maximum duration before timing out read of the request" default:"30s"` WriteTimeout time.Duration `long:"write-timeout" description:"maximum duration before timing out write of the response" default:"60s"` TLSHost string `long:"tls-host" description:"the IP to listen on for tls, when not specified it's the same as --host" env:"TLS_HOST"` TLSPort int `long:"tls-port" description:"the port to listen on for secure connections, defaults to a random value" env:"TLS_PORT"` TLSCertificate flags.Filename `long:"tls-certificate" description:"the certificate to use for secure connections" env:"TLS_CERTIFICATE"` TLSCertificateKey flags.Filename `long:"tls-key" description:"the private key to use for secure connections" env:"TLS_PRIVATE_KEY"` TLSCACertificate flags.Filename `long:"tls-ca" description:"the certificate authority file to be used with mutual tls auth" env:"TLS_CA_CERTIFICATE"` TLSListenLimit int `long:"tls-listen-limit" description:"limit the number of outstanding requests"` TLSKeepAlive time.Duration `` /* 160-byte string literal not displayed */ TLSReadTimeout time.Duration `long:"tls-read-timeout" description:"maximum duration before timing out read of the request"` TLSWriteTimeout time.Duration `long:"tls-write-timeout" description:"maximum duration before timing out write of the response"` // contains filtered or unexported fields }
Server for the ez deploy apiserver API
func NewServer ¶
func NewServer(api *operations.EzDeployApiserverAPI) *Server
NewServer creates a new api ez deploy apiserver server but does not configure it
func (*Server) ConfigureAPI ¶
func (s *Server) ConfigureAPI()
ConfigureAPI configures the API and handlers.
func (*Server) ConfigureFlags ¶
func (s *Server) ConfigureFlags()
ConfigureFlags configures the additional flags defined by the handlers. Needs to be called before the parser.Parse
func (*Server) Fatalf ¶
Fatalf logs message either via defined user logger or via system one if no user logger is defined. Exits with non-zero status after printing
func (*Server) GetHandler ¶
GetHandler returns a handler useful for testing
func (*Server) HTTPListener ¶
HTTPListener returns the http listener
func (*Server) Logf ¶
Logf logs message either via defined user logger or via system one if no user logger is defined.
func (*Server) SetAPI ¶
func (s *Server) SetAPI(api *operations.EzDeployApiserverAPI)
SetAPI configures the server with the specified API. Needs to be called before Serve
func (*Server) SetHandler ¶
SetHandler allows for setting a http handler on this server
func (*Server) TLSListener ¶
TLSListener returns the https listener