1# frozen_string_literal: true 2 3module Gitlab 4 module Kubernetes 5 module Kubeconfig 6 module Entry 7 class Context 8 attr_reader :name 9 10 def initialize(name:, cluster:, user:, namespace: nil) 11 @name = name 12 @cluster = cluster 13 @user = user 14 @namespace = namespace 15 end 16 17 def to_h 18 { 19 name: name, 20 context: context 21 } 22 end 23 24 private 25 26 attr_reader :cluster, :user, :namespace 27 28 def context 29 { 30 cluster: cluster, 31 namespace: namespace, 32 user: user 33 }.compact 34 end 35 end 36 end 37 end 38 end 39end 40