util

package
v4.1.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2019 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package util provides utility functions for the cmd packages.

Index

Constants

View Source
const (
	ProductOpenShift = `OpenShift`
)

Variables

View Source
var ErrorNoDefaultIP = errors.New("no suitable IP address")

ErrorNoDefaultIP is returned when no suitable non-loopback address can be found.

Functions

func AllLocalIP4

func AllLocalIP4() ([]net.IP, error)

AllLocalIP4 returns all the IPv4 addresses that this host can be reached on.

func CertPoolFromFile

func CertPoolFromFile(filename string) (*x509.CertPool, error)

func CertificatesFromFile

func CertificatesFromFile(file string) ([]*x509.Certificate, error)

func DefaultLocalIP4

func DefaultLocalIP4() (net.IP, error)

DefaultLocalIP4 returns an IPv4 address that this host can be reached on. Will return NoDefaultIP if no suitable address can be found.

func Env

func Env(key string, defaultValue string) string

Env returns an environment variable or a default value if not specified.

func EnvInt

func EnvInt(key string, defaultValue int32, minValue int32) int32

func GetCertificateFunc

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

func GetDisplayFilename(filename string) string

GetDisplayFilename returns the absolute path of the filename as long as there was no error, otherwise it returns the filename as-is

func GetDistributionName

func GetDistributionName(binaryName string) string

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 GetEnv

func GetEnv(key string) (string, bool)

GetEnv returns an environment value if specified

func GetPlatformName

func GetPlatformName(binaryName string) string

GetPlatformName returns an appropriate platform name for given binary name. Platform name can be used as a headline in command's usage.

func GetProductName

func GetProductName(binaryName string) string

GetProductName chooses appropriate product for a binary name.

func HostnameMatchSpecCandidates

func HostnameMatchSpecCandidates(hostname string) []string

HostnameMatchSpecCandidates returns a list of match specs that would match the provided hostname Returns nil if len(hostname) == 0

func HostnameMatches

func HostnameMatches(hostname string, matchSpec string) bool

HostnameMatches returns true if the given hostname is matched by the given matchSpec

func InitLogrus

func InitLogrus()

InitLogrus sets the logrus trace level based on the glog trace level.

func ListenAndServeTLS

func ListenAndServeTLS(srv *http.Server, network string, certFile, keyFile string) error

ListenAndServeTLS starts a server that listens on the provided TCP mode (as supported by net.Listen).

func MakeAbs

func MakeAbs(path, base string) (string, error)

func MakeRelative

func MakeRelative(path, base string) (string, error)

func NewGLogWriterV

func NewGLogWriterV(level int) io.Writer

NewGLogWriterV returns a new Writer that delegates to `klog.Info` at the desired level of verbosity

func PrivateKeysFromPEM

func PrivateKeysFromPEM(pemCerts []byte) ([]byte, error)

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 RelativizePathWithNoBacksteps

func RelativizePathWithNoBacksteps(refs []*string, base string) error

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 ReplaceCommandName

func ReplaceCommandName(from, to string, c *cobra.Command) *cobra.Command

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 ResolvePaths

func ResolvePaths(refs []*string, base string) error

ResolvePaths updates the given refs to be absolute paths, relative to the given base directory

func ResolveResource

func ResolveResource(defaultResource schema.GroupResource, resourceString string, mapper meta.RESTMapper) (schema.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

func SiblingCommand(cmd *cobra.Command, name string) []string

SiblingCommand returns a sibling command to the given command

func TryListen

func TryListen(network, hostPort string) (bool, error)

TryListen tries to open a connection on the given port and returns true if it succeeded.

func WaitForSuccessfulDial

func WaitForSuccessfulDial(https bool, network, address string, timeout, interval time.Duration, retries int) error

WaitForSuccessfulDial attempts to connect to the given address, closing and returning nil on the first successful connection.

func WarnAboutCommaSeparation

func WarnAboutCommaSeparation(errout io.Writer, values []string, flag string)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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