hyperkube

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2015 License: Apache-2.0 Imports: 11 Imported by: 0

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

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) AddServer

func (hk *HyperKube) AddServer(s *Server)

AddServer adds a server to the HyperKube object.

func (*HyperKube) FindServer

func (hk *HyperKube) FindServer(name string) (*Server, error)

FindServer will find a specific server named name.

func (*HyperKube) Flags

func (hk *HyperKube) Flags() *pflag.FlagSet

Flags returns a flagset for "global" flags.

func (*HyperKube) Out

func (hk *HyperKube) Out() io.Writer

Out returns the io.Writer that is used for all usage/error information

func (*HyperKube) Print

func (hk *HyperKube) Print(i ...interface{})

Print is a convenience method to Print to the defined output

func (*HyperKube) Printf

func (hk *HyperKube) Printf(format string, i ...interface{})

Printf is a convenience method to Printf 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) Run

func (hk *HyperKube) Run(args []string) error

Run the server. This will pick the appropriate server and run it.

func (*HyperKube) RunToExit

func (hk *HyperKube) RunToExit(args []string)

RunToExit will run the hyperkube and then call os.Exit with an appropriate exit code.

func (*HyperKube) Servers

func (hk *HyperKube) Servers() []Server

Servers returns a list of all of the registred servers

func (*HyperKube) SetOut

func (hk *HyperKube) SetOut(w io.Writer)

SetOut sets the output writer for all usage/error information

func (*HyperKube) Usage

func (hk *HyperKube) Usage()

Usage will write out a summary for all servers that this binary supports.

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.

func (*Server) Flags

func (s *Server) Flags() *pflag.FlagSet

Flags returns a flagset for this server

func (*Server) Name

func (s *Server) Name() string

Name returns the name of the command as derived from the usage line.

func (*Server) Usage

func (s *Server) Usage() error

Usage returns the full usage string including all of the flags.

Jump to

Keyboard shortcuts

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