github.com/replicatedhq/ship@v0.55.0/pkg/lifecycle/render/config/resolver.go (about)

     1  package config
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/go-kit/kit/log"
     7  	"github.com/replicatedhq/ship/pkg/api"
     8  	"github.com/replicatedhq/ship/pkg/lifecycle/daemon/daemontypes"
     9  )
    10  
    11  // Resolver is a thing that can resolve configuration options
    12  type Resolver interface {
    13  	ResolveConfig(context.Context, *api.Release, map[string]interface{}) (map[string]interface{}, error)
    14  }
    15  
    16  type NoOpResolver struct {
    17  }
    18  
    19  func (NoOpResolver) ResolveConfig(context.Context, *api.Release, map[string]interface{}) (map[string]interface{}, error) {
    20  	// todo load from state or something
    21  	return map[string]interface{}{}, nil
    22  }
    23  
    24  func NewNoOpResolver() Resolver {
    25  	return &NoOpResolver{}
    26  }
    27  func NewResolver(
    28  	logger log.Logger,
    29  	daemon daemontypes.Daemon,
    30  ) Resolver {
    31  	return &DaemonResolver{
    32  		Logger: logger,
    33  		Daemon: daemon,
    34  	}
    35  
    36  }