diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2019-11-11 16:03:16 -0500 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2020-05-03 22:12:08 -0400 |
| commit | 7ff174a86a935191a684f0c63f9e2a48058fabfb (patch) | |
| tree | 00f59ab63d0e581d821307df57abd5cb6f2986c0 /data/datasource.go | |
| parent | 8c8287777495dbb1e2b24e570db0bd504bf18372 (diff) | |
Support a config file to use instead of commandline arguments
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource.go')
| -rw-r--r-- | data/datasource.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/data/datasource.go b/data/datasource.go index 1fcccf98..456b5a12 100644 --- a/data/datasource.go +++ b/data/datasource.go @@ -16,6 +16,7 @@ import ( "github.com/pkg/errors" + "github.com/hairyhenderson/gomplate/v3/internal/config" "github.com/hairyhenderson/gomplate/v3/libkv" "github.com/hairyhenderson/gomplate/v3/vault" ) @@ -125,6 +126,29 @@ func NewData(datasourceArgs, headerArgs []string) (*Data, error) { return data, nil } +// FromConfig - internal use only! +func FromConfig(cfg *config.Config) *Data { + sources := map[string]*Source{} + for alias, d := range cfg.DataSources { + sources[alias] = &Source{ + Alias: alias, + URL: d.URL, + header: d.Header, + } + } + for alias, d := range cfg.Context { + sources[alias] = &Source{ + Alias: alias, + URL: d.URL, + header: d.Header, + } + } + return &Data{ + Sources: sources, + extraHeaders: cfg.ExtraHeaders, + } +} + // Source - a data source type Source struct { Alias string |
