Documentation ¶
Overview ¶
Package hyperkube is a framework for kubernetes server components. It allows us to combine all of the kubernetes server components into a single binary where the user selects which components to run in any individual process.
Currently, only one server component can be run at once. As such there is no need to harmonize flags or identify logs across the various servers. In the future we will support launching and running many servers -- either by managing processes or running in-proc.
This package is inspired by https://github.com/spf13/cobra. However, as the eventual goal is to run *multiple* servers from one call, a new package was needed.
Index ¶
- type HyperKube
- func (hk *HyperKube) AddServer(s *Server)
- func (hk *HyperKube) FindServer(name string) (*Server, error)
- func (hk *HyperKube) Flags() *pflag.FlagSet
- func (hk *HyperKube) Out() io.Writer
- func (hk *HyperKube) Print(i ...interface{})
- func (hk *HyperKube) Printf(format string, i ...interface{})
- func (hk *HyperKube) Println(i ...interface{})
- func (hk *HyperKube) Run(args []string) error
- func (hk *HyperKube) RunToExit(args []string)
- func (hk *HyperKube) Servers() []Server
- func (hk *HyperKube) SetOut(w io.Writer)
- func (hk *HyperKube) Usage()
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HyperKube ¶
type HyperKube struct { Name string // The executable name, used for help and soft-link invocation Long string // A long description of the binary. It will be world wrapped before output. // contains filtered or unexported fields }
HyperKube represents a single binary that can morph/manage into multiple servers.
func (*HyperKube) FindServer ¶
FindServer will find a specific server named name.
func (*HyperKube) Print ¶
func (hk *HyperKube) Print(i ...interface{})
Print is a convenience method to Print to the defined output
func (*HyperKube) Println ¶
func (hk *HyperKube) Println(i ...interface{})
Println is a convenience method to Println to the defined output
func (*HyperKube) RunToExit ¶
RunToExit will run the hyperkube and then call os.Exit with an appropriate exit code.
type Server ¶
type Server struct { SimpleUsage string // One line description of the server. Long string // Longer free form description of the server Run serverRunFunc // Run the server. This is not expected to return. // contains filtered or unexported fields }
Server describes a server that this binary can morph into.