Class: Kubeclient::Config
- Inherits:
-
Object
- Object
- Kubeclient::Config
- Defined in:
- lib/kubeclient/config.rb
Overview
Kubernetes client configuration class
Defined Under Namespace
Classes: Context
Class Method Summary collapse
Instance Method Summary collapse
- #context(context_name = nil) ⇒ Object
- #contexts ⇒ Object
-
#initialize(kcfg, kcfg_path) ⇒ Config
constructor
A new instance of Config.
Constructor Details
#initialize(kcfg, kcfg_path) ⇒ Config
Returns a new instance of Config.
20 21 22 23 24 |
# File 'lib/kubeclient/config.rb', line 20 def initialize(kcfg, kcfg_path) @kcfg = kcfg @kcfg_path = kcfg_path fail 'Unknown kubeconfig version' if @kcfg['apiVersion'] != 'v1' end |
Class Method Details
Instance Method Details
#context(context_name = nil) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/kubeclient/config.rb', line 34 def context(context_name = nil) cluster, user = fetch_context(context_name || @kcfg['current-context']) ca_cert_data = fetch_cluster_ca_data(cluster) client_cert_data = fetch_user_cert_data(user) client_key_data = fetch_user_key_data(user) = (user) = {} if !ca_cert_data.nil? cert_store = OpenSSL::X509::Store.new cert_store.add_cert(OpenSSL::X509::Certificate.new(ca_cert_data)) [:verify_ssl] = OpenSSL::SSL::VERIFY_PEER [:cert_store] = cert_store else [:verify_ssl] = OpenSSL::SSL::VERIFY_NONE end unless client_cert_data.nil? [:client_cert] = OpenSSL::X509::Certificate.new(client_cert_data) end unless client_key_data.nil? [:client_key] = OpenSSL::PKey.read(client_key_data) end Context.new(cluster['server'], @kcfg['apiVersion'], , ) end |
#contexts ⇒ Object
30 31 32 |
# File 'lib/kubeclient/config.rb', line 30 def contexts @kcfg['contexts'].map { |x| x['name'] } end |