Documentation ¶
Overview ¶
Package util provides utility functions for the cmd packages.
Index ¶
- Constants
- Variables
- func AllLocalIP4() ([]net.IP, error)
- func CertPoolFromFile(filename string) (*x509.CertPool, error)
- func CertificatesFromFile(file string) ([]*x509.Certificate, error)
- func CertificatesFromPEM(pemCerts []byte) ([]*x509.Certificate, error)
- func DefaultLocalIP4() (net.IP, error)
- func DefaultSubCommandRun(out io.Writer) func(c *cobra.Command, args []string)
- func Env(key string, defaultValue string) string
- func EnvInt(key string, defaultValue int32, minValue int32) int32
- func GetCertificateFunc(certs map[string]*tls.Certificate) func(*tls.ClientHelloInfo) (*tls.Certificate, error)
- func GetDisplayFilename(filename string) string
- func GetDistributionName(binaryName string) string
- func GetEnv(key string) (string, bool)
- func GetLogLevel() (level int)
- func GetPlatformName(binaryName string) string
- func GetProductName(binaryName string) string
- func HostnameMatchSpecCandidates(hostname string) []string
- func HostnameMatches(hostname string, matchSpec string) bool
- func IsEnvironmentArgument(s string) bool
- func IsTerminalReader(r io.Reader) bool
- func IsTerminalWriter(w io.Writer) bool
- func ListenAndServe(srv *http.Server, network string) error
- func ListenAndServeTLS(srv *http.Server, network string, certFile, keyFile string) error
- func MakeAbs(path, base string) (string, error)
- func MakeRelative(path, base string) (string, error)
- func NewGLogWriterV(level int) io.Writer
- func ParseEnv(spec []string, defaultReader io.Reader) ([]kapi.EnvVar, []string, error)
- func PrivateKeysFromPEM(pemCerts []byte) ([]byte, error)
- func PromptForBool(r io.Reader, w io.Writer, format string, a ...interface{}) bool
- func PromptForPasswordString(r io.Reader, w io.Writer, format string, a ...interface{}) string
- func PromptForString(r io.Reader, w io.Writer, format string, a ...interface{}) string
- func PromptForStringWithDefault(r io.Reader, w io.Writer, def string, format string, a ...interface{}) string
- func RelativizePathWithNoBacksteps(refs []*string, base string) error
- func RelativizePaths(refs []*string, base string) error
- func ReplaceCommandName(from, to string, c *cobra.Command) *cobra.Command
- func RequireNoArguments(c *cobra.Command, args []string)
- func ResolvePaths(refs []*string, base string) error
- func ResolveResource(defaultResource unversioned.GroupResource, resourceString string, ...) (unversioned.GroupResource, string, error)
- func SiblingCommand(cmd *cobra.Command, name string) string
- func SplitEnvironmentFromResources(args []string) (resources, envArgs []string, ok bool)
- func TransportFor(ca string, certFile string, keyFile string) (http.RoundTripper, error)
- func TryListen(network, hostPort string) (bool, error)
- func UnsecuredRoute(kc *kclient.Client, namespace, routeName, serviceName, portString string) (*api.Route, error)
- func VersionedPrintObject(fn func(*cobra.Command, meta.RESTMapper, runtime.Object, io.Writer) error, ...) func(runtime.Object) error
- func WaitForSuccessfulDial(https bool, network, address string, timeout, interval time.Duration, ...) error
- type Environment
- type Mux
Constants ¶
const ( ProductOrigin = `Origin` ProductOpenShift = `OpenShift` ProductAtomicEnterprise = `Atomic Enterprise` )
Variables ¶
var ErrExit = fmt.Errorf("exit directly")
ErrExit is a marker interface for cli commands indicating that the response has been processed
var ErrorNoDefaultIP = errors.New("no suitable IP address")
ErrorNoDefaultIP is returned when no suitable non-loopback address can be found.
Functions ¶
func AllLocalIP4 ¶ added in v0.5.1
AllLocalIP4 returns all the IPv4 addresses that this host can be reached on.
func CertPoolFromFile ¶ added in v0.4.3
func CertificatesFromFile ¶ added in v0.4.3
func CertificatesFromFile(file string) ([]*x509.Certificate, error)
func CertificatesFromPEM ¶ added in v0.4.3
func CertificatesFromPEM(pemCerts []byte) ([]*x509.Certificate, error)
func DefaultLocalIP4 ¶
DefaultLocalIP4 returns an IPv4 address that this host can be reached on. Will return NoDefaultIP if no suitable address can be found.
func DefaultSubCommandRun ¶ added in v0.5.4
func GetCertificateFunc ¶ added in v1.0.7
func GetCertificateFunc(certs map[string]*tls.Certificate) func(*tls.ClientHelloInfo) (*tls.Certificate, error)
GetCertificateFunc returns a function that can be used in tls.Config#GetCertificate Returns nil if len(certs) == 0
func GetDisplayFilename ¶ added in v1.0.6
GetDisplayFilename returns the absolute path of the filename as long as there was no error, otherwise it returns the filename as-is
func GetDistributionName ¶ added in v1.0.7
GetDistributionName returns an appropriate Kubernetes distribution name. Distribution name can be used in relation to some feature set in command's usage string (e.g. <distribution name> allows you to build, run, etc.).
func GetLogLevel ¶ added in v0.4.2
func GetLogLevel() (level int)
GetLogLevel returns the current glog log level
func GetPlatformName ¶ added in v1.0.7
GetPlatformName returns an appropriate platform name for given binary name. Platform name can be used as a headline in command's usage.
func GetProductName ¶ added in v1.0.7
GetProductName chooses appropriate product for a binary name.
func HostnameMatchSpecCandidates ¶ added in v1.0.7
HostnameMatchSpecCandidates returns a list of match specs that would match the provided hostname Returns nil if len(hostname) == 0
func HostnameMatches ¶ added in v1.0.7
HostnameMatches returns true if the given hostname is matched by the given matchSpec
func IsEnvironmentArgument ¶ added in v0.3.1
func IsTerminalReader ¶ added in v1.1.4
IsTerminalReader returns whether the passed io.Reader is a terminal or not
func IsTerminalWriter ¶ added in v1.0.1
IsTerminalWriter returns whether the passed io.Writer is a terminal or not
func ListenAndServe ¶ added in v1.0.5
ListenAndServe starts a server that listens on the provided TCP mode (as supported by net.Listen)
func ListenAndServeTLS ¶ added in v1.0.5
ListenAndServeTLS starts a server that listens on the provided TCP mode (as supported by net.Listen).
func MakeRelative ¶ added in v0.4.4
func NewGLogWriterV ¶
NewGLogWriterV returns a new Writer that delegates to `glog.Info` at the desired level of verbosity
func ParseEnv ¶ added in v1.1.2
ParseEnv parses the list of environment variables into kubernetes EnvVar
func PrivateKeysFromPEM ¶ added in v1.1.4
PrivateKeysFromPEM extracts all blocks recognized as private keys into an output PEM encoded byte array, or returns an error. If there are no private keys it will return an empty byte buffer.
func PromptForBool ¶ added in v0.4.2
PromptForBool prompts for user input of a boolean value. The accepted values are:
yes, y, true, t, 1 (not case sensitive) no, n, false, f, 0 (not case sensitive)
A valid answer is mandatory so it will keep asking until an answer is provided.
func PromptForPasswordString ¶ added in v0.3.1
PromptForPasswordString prompts for user input by disabling echo in terminal, useful for password prompt.
func PromptForString ¶ added in v0.3.1
PromptForString takes an io.Reader and prompts for user input if it's a terminal, returning the result.
func PromptForStringWithDefault ¶ added in v0.4.2
func PromptForStringWithDefault(r io.Reader, w io.Writer, def string, format string, a ...interface{}) string
PromptForStringWithDefault prompts for user input but take a default in case nothing is provided.
func RelativizePathWithNoBacksteps ¶ added in v0.4.2
RelativizePathWithNoBacksteps updates the given refs to be relative paths, relative to the given base directory as long as they do not require backsteps. Any path requiring a backstep is left as-is as long it is absolute. Any non-absolute path that can't be relativized produces an error
func RelativizePaths ¶ added in v0.4.2
RelativizePaths updates the given refs to be relative paths, relative to the given base directory
func ReplaceCommandName ¶
ReplaceCommandName recursively processes the examples in a given command to change a hardcoded command name (like 'kubectl' to the appropriate target name). It returns c.
func RequireNoArguments ¶ added in v1.1.4
RequireNoArguments exits with a usage error if extra arguments are provided.
func ResolvePaths ¶ added in v0.4.2
ResolvePaths updates the given refs to be absolute paths, relative to the given base directory
func ResolveResource ¶ added in v1.0.8
func ResolveResource(defaultResource unversioned.GroupResource, resourceString string, mapper meta.RESTMapper) (unversioned.GroupResource, string, error)
ResolveResource returns the resource type and name of the resourceString. If the resource string has no specified type, defaultResource will be returned.
func SiblingCommand ¶
SiblingCommand returns a sibling command to the given command
func SplitEnvironmentFromResources ¶ added in v1.1.4
func TransportFor ¶ added in v0.4.3
TransportFor returns an http.Transport for the given ca and client cert (which may be empty strings)
func TryListen ¶ added in v0.4.2
TryListen tries to open a connection on the given port and returns true if it succeeded.
func UnsecuredRoute ¶
func UnsecuredRoute(kc *kclient.Client, namespace, routeName, serviceName, portString string) (*api.Route, error)
UnsecuredRoute will return a route with enough info so that it can direct traffic to the service provided by --service. Callers of this helper are responsible for providing tls configuration, path, and the hostname of the route.
func VersionedPrintObject ¶ added in v1.1.6
func VersionedPrintObject(fn func(*cobra.Command, meta.RESTMapper, runtime.Object, io.Writer) error, c *cobra.Command, mapper meta.RESTMapper, out io.Writer) func(runtime.Object) error
VersionedPrintObject handles printing an object in the appropriate version by looking at 'output-version' on the command
Types ¶
type Environment ¶ added in v0.3.1
func ParseEnvironmentArguments ¶ added in v0.3.1
func ParseEnvironmentArguments(s []string) (Environment, []string, []error)