@@ -17,19 +17,18 @@ limitations under the License.
1717package main
1818
1919import (
20+ "context"
2021 "crypto/tls"
2122 "errors"
2223 "flag"
2324 "fmt"
24- "log"
2525 "net/url"
2626 "os"
2727 "path/filepath"
2828 "strings"
2929 "time"
3030
3131 "github.com/containers/image/v5/types"
32- "github.com/go-logr/logr"
3332 "github.com/sirupsen/logrus"
3433 "github.com/spf13/pflag"
3534 corev1 "k8s.io/api/core/v1"
@@ -50,21 +49,22 @@ import (
5049 "sigs.k8s.io/controller-runtime/pkg/certwatcher"
5150 "sigs.k8s.io/controller-runtime/pkg/client"
5251 "sigs.k8s.io/controller-runtime/pkg/healthz"
52+ "sigs.k8s.io/controller-runtime/pkg/log"
5353 "sigs.k8s.io/controller-runtime/pkg/metrics"
5454 "sigs.k8s.io/controller-runtime/pkg/metrics/filters"
5555 metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
5656 crwebhook "sigs.k8s.io/controller-runtime/pkg/webhook"
5757
5858 catalogdv1 "github.com/operator-framework/operator-controller/catalogd/api/v1"
59- corecontrollers "github.com/operator-framework/operator-controller/catalogd/internal/controllers/core"
60- "github.com/operator-framework/operator-controller/catalogd/internal/webhook"
59+ corecontrollers "github.com/operator-framework/operator-controller/internal/catalogd/controllers/core"
6160 "github.com/operator-framework/operator-controller/internal/catalogd/features"
6261 "github.com/operator-framework/operator-controller/internal/catalogd/garbagecollection"
6362 catalogdmetrics "github.com/operator-framework/operator-controller/internal/catalogd/metrics"
6463 "github.com/operator-framework/operator-controller/internal/catalogd/serverutil"
65- "github.com/operator-framework/operator-controller/internal/catalogd/source"
6664 "github.com/operator-framework/operator-controller/internal/catalogd/storage"
65+ "github.com/operator-framework/operator-controller/internal/catalogd/webhook"
6766 fsutil "github.com/operator-framework/operator-controller/internal/shared/util/fs"
67+ imageutil "github.com/operator-framework/operator-controller/internal/shared/util/image"
6868 "github.com/operator-framework/operator-controller/internal/shared/version"
6969)
7070
@@ -177,7 +177,8 @@ func main() {
177177
178178 cw , err := certwatcher .New (certFile , keyFile )
179179 if err != nil {
180- log .Fatalf ("Failed to initialize certificate watcher: %v" , err )
180+ setupLog .Error (err , "failed to initialize certificate watcher" )
181+ os .Exit (1 )
181182 }
182183
183184 tlsOpts := func (config * tls.Config ) {
@@ -273,14 +274,16 @@ func main() {
273274 os .Exit (1 )
274275 }
275276
276- unpackCacheBasePath := filepath .Join (cacheDir , source . UnpackCacheDir )
277+ unpackCacheBasePath := filepath .Join (cacheDir , "unpack" )
277278 if err := os .MkdirAll (unpackCacheBasePath , 0770 ); err != nil {
278279 setupLog .Error (err , "unable to create cache directory for unpacking" )
279280 os .Exit (1 )
280281 }
281- unpacker := & source.ContainersImageRegistry {
282- BaseCachePath : unpackCacheBasePath ,
283- SourceContextFunc : func (logger logr.Logger ) (* types.SystemContext , error ) {
282+
283+ imageCache := imageutil .CatalogCache (unpackCacheBasePath )
284+ imagePuller := & imageutil.ContainersImagePuller {
285+ SourceCtxFunc : func (ctx context.Context ) (* types.SystemContext , error ) {
286+ logger := log .FromContext (ctx )
284287 srcContext := & types.SystemContext {
285288 DockerCertPath : pullCasDir ,
286289 OCICertPath : pullCasDir ,
@@ -334,9 +337,10 @@ func main() {
334337 }
335338
336339 if err = (& corecontrollers.ClusterCatalogReconciler {
337- Client : mgr .GetClient (),
338- Unpacker : unpacker ,
339- Storage : localStorage ,
340+ Client : mgr .GetClient (),
341+ ImageCache : imageCache ,
342+ ImagePuller : imagePuller ,
343+ Storage : localStorage ,
340344 }).SetupWithManager (mgr ); err != nil {
341345 setupLog .Error (err , "unable to create controller" , "controller" , "ClusterCatalog" )
342346 os .Exit (1 )
0 commit comments