diff options
Diffstat (limited to 'data/datasource_boltdb.go')
| -rw-r--r-- | data/datasource_boltdb.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/data/datasource_boltdb.go b/data/datasource_boltdb.go new file mode 100644 index 00000000..81682e04 --- /dev/null +++ b/data/datasource_boltdb.go @@ -0,0 +1,27 @@ +package data + +import ( + "github.com/hairyhenderson/gomplate/v3/libkv" + "github.com/pkg/errors" +) + +func readBoltDB(source *Source, args ...string) (data []byte, err error) { + if source.kv == nil { + source.kv, err = libkv.NewBoltDB(source.URL) + if err != nil { + return nil, err + } + } + + if len(args) != 1 { + return nil, errors.New("missing key") + } + p := args[0] + + data, err = source.kv.Read(p) + if err != nil { + return nil, err + } + + return data, nil +} |
