@@ -127,6 +127,7 @@ type K8sService interface {
127127type K8sServiceImpl struct {
128128 logger * zap.SugaredLogger
129129 runTimeConfig * RuntimeConfig
130+ kubeConfigBuilder KubeConfigBuilderInterface
130131 httpTransportConfig * HttpTransportConfig
131132 kubeconfig * string
132133 opts Options
@@ -165,6 +166,14 @@ func (opt *Options) GetTransportType() TransportType {
165166func NewK8sUtil (
166167 logger * zap.SugaredLogger ,
167168 runTimeConfig * RuntimeConfig ,
169+ ) (* K8sServiceImpl , error ) {
170+ return NewK8sUtilBuilder (logger , runTimeConfig , NewKubeConfigBuilder ())
171+ }
172+
173+ func NewK8sUtilBuilder (
174+ logger * zap.SugaredLogger ,
175+ runTimeConfig * RuntimeConfig ,
176+ kubeConfigBuilder KubeConfigBuilderInterface ,
168177) (* K8sServiceImpl , error ) {
169178 var kubeconfig * string
170179 if runTimeConfig .LocalDevMode {
@@ -181,19 +190,19 @@ func NewK8sUtil(
181190 runTimeConfig : runTimeConfig ,
182191 kubeconfig : kubeconfig ,
183192 httpTransportConfig : NewHttpTransportConfig (logger ),
193+ kubeConfigBuilder : kubeConfigBuilder ,
184194 }, nil
185195}
186196
187197func (impl * K8sServiceImpl ) NewKubeConfigImpl (
188198 httpTransportConfig HttpTransportInterface ,
189- kubeConfigBuilder KubeConfigBuilderInterface ,
190199) * KubeConfigImpl {
191200 return NewKubeConfigImpl (
192201 impl .logger ,
193202 impl .runTimeConfig ,
194203 impl .kubeconfig ,
195204 httpTransportConfig ,
196- kubeConfigBuilder ,
205+ impl . kubeConfigBuilder ,
197206 )
198207}
199208
@@ -204,10 +213,10 @@ func (impl *K8sServiceImpl) NewKubeConfigImpl(
204213func (impl * K8sServiceImpl ) WithHttpTransport (opt Options ) KubeConfigInterface {
205214 switch opt .GetTransportType () {
206215 case TransportTypeDefault :
207- return impl .NewKubeConfigImpl (impl .GetDefaultHttpClientConfig (), NewKubeConfigBuilder () )
216+ return impl .NewKubeConfigImpl (impl .GetDefaultHttpClientConfig ())
208217 default :
209218 // default fallback is custom transport
210- return impl .NewKubeConfigImpl (impl .GetCustomHttpClientConfig (), NewKubeConfigBuilder () )
219+ return impl .NewKubeConfigImpl (impl .GetCustomHttpClientConfig ())
211220 }
212221}
213222
0 commit comments