@@ -44,6 +44,7 @@ import (
44
44
"github.com/openshift/openshift-apiserver/pkg/bootstrappolicy"
45
45
buildapiserver "github.com/openshift/openshift-apiserver/pkg/build/apiserver"
46
46
"github.com/openshift/openshift-apiserver/pkg/cmd/openshift-apiserver/openshiftapiserver/configprocessing"
47
+ apisimage "github.com/openshift/openshift-apiserver/pkg/image/apis/image"
47
48
imageapiserver "github.com/openshift/openshift-apiserver/pkg/image/apiserver"
48
49
"github.com/openshift/openshift-apiserver/pkg/image/apiserver/registryhostname"
49
50
projectapiserver "github.com/openshift/openshift-apiserver/pkg/project/apiserver"
@@ -87,6 +88,7 @@ type OpenshiftAPIExtraConfig struct {
87
88
AllowedRegistriesForImport openshiftcontrolplanev1.AllowedRegistries
88
89
MaxImagesBulkImportedPerRepository int
89
90
AdditionalTrustedCA []byte
91
+ ImageStreamImportMode apisimage.ImportModeType
90
92
91
93
RouteAllocator * routehostassignment.SimpleAllocationPlugin
92
94
AllowRouteExternalCertificates bool
@@ -146,7 +148,11 @@ func (c *OpenshiftAPIExtraConfig) Validate() error {
146
148
if c .RESTMapper == nil {
147
149
ret = append (ret , fmt .Errorf ("RESTMapper is required" ))
148
150
}
149
-
151
+ if len (c .ImageStreamImportMode ) > 0 {
152
+ if (c .ImageStreamImportMode != apisimage .ImportModeLegacy ) && (c .ImageStreamImportMode != apisimage .ImportModePreserveOriginal ) {
153
+ ret = append (ret , fmt .Errorf ("Invalid value for import mode" ))
154
+ }
155
+ }
150
156
return utilerrors .NewAggregate (ret )
151
157
}
152
158
@@ -505,6 +511,10 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
505
511
GenericAPIServer : genericServer ,
506
512
}
507
513
514
+ if len (c .ExtraConfig .ImageStreamImportMode ) > 0 {
515
+ apisimage .DefaultImportMode = c .ExtraConfig .ImageStreamImportMode
516
+ }
517
+
508
518
// this remains a non-healthz endpoint so that you can be healthy without being ready.
509
519
addReadinessCheckRoute (s .GenericAPIServer .Handler .NonGoRestfulMux , "/healthz/ready" , c .ExtraConfig .ProjectAuthorizationCache .ReadyForAccess )
510
520
0 commit comments