Documentation ¶
Index ¶
- Constants
- Variables
- func BuildArgumentListFromMap(baseArguments map[string]string, overrideArguments map[string]string) []string
- func CheckErr(err error)
- func Chroot(rootfs string) error
- func CopyDir(src string, dst string) ([]byte, error)
- func CopyFile(src, dest string) error
- func FormatErrMsg(errs []error) string
- func GetControlPlaneEndpoint(controlPlaneEndpoint string) (string, error)
- func GetProxyEnvVars() []v1.EnvVar
- func GroupVersionKindsFromBytes(b []byte) ([]schema.GroupVersionKind, error)
- func GroupVersionKindsHasClusterConfiguration(gvks ...schema.GroupVersionKind) bool
- func GroupVersionKindsHasInitConfiguration(gvks ...schema.GroupVersionKind) bool
- func GroupVersionKindsHasJoinConfiguration(gvks ...schema.GroupVersionKind) bool
- func GroupVersionKindsHasKind(gvks []schema.GroupVersionKind, kind string) bool
- func KubernetesIsCIVersion(version string) bool
- func KubernetesReleaseVersion(version string) (string, error)
- func KubernetesVersionToImageTag(version string) string
- func MarshalToYaml(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)
- func MarshalToYamlForCodecs(obj runtime.Object, gv schema.GroupVersion, codecs serializer.CodecFactory) ([]byte, error)
- func ParseArgumentListToMap(arguments []string) map[string]string
- func ParseHostPort(hostport string) (string, string, error)
- func ParsePort(port string) (int, error)
- func ParseTemplate(strtmpl string, obj interface{}) ([]byte, error)
- func ReplaceArgument(command []string, argMutateFunc func(map[string]string) map[string]string) []string
- func SplitYAMLDocuments(yamlBytes []byte) (kubeadmapi.DocumentMap, error)
- func UnmarshalFromYaml(buffer []byte, gv schema.GroupVersion) (runtime.Object, error)
- func UnmarshalFromYamlForCodecs(buffer []byte, gv schema.GroupVersion, codecs serializer.CodecFactory) (runtime.Object, error)
Constants ¶
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 ¶
var ( ErrInvalidSubCommandMsg = "invalid subcommand" ErrExit = errors.New("exit") )
Functions ¶
func BuildArgumentListFromMap ¶
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 Chroot ¶
Chroot chroot()s to the new path. NB: All file paths after this call are effectively relative to `rootfs`
func FormatErrMsg ¶
FormatErrMsg returns a human-readable string describing the slice of errors passed to the function
func GetControlPlaneEndpoint ¶
GetControlPlaneEndpoint returns a properly formatted endpoint for the control plane built according following rules: - If the controlPlaneEndpoint is defined, use it. - if the controlPlaneEndpoint is defined but without a port number, use the controlPlaneEndpoint + localEndpoint.BindPort is used. - Otherwise, in case the controlPlaneEndpoint is not defined, use the localEndpoint.AdvertiseAddress + the localEndpoint.BindPort.
func GetProxyEnvVars ¶
GetProxyEnvVars builds a list of environment variables in order to use the right proxy
func GroupVersionKindsFromBytes ¶
func GroupVersionKindsFromBytes(b []byte) ([]schema.GroupVersionKind, error)
GroupVersionKindsFromBytes parses the bytes and returns a gvk slice
func GroupVersionKindsHasClusterConfiguration ¶
func GroupVersionKindsHasClusterConfiguration(gvks ...schema.GroupVersionKind) bool
GroupVersionKindsHasClusterConfiguration returns whether the following gvk slice contains a ClusterConfiguration object
func GroupVersionKindsHasInitConfiguration ¶
func GroupVersionKindsHasInitConfiguration(gvks ...schema.GroupVersionKind) bool
GroupVersionKindsHasInitConfiguration returns whether the following gvk slice contains a InitConfiguration object
func GroupVersionKindsHasJoinConfiguration ¶
func GroupVersionKindsHasJoinConfiguration(gvks ...schema.GroupVersionKind) bool
GroupVersionKindsHasJoinConfiguration returns whether the following gvk slice contains a JoinConfiguration object
func GroupVersionKindsHasKind ¶
func GroupVersionKindsHasKind(gvks []schema.GroupVersionKind, kind string) bool
GroupVersionKindsHasKind returns whether the following gvk slice contains the kind given as a parameter
func KubernetesIsCIVersion ¶
KubernetesIsCIVersion checks if user requested CI version
func KubernetesReleaseVersion ¶
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 ¶
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 MarshalToYaml ¶
MarshalToYaml marshals an object into yaml.
func MarshalToYamlForCodecs ¶
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 ¶
ParseArgumentListToMap parses a CLI argument list in the form "--foo=bar" to a string-string map
func ParseHostPort ¶
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 ParsePort ¶
ParsePort parses a string representing a TCP port. If the string is not a valid representation of a TCP port, ParsePort returns an error.
func ParseTemplate ¶
ParseTemplate validates and parses passed as argument template
func ReplaceArgument ¶
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 SplitYAMLDocuments ¶
func SplitYAMLDocuments(yamlBytes []byte) (kubeadmapi.DocumentMap, error)
SplitYAMLDocuments reads the YAML bytes per-document, unmarshals the TypeMeta information from each document and returns a map between the GroupVersionKind of the document and the document bytes
func UnmarshalFromYaml ¶
UnmarshalFromYaml unmarshals yaml into an object.
func UnmarshalFromYamlForCodecs ¶
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.
Source Files ¶
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. |