summaryrefslogtreecommitdiff
path: root/data/datasource.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2019-11-11 16:03:16 -0500
committerDave Henderson <dhenderson@gmail.com>2020-05-03 22:12:08 -0400
commit7ff174a86a935191a684f0c63f9e2a48058fabfb (patch)
tree00f59ab63d0e581d821307df57abd5cb6f2986c0 /data/datasource.go
parent8c8287777495dbb1e2b24e570db0bd504bf18372 (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.go24
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