From 8f6c7d558322f87aa6fcaa90d72b652ea93e7e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ota=CC=81vio=20Fernandes?= Date: Sun, 7 Apr 2019 12:41:47 +0200 Subject: [PATCH] Checking for environment variable config. --- pkg/vault-handler/upload.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkg/vault-handler/upload.go b/pkg/vault-handler/upload.go index 994f0b4..da0736b 100644 --- a/pkg/vault-handler/upload.go +++ b/pkg/vault-handler/upload.go @@ -1,6 +1,9 @@ package vaulthandler import ( + "fmt" + "os" + log "github.com/sirupsen/logrus" ) @@ -19,9 +22,19 @@ func (u *Upload) Prepare(logger *log.Entry, group, secretType, vaultPath string, logger.Info("Handling file") file := NewFile(group, secretType, &data, []byte{}) - if err = file.Read(u.inputDir); err != nil { - logger.Error("error on reading file", err) - return err + if data.FromEnv != "" { + logger.Infof("Reading payload from environment-variable '%s'", data.FromEnv) + payload := os.Getenv(data.FromEnv) + if payload == "" { + return fmt.Errorf("can't find environment variable '%s'", data.FromEnv) + } + file.Payload = []byte(payload) + } else { + logger.Infof("Reading payload from file-system.") + if err = file.Read(u.inputDir); err != nil { + logger.Error("error on reading file", err) + return err + } } if data.Zip { if err = file.Zip(); err != nil {