@@ -39,6 +39,7 @@ func New(apiUrl string, transport http.RoundTripper, kubeversionGetter version.K
3939 uninstallReleaseAsync : actions .UninstallReleaseAsync ,
4040 rollbackRelease : actions .RollbackRelease ,
4141 getReleaseHistory : actions .GetReleaseHistory ,
42+ getDefaultOCIRegistry : actions .GetDefaultOCIRegistry ,
4243 }
4344
4445 h .newProxy = func (bearerToken string ) (getter chartproxy.Proxy , err error ) {
@@ -72,6 +73,7 @@ type helmHandlers struct {
7273 getChart func (chartUrl string , conf * action.Configuration , namespace string , client dynamic.Interface , coreClient corev1client.CoreV1Interface , filesCleanup bool , indexEntry string ) (* chart.Chart , error )
7374 getReleaseHistory func (releaseName string , conf * action.Configuration ) ([]* release.Release , error )
7475 newProxy func (bearerToken string ) (chartproxy.Proxy , error )
76+ getDefaultOCIRegistry func (* action.Configuration ) error
7577}
7678
7779func (h * helmHandlers ) restConfig (bearerToken string ) * rest.Config {
@@ -127,6 +129,11 @@ func (h *helmHandlers) HandleHelmInstall(user *auth.User, w http.ResponseWriter,
127129 }
128130
129131 conf := h .getActionConfigurations (h .ApiServerHost , req .Namespace , user .Token , & h .Transport )
132+ err = h .getDefaultOCIRegistry (conf )
133+ if err != nil {
134+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
135+ return
136+ }
130137 restConfig , err := conf .RESTClientGetter .ToRESTConfig ()
131138 if err != nil {
132139 serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to parse request: %v" , err )})
@@ -163,6 +170,11 @@ func (h *helmHandlers) HandleHelmInstallAsync(user *auth.User, w http.ResponseWr
163170 }
164171
165172 conf := h .getActionConfigurations (h .ApiServerHost , req .Namespace , user .Token , & h .Transport )
173+ err = h .getDefaultOCIRegistry (conf )
174+ if err != nil {
175+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
176+ return
177+ }
166178 restConfig , err := conf .RESTClientGetter .ToRESTConfig ()
167179 if err != nil {
168180 serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to parse request: %v" , err )})
@@ -240,6 +252,11 @@ func (h *helmHandlers) HandleChartGet(user *auth.User, w http.ResponseWriter, r
240252 indexEntry := params .Get ("indexEntry" )
241253 // scope request to default namespace
242254 conf := h .getActionConfigurations (h .ApiServerHost , "default" , user .Token , & h .Transport )
255+ err := h .getDefaultOCIRegistry (conf )
256+ if err != nil {
257+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
258+ return
259+ }
243260 restConfig , err := conf .RESTClientGetter .ToRESTConfig ()
244261 if err != nil {
245262 serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to parse request: %v" , err )})
@@ -277,6 +294,11 @@ func (h *helmHandlers) HandleUpgradeRelease(user *auth.User, w http.ResponseWrit
277294 }
278295
279296 conf := h .getActionConfigurations (h .ApiServerHost , req .Namespace , user .Token , & h .Transport )
297+ err = h .getDefaultOCIRegistry (conf )
298+ if err != nil {
299+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
300+ return
301+ }
280302 restConfig , err := conf .RESTClientGetter .ToRESTConfig ()
281303 if err != nil {
282304 serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to parse request: %v" , err )})
@@ -313,6 +335,11 @@ func (h *helmHandlers) HandleUpgradeReleaseAsync(user *auth.User, w http.Respons
313335 }
314336
315337 conf := h .getActionConfigurations (h .ApiServerHost , req .Namespace , user .Token , & h .Transport )
338+ err = h .getDefaultOCIRegistry (conf )
339+ if err != nil {
340+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
341+ return
342+ }
316343 restConfig , err := conf .RESTClientGetter .ToRESTConfig ()
317344 if err != nil {
318345 serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to parse request: %v" , err )})
@@ -366,6 +393,11 @@ func (h *helmHandlers) HandleRollbackRelease(user *auth.User, w http.ResponseWri
366393 }
367394
368395 conf := h .getActionConfigurations (h .ApiServerHost , req .Namespace , user .Token , & h .Transport )
396+ err = h .getDefaultOCIRegistry (conf )
397+ if err != nil {
398+ serverutils .SendResponse (w , http .StatusBadGateway , serverutils.ApiError {Err : fmt .Sprintf ("Failed to get default registry: %v" , err )})
399+ return
400+ }
369401 rel , err := h .rollbackRelease (req .Name , req .Version , conf )
370402 if err != nil {
371403 if err .Error () == actions .ErrReleaseRevisionNotFound .Error () {
0 commit comments