diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2022-05-28 19:24:48 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2022-05-28 19:49:42 -0400 |
| commit | cec23e66f9bd5022845162ae4dd3f2633b5236fa (patch) | |
| tree | f5caf83d0c92ce80942b2e7ed5e184ffb69e3c2d /gomplate.go | |
| parent | e00015a86393e947757dea88cb82b328b35ad8b4 (diff) | |
General refactoring & cleanup
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'gomplate.go')
| -rw-r--r-- | gomplate.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gomplate.go b/gomplate.go index a036b392..91d1e026 100644 --- a/gomplate.go +++ b/gomplate.go @@ -26,7 +26,6 @@ type gomplate struct { tmplctx interface{} funcMap template.FuncMap nestedTemplates templateAliases - rootTemplate *template.Template leftDelim, rightDelim string } @@ -128,6 +127,14 @@ func Run(ctx context.Context, cfg *config.Config) error { Metrics = newMetrics() defer runCleanupHooks() + // reset defaults before validation + cfg.ApplyDefaults() + + err := cfg.Validate() + if err != nil { + return fmt.Errorf("failed to validate config: %w\n%+v", err, cfg) + } + d := data.FromConfig(ctx, cfg) log.Debug().Str("data", fmt.Sprintf("%+v", d)).Msg("created data from config") @@ -136,10 +143,16 @@ func Run(ctx context.Context, cfg *config.Config) error { if err != nil { return err } - c, err := createTmplContext(ctx, cfg.Context, d) + + aliases := []string{} + for k := range cfg.Context { + aliases = append(aliases, k) + } + c, err := createTmplContext(ctx, aliases, d) if err != nil { return err } + funcMap := CreateFuncs(ctx, d) err = bindPlugins(ctx, cfg, funcMap) if err != nil { |
