Class: KubernetesDeploy::KubeclientBuilder
- Inherits:
-
Object
- Object
- KubernetesDeploy::KubeclientBuilder
show all
- Defined in:
- lib/kubernetes-deploy/kubeclient_builder.rb,
lib/kubernetes-deploy/kubeclient_builder/kube_config.rb
Defined Under Namespace
Classes: ContextMissingError, KubeConfig
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(kubeconfig: ENV["KUBECONFIG"]) ⇒ KubeclientBuilder
Returns a new instance of KubeclientBuilder.
20
21
22
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 20
def initialize(kubeconfig: ENV["KUBECONFIG"])
@kubeconfig = kubeconfig || "#{Dir.home}/.kube/config"
end
|
Instance Attribute Details
#kubeconfig ⇒ Object
Returns the value of attribute kubeconfig.
18
19
20
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 18
def kubeconfig
@kubeconfig
end
|
Class Method Details
.kubeconfig ⇒ Object
14
15
16
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 14
def self.kubeconfig
new.kubeconfig
end
|
Instance Method Details
#build_apiextensions_v1beta1_kubeclient(context) ⇒ Object
71
72
73
74
75
76
77
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 71
def build_apiextensions_v1beta1_kubeclient(context)
build_kubeclient(
api_version: "v1beta1",
context: context,
endpoint_path: "/apis/apiextensions.k8s.io"
)
end
|
#build_apps_v1beta1_kubeclient(context) ⇒ Object
63
64
65
66
67
68
69
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 63
def build_apps_v1beta1_kubeclient(context)
build_kubeclient(
api_version: "v1beta1",
context: context,
endpoint_path: "/apis/apps"
)
end
|
#build_autoscaling_v1_kubeclient(context) ⇒ Object
79
80
81
82
83
84
85
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 79
def build_autoscaling_v1_kubeclient(context)
build_kubeclient(
api_version: "v2beta1",
context: context,
endpoint_path: "/apis/autoscaling"
)
end
|
#build_batch_v1_kubeclient(context) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 47
def build_batch_v1_kubeclient(context)
build_kubeclient(
api_version: "v1",
context: context,
endpoint_path: "/apis/batch/"
)
end
|
#build_batch_v1beta1_kubeclient(context) ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 39
def build_batch_v1beta1_kubeclient(context)
build_kubeclient(
api_version: "v1beta1",
context: context,
endpoint_path: "/apis/batch/"
)
end
|
#build_networking_v1_kubeclient(context) ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 95
def build_networking_v1_kubeclient(context)
build_kubeclient(
api_version: "v1",
context: context,
endpoint_path: "/apis/networking.k8s.io"
)
end
|
#build_policy_v1beta1_kubeclient(context) ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 55
def build_policy_v1beta1_kubeclient(context)
build_kubeclient(
api_version: "v1beta1",
context: context,
endpoint_path: "/apis/policy/"
)
end
|
#build_rbac_v1_kubeclient(context) ⇒ Object
87
88
89
90
91
92
93
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 87
def build_rbac_v1_kubeclient(context)
build_kubeclient(
api_version: "v1",
context: context,
endpoint_path: "/apis/rbac.authorization.k8s.io"
)
end
|
#build_v1_kubeclient(context) ⇒ Object
24
25
26
27
28
29
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 24
def build_v1_kubeclient(context)
build_kubeclient(
api_version: "v1",
context: context
)
end
|
#build_v1beta1_kubeclient(context) ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 31
def build_v1beta1_kubeclient(context)
build_kubeclient(
api_version: "v1beta1",
context: context,
endpoint_path: "/apis/extensions/"
)
end
|
#config_files ⇒ Object
103
104
105
106
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 103
def config_files
kubeconfig.split(/[:;]/).map!(&:strip).reject(&:empty?)
end
|
#validate_config_files ⇒ Object
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/kubernetes-deploy/kubeclient_builder.rb', line 108
def validate_config_files
errors = []
if config_files.empty?
errors << "Kube config file name(s) not set in $KUBECONFIG"
else
config_files.each do |f|
unless File.file?(f)
errors << "Kube config not found at #{f}"
end
end
end
errors
end
|