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 IsTerminal(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 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 ResolvePaths(refs []*string, base string) error
- func TransportFor(ca string, certFile string, keyFile string) (http.RoundTripper, error)
- func TryListen(network, hostPort string) (bool, 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 ErrorNoDefaultIP = errors.New("no suitable IP address")
ErrorNoDefaultIP is returned when no suitable non-loopback address can be found.
Functions ¶
func AllLocalIP4 ¶
AllLocalIP4 returns all the IPv4 addresses that this host can be reached on.
func CertificatesFromFile ¶
func CertificatesFromFile(file string) ([]*x509.Certificate, error)
func CertificatesFromPEM ¶
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 ¶
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 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 ¶
func IsTerminal ¶
IsTerminal 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 ¶
func PromptForBool ¶
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 ¶
PromptForPasswordString prompts for user input by disabling echo in terminal, useful for password prompt.
func PromptForString ¶
PromptForString takes an io.Reader and prompts for user input if it's a terminal, returning the result.
func PromptForStringWithDefault ¶
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 ¶
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 ¶
RelativizePaths updates the given refs to be relative paths, relative to the given base directory
func ResolvePaths ¶
ResolvePaths updates the given refs to be absolute paths, relative to the given base directory
func TransportFor ¶
TransportFor returns an http.Transport for the given ca and client cert (which may be empty strings)
Types ¶
type Environment ¶
func ParseEnvironmentArguments ¶
func ParseEnvironmentArguments(s []string) (Environment, []string, []error)