util

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2018 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultErrorExitCode defines exit the code for failed action generally
	DefaultErrorExitCode = 1
	// PreFlightExitCode defines exit the code for preflight checks
	PreFlightExitCode = 2
	// ValidationExitCode defines the exit code validation checks
	ValidationExitCode = 3
)

Variables

This section is empty.

Functions

func BuildArgumentListFromMap added in v1.8.0

func BuildArgumentListFromMap(baseArguments map[string]string, overrideArguments map[string]string) []string

BuildArgumentListFromMap takes two string-string maps, one with the base arguments and one with optional override arguments. In the return list override arguments will precede base arguments

func CheckErr

func CheckErr(err error)

CheckErr prints a user friendly error to STDERR and exits with a non-zero exit code. Unrecognized errors will be printed with an "error: " prefix.

This method is generic to the command in use and may be used by non-Kubectl commands.

func CopyDir added in v1.9.0

func CopyDir(src string, dst string) error

CopyDir copies the content of a folder

func FormatErrMsg added in v1.9.0

func FormatErrMsg(errs []error) string

FormatErrMsg returns a human-readable string describing the slice of errors passed to the function

func GetCgroupDriverDocker added in v1.11.0

func GetCgroupDriverDocker(execer utilsexec.Interface) (string, error)

GetCgroupDriverDocker runs 'docker info' to obtain the docker cgroup driver

func GetMasterEndpoint added in v1.8.0

func GetMasterEndpoint(api *kubeadmapi.API) (string, error)

GetMasterEndpoint returns a properly formatted endpoint for the control plane built according following rules: - If the api.ControlPlaneEndpoint is defined, use it. - if the api.ControlPlaneEndpoint is defined but without a port number, use the api.ControlPlaneEndpoint + api.BindPort is used. - Otherwise, in case the api.ControlPlaneEndpoint is not defined, use the api.AdvertiseAddress + the api.BindPort.

func GroupVersionKindFromBytes added in v1.11.0

func GroupVersionKindFromBytes(buffer []byte, codecs serializer.CodecFactory) (schema.GroupVersionKind, error)

GroupVersionKindFromBytes parses the bytes and returns the gvk

func KubernetesIsCIVersion added in v1.8.0

func KubernetesIsCIVersion(version string) bool

KubernetesIsCIVersion checks if user requested CI version

func KubernetesReleaseVersion added in v1.6.0

func KubernetesReleaseVersion(version string) (string, error)

KubernetesReleaseVersion is helper function that can fetch available version information from release servers based on label names, like "stable" or "latest".

If argument is already semantic version string, it will return same string.

In case of labels, it tries to fetch from release servers and then return actual semantic version.

Available names on release servers:

stable      (latest stable release)
stable-1    (latest stable release in 1.x)
stable-1.0  (and similarly 1.1, 1.2, 1.3, ...)
latest      (latest release, including alpha/beta)
latest-1    (latest release in 1.x, including alpha/beta)
latest-1.0  (and similarly 1.1, 1.2, 1.3, ...)

func KubernetesVersionToImageTag added in v1.8.0

func KubernetesVersionToImageTag(version string) string

KubernetesVersionToImageTag is helper function that replaces all non-allowed symbols in tag strings with underscores. Image tag can only contain lowercase and uppercase letters, digits, underscores, periods and dashes. Current usage is for CI images where all of symbols except '+' are valid, but function is for generic usage where input can't be always pre-validated.

func LoadYAML added in v1.11.0

func LoadYAML(bytes []byte) (map[string]interface{}, error)

LoadYAML is a small wrapper around go-yaml that ensures all nested structs are map[string]interface{} instead of map[interface{}]interface{}.

func MarshalToYaml added in v1.9.0

func MarshalToYaml(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)

MarshalToYaml marshals an object into yaml.

func MarshalToYamlForCodecs added in v1.9.0

func MarshalToYamlForCodecs(obj runtime.Object, gv schema.GroupVersion, codecs serializer.CodecFactory) ([]byte, error)

MarshalToYamlForCodecs marshals an object into yaml using the specified codec TODO: Is specifying the gv really needed here? TODO: Can we support json out of the box easily here?

func ParseArgumentListToMap added in v1.8.0

func ParseArgumentListToMap(arguments []string) map[string]string

ParseArgumentListToMap parses a CLI argument list in the form "--foo=bar" to a string-string map

func ParseHostPort added in v1.11.0

func ParseHostPort(hostport string) (string, string, error)

ParseHostPort parses a network address of the form "host:port", "ipv4:port", "[ipv6]:port" into host and port; ":port" can be eventually omitted. If the string is not a valid representation of network address, ParseHostPort returns an error.

func ParseTemplate added in v1.6.0

func ParseTemplate(strtmpl string, obj interface{}) ([]byte, error)

ParseTemplate validates and parses passed as argument template

func ReplaceArgument added in v1.8.0

func ReplaceArgument(command []string, argMutateFunc func(map[string]string) map[string]string) []string

ReplaceArgument gets a command list; converts it to a map for easier modification, runs the provided function that returns a new modified map, and then converts the map back to a command string slice

func UnmarshalFromYaml added in v1.10.2

func UnmarshalFromYaml(buffer []byte, gv schema.GroupVersion) (runtime.Object, error)

UnmarshalFromYaml unmarshals yaml into an object.

func UnmarshalFromYamlForCodecs added in v1.10.2

func UnmarshalFromYamlForCodecs(buffer []byte, gv schema.GroupVersion, codecs serializer.CodecFactory) (runtime.Object, error)

UnmarshalFromYamlForCodecs unmarshals yaml into an object using the specified codec TODO: Is specifying the gv really needed here? TODO: Can we support json out of the box easily here?

Types

This section is empty.

Directories

Path Synopsis
Package pubkeypin provides primitives for x509 public key pinning in the style of RFC7469.
Package pubkeypin provides primitives for x509 public key pinning in the style of RFC7469.

Jump to

Keyboard shortcuts

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