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 }