Top Level Namespace

Defined in:

Method Summary

Method Detail

def acceptable_kubectl_version?(kubectl_response, verbose = false) #

Check if client version is not too many versions behind server version


[View source]
def kubectl_global_response(verbose = false) #

[View source]
def kubectl_installation(verbose = false, offline_mode = false) #

[View source]
def kubectl_local_response(verbose = false) #

[View source]
def kubectl_version(kubectl_response, version_for = "client", verbose = false) #

Extracts Kubernetes client version or server version

version = kubectl_version(kubectl_response, "client")
version # => "1.12"

version = kubectl_version(kubectl_response, "server")
version # => "1.12"

For reference, below are example client and server version strings from "kubectl version" output

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-21T01:11:42Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

TODO Function could be updated to rely on the JSON output of "kubectl version -o json" instead of regex parsing

Returns the version as a string (Example: 1.12, 1.20, etc)


[View source]
def local_kubectl_path #

[View source]
def stdout_failure(msg) #

[View source]
def stdout_info(msg) #

[View source]
def stdout_success(msg) #

[View source]
def stdout_warning(msg) #

[View source]