github.com/wolfi-dev/wolfictl@v0.16.11/pkg/configs/build/build.go (about)

     1  package build
     2  
     3  import (
     4  	"context"
     5  	"io/fs"
     6  
     7  	"chainguard.dev/melange/pkg/config"
     8  	"github.com/chainguard-dev/clog"
     9  	"github.com/wolfi-dev/wolfictl/pkg/configs"
    10  	"github.com/wolfi-dev/wolfictl/pkg/configs/rwfs"
    11  	"github.com/wolfi-dev/wolfictl/pkg/internal"
    12  )
    13  
    14  func NewIndex(ctx context.Context, fsys rwfs.FS) (*configs.Index[config.Configuration], error) {
    15  	return configs.NewIndex[config.Configuration](ctx, fsys, newConfigurationDecodeFunc(fsys))
    16  }
    17  
    18  func NewIndexFromPaths(ctx context.Context, fsys rwfs.FS, paths ...string) (*configs.Index[config.Configuration], error) {
    19  	return configs.NewIndexFromPaths[config.Configuration](ctx, fsys, newConfigurationDecodeFunc(fsys), paths...)
    20  }
    21  
    22  func newConfigurationDecodeFunc(fsys fs.FS) func(context.Context, string) (*config.Configuration, error) {
    23  	return func(ctx context.Context, path string) (*config.Configuration, error) {
    24  		ctx = clog.WithLogger(ctx, clog.NewLogger(internal.NopLogger()))
    25  		return config.ParseConfiguration(ctx, path, config.WithFS(fsys))
    26  	}
    27  }