@@ -23,24 +23,26 @@ type Provider interface {
2323type Option func (* Config )
2424
2525// New creates a new vault instance with the provided ID and options
26- func New (id string , opts ... Option ) (Provider , error ) {
26+ func New (id string , opts ... Option ) (Provider , * Config , error ) {
2727 config := & Config {ID : id }
2828 for _ , opt := range opts {
2929 opt (config )
3030 }
3131 if err := config .Validate (); err != nil {
32- return nil , err
32+ return nil , config , err
3333 }
3434
3535 switch config .Type {
3636 case ProviderTypeAge :
37- return NewAgeVault (config )
37+ provider , err := NewAgeVault (config )
38+ return provider , config , err
3839 case ProviderTypeAES256 :
39- return NewAES256Vault (config )
40+ provider , err := NewAES256Vault (config )
41+ return provider , config , err
4042 case ProviderTypeExternal :
41- return nil , fmt .Errorf ("external vault provider not implemented yet" )
43+ return nil , nil , fmt .Errorf ("external vault provider not implemented yet" )
4244 }
43- return nil , fmt .Errorf ("unsupported vault type: %s" , config .Type )
45+ return nil , nil , fmt .Errorf ("unsupported vault type: %s" , config .Type )
4446}
4547
4648// WithProvider sets the vault provider type
0 commit comments