Top Level Namespace
Defined in:
Method Summary
-
acceptable_kubectl_version?(kubectl_response, verbose = false)
Check if client version is not too many versions behind server version
- kubectl_global_response(verbose = false)
- kubectl_installation(verbose = false, offline_mode = false)
- kubectl_local_response(verbose = false)
-
kubectl_version(kubectl_response, version_for = "client", verbose = false)
Extracts Kubernetes client version or server version
- local_kubectl_path
- stdout_failure(msg)
- stdout_info(msg)
- stdout_success(msg)
- stdout_warning(msg)
Method Detail
def acceptable_kubectl_version?(kubectl_response, verbose = false)
#
Check if client version is not too many versions behind server version
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)