grim/convey

Replace gomol with logrus

2019-05-16, Gary Kramlich
c79f87beb200
Parents 5bc9a946f2a9
Children bb8391f89664
Replace gomol with logrus
--- a/aws/ecr-get-login.go Wed May 15 22:20:00 2019 -0500
+++ b/aws/ecr-get-login.go Thu May 16 04:16:27 2019 -0500
@@ -17,10 +17,8 @@
package aws
import (
- "fmt"
-
- "github.com/aphistic/gomol"
"github.com/kballard/go-shellquote"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/docker"
@@ -36,7 +34,7 @@
// Execute runs the `aws ecr get-login` command and calls docker login with the
// results.
-func (ecr *ECRGetLogin) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (ecr *ECRGetLogin) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
cmd := command.NewGenerator("aws", "ecr", "get-login")
@@ -47,11 +45,7 @@
stdout, stderr, err := command.RunOutput(name, cmd.Command(), rt.State.PlanTimeout)
if err != nil {
- nErr := logger.Warnf("error: %s", stderr)
- if nErr != nil {
- fmt.Printf("error writing warning: %s\n", nErr)
- err = nErr
- }
+ logger.Warnf("error: %s", stderr)
return err
}
--- a/command/collector.go Wed May 15 22:20:00 2019 -0500
+++ b/command/collector.go Thu May 16 04:16:27 2019 -0500
@@ -18,20 +18,17 @@
import (
"bufio"
- "fmt"
"sync"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
)
type collector func(s *bufio.Scanner)
-func newLogCollector(adapter *gomol.LogAdapter, level gomol.LogLevel) collector {
+func newLogCollector(adapter *log.Entry, level log.Level) collector {
return func(s *bufio.Scanner) {
for s.Scan() {
- if lErr := adapter.Log(level, nil, s.Text()); lErr != nil {
- fmt.Printf("error reporting %s: %s\n", level.String(), lErr)
- }
+ adapter.Log(level, nil, s.Text())
}
}
}
--- a/command/command.go Wed May 15 22:20:00 2019 -0500
+++ b/command/command.go Thu May 16 04:16:27 2019 -0500
@@ -24,8 +24,9 @@
"sync"
"time"
+ log "github.com/sirupsen/logrus"
+
"bitbucket.org/rw_grim/convey/logging"
- "github.com/aphistic/gomol"
)
// Run runs the command specified in cmdTemplate which is rendered with the
@@ -33,8 +34,8 @@
func Run(name string, cmdv []string, timeout time.Duration) error {
var (
logger = logging.NewAdapter(name)
- outCollector = newLogCollector(logger, gomol.LevelInfo)
- errCollector = newLogCollector(logger, gomol.LevelError)
+ outCollector = newLogCollector(logger, log.InfoLevel)
+ errCollector = newLogCollector(logger, log.ErrorLevel)
)
return run(name, cmdv, timeout, outCollector, errCollector)
@@ -59,9 +60,7 @@
func run(name string, cmdv []string, timeout time.Duration, outHandler, errHandler collector) error {
logger := logging.NewAdapter(name)
- if lErr := logger.Debugf("running command \"%v\"", cmdv); lErr != nil {
- fmt.Printf("error reporting debug: %s\n", lErr)
- }
+ logger.Debugf("running command \"%v\"", cmdv)
cmd := exec.Command(cmdv[0], cmdv[1:]...) // nolint: gas
@@ -97,9 +96,7 @@
}
// log that the process timed out
- if lErr := logger.Errorf("command %v timed out after %v", cmdv, timeout); lErr != nil {
- fmt.Printf("error reporting error: %s\n", lErr)
- }
+ logger.Errorf("command %v timed out after %v", cmdv, timeout)
})
}
--- a/docker/build.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/build.go Thu May 16 04:16:27 2019 -0500
@@ -20,7 +20,7 @@
"os"
"path/filepath"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
@@ -41,7 +41,7 @@
}
// Execute runs the docker build command
-func (b *Build) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (b *Build) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
// create out build directory
--- a/docker/environment.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/environment.go Thu May 16 04:16:27 2019 -0500
@@ -23,7 +23,7 @@
"path/filepath"
"strings"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -40,7 +40,7 @@
}
// Execute runs the environment task.
-func (e *Environment) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (e *Environment) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := environment.New().Merge(env)
fullEnv.Merge(rt.Environment)
--- a/docker/healthcheck.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/healthcheck.go Thu May 16 04:16:27 2019 -0500
@@ -17,11 +17,10 @@
package docker
import (
- "fmt"
"strings"
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/runtime"
)
@@ -35,7 +34,7 @@
Timeout time.Duration `yaml:"timeout"`
}
-func containerHasHealthCheck(name, cid string, rt *runtime.Runtime, logger *gomol.LogAdapter) (bool, error) {
+func containerHasHealthCheck(name, cid string, rt *runtime.Runtime, logger *log.Entry) (bool, error) {
cmdv := []string{
"inspect",
"-f",
@@ -45,9 +44,7 @@
stdout, stderr, err := DockerOutput(name+"/healthcheck", cmdv, rt)
if err != nil {
- if nErr := logger.Error(stderr); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Error(stderr)
return false, err
}
@@ -59,7 +56,7 @@
return false, nil
}
-func containerIsHealthy(name, cid string, rt *runtime.Runtime, logger *gomol.LogAdapter) (bool, error) {
+func containerIsHealthy(name, cid string, rt *runtime.Runtime, logger *log.Entry) (bool, error) {
cmdv := []string{
"inspect",
"-f",
@@ -69,9 +66,7 @@
stdout, stderr, err := DockerOutput(name+"/healthcheck", cmdv, rt)
if err != nil {
- if nErr := logger.Error(stderr); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Error(stderr)
return false, err
}
--- a/docker/import.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/import.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/path"
@@ -33,7 +33,7 @@
}
// Execute runs the import task.
-func (i *Import) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (i *Import) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
files, err := fullEnv.MapSlice(i.Files)
--- a/docker/login.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/login.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
@@ -33,7 +33,7 @@
}
// Execute runs the login task.
-func (l *Login) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (l *Login) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
username := fullEnv.Map(l.Username)
--- a/docker/logout.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/logout.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
@@ -31,7 +31,7 @@
}
// Execute runs the logout task.
-func (l *Logout) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (l *Logout) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
server := fullEnv.Map(l.Server)
--- a/docker/network.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/network.go Thu May 16 04:16:27 2019 -0500
@@ -17,10 +17,9 @@
package docker
import (
- "fmt"
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/logging"
"bitbucket.org/rw_grim/convey/runtime"
@@ -31,7 +30,7 @@
type Network struct {
name string
- logger *gomol.LogAdapter
+ logger *log.Entry
rt *runtime.Runtime
}
@@ -50,10 +49,7 @@
return nil, err
}
- err = network.logger.Debugf("created network: %#v", network.name)
- if err != nil {
- fmt.Printf("error reporting debug: %s\n", err)
- }
+ network.logger.Debugf("created network: %#v", network.name)
return network, nil
}
@@ -74,25 +70,18 @@
name,
}
- err := network.logger.Infof("disconnecting container %s from network %s", name, network.Name())
- if err != nil {
- return err
- }
+ network.logger.Infof("disconnecting container %s from network %s", name, network.Name())
- err = Docker("disconnect container", cmdv, network.rt)
+ err := Docker("disconnect container", cmdv, network.rt)
if err != nil {
msgFmt := "failed to disconnect container %s from network %s"
- if lErr := network.logger.Warningf(msgFmt, name, network.Name()); lErr != nil {
- fmt.Printf("error reporting warning: %s\n", lErr)
- }
+ network.logger.Warningf(msgFmt, name, network.Name())
continue
}
msgFmt := "disconnected container %s from network %s"
- if lErr := network.logger.Infof(msgFmt, name, network.Name()); lErr != nil {
- fmt.Printf("error report info: %s\n", lErr)
- }
+ network.logger.Infof(msgFmt, name, network.Name())
}
// monkey with the timeout so our cleanup always runs
--- a/docker/pull.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/pull.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -33,7 +33,7 @@
}
// Execute runs the pull task.
-func (p *Pull) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (p *Pull) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
images, err := fullEnv.MapSlice(p.Images)
--- a/docker/push.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/push.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -32,7 +32,7 @@
}
// Execute runs the push task.
-func (p *Push) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (p *Push) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
images, err := fullEnv.MapSlice(p.Images)
--- a/docker/remove.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/remove.go Thu May 16 04:16:27 2019 -0500
@@ -19,7 +19,7 @@
import (
"strings"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -35,7 +35,7 @@
}
// Execute runs the remove task.
-func (r *Remove) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (r *Remove) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
images, err := fullEnv.MapSlice(r.Images)
--- a/docker/run.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/run.go Thu May 16 04:16:27 2019 -0500
@@ -25,7 +25,7 @@
"strings"
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
@@ -112,42 +112,29 @@
}
// detach will run the container detached
-func (r *Run) detach(name string, cmdv []string, rt *runtime.Runtime, logger *gomol.LogAdapter) error {
+func (r *Run) detach(name string, cmdv []string, rt *runtime.Runtime, logger *log.Entry) error {
stdout, stderr, err := DockerOutput(name, cmdv, rt)
if err != nil {
- if nErr := logger.Errorf("%s", stderr); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Errorf("%s", stderr)
return err
}
cid := strings.TrimSpace(stdout)
- rt.Cleanup(func(logger *gomol.LogAdapter) {
- if nErr := logger.Debugf("stopping container %s", cid); nErr != nil {
- fmt.Printf("error reporting debug: %s\n", nErr)
- }
+ rt.Cleanup(func(logger *log.Entry) {
+ logger.Debugf("stopping container %s", cid)
err = StopContainer(cid, logger, rt)
if err != nil {
- if nErr := logger.Warnf("failed to stop container %s: %s", cid, err.Error()); nErr != nil {
- fmt.Printf("error reporting warning: %s\n", nErr)
- }
+ logger.Warnf("failed to stop container %s: %s", cid, err.Error())
} else {
- if nErr := logger.Infof("stopped container %s", cid); nErr != nil {
- fmt.Printf("error reporting info: %s\n", nErr)
- }
+ logger.Infof("stopped container %s", cid)
}
})
- if nErr := logger.Infof("started detached container %s", cid); nErr != nil {
- fmt.Printf("error reporting info: %s\n", nErr)
- }
-
- if nErr := logger.Infof("checking for healthcheck"); nErr != nil {
- fmt.Printf("error reporting info: %s\n", nErr)
- }
+ logger.Infof("started detached container %s", cid)
+ logger.Infof("checking for healthcheck")
// check if the container has a health check
hasHealth, err := containerHasHealthCheck(name, cid, rt, logger)
@@ -158,9 +145,7 @@
if hasHealth {
healthChan := make(chan error)
- if nErr := logger.Infof("waiting for container to go healthy"); nErr != nil {
- fmt.Printf("error reporting info: %s\n", nErr)
- }
+ logger.Infof("waiting for container to go healthy")
go func() {
duration := 5 * time.Second
@@ -176,9 +161,7 @@
healthChan <- nil
}
- if nErr := logger.Infof("container still not healthy, waiting %v", duration); nErr != nil {
- fmt.Printf("error reporting info: %s\n", nErr)
- }
+ logger.Infof("container still not healthy, waiting %v", duration)
time.Sleep(duration)
}
@@ -189,13 +172,9 @@
return err
}
- if lErr := logger.Infof("container is ready"); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Infof("container is ready")
} else {
- if lErr := logger.Infof("no healthcheck found"); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Infof("no healthcheck found")
}
return nil
@@ -229,7 +208,7 @@
}
// Execute runs the run task.
-func (r *Run) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (r *Run) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().MergeSlice(r.Environment).Merge(rt.Environment)
// expand the environment
@@ -302,9 +281,7 @@
}
stdout, stderr, nErr := DockerOutput("checkWorkDir", cmdv, rt)
if nErr != nil {
- if lErr := logger.Errorf("%s", stderr); lErr != nil {
- fmt.Printf("error reporting error: %s\n", lErr)
- }
+ logger.Errorf("%s", stderr)
return nErr
}
@@ -406,9 +383,7 @@
cmd.Append(commandArg)
}
- if lErr := logger.Infof("running container with id %s", runID); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Infof("running container with id %s", runID)
//
// Everything after this should be mostly dead code
--- a/docker/tag.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/tag.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package docker
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -33,7 +33,7 @@
}
// Execute runs the execute task.
-func (t *Tag) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (t *Tag) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
source := fullEnv.Map(t.Source)
--- a/docker/util.go Wed May 15 22:20:00 2019 -0500
+++ b/docker/util.go Thu May 16 04:16:27 2019 -0500
@@ -17,10 +17,9 @@
package docker
import (
- "fmt"
"strings"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/runtime"
)
@@ -50,7 +49,7 @@
}
// StopContainer will call 'docker stop' on the given container id
-func StopContainer(cid string, logger *gomol.LogAdapter, rt *runtime.Runtime) error {
+func StopContainer(cid string, logger *log.Entry, rt *runtime.Runtime) error {
cmdv := []string{"stop", cid}
_, stderr, err := DockerOutput("stop container", cmdv, rt)
@@ -59,23 +58,19 @@
}
if stderr != "" {
- if lErr := logger.Warnf("%s", strings.TrimSpace(stderr)); lErr != nil {
- fmt.Printf("error reporting warning: %s\n", lErr)
- }
+ logger.Warnf("%s", strings.TrimSpace(stderr))
}
return nil
}
// ImageID will return the ID of the given image if it's available locally
-func ImageID(tag string, logger *gomol.LogAdapter, rt *runtime.Runtime) (string, error) {
+func ImageID(tag string, logger *log.Entry, rt *runtime.Runtime) (string, error) {
cmdv := []string{"image", "ls", "-q", tag}
stdout, stderr, err := DockerOutput("get image id", cmdv, rt)
if err != nil {
- if lErr := logger.Errorf("error: %s", stderr); lErr != nil {
- fmt.Printf("error reporting error: %s\n", lErr)
- }
+ logger.Errorf("error: %s", stderr)
return "", err
}
--- a/go.mod Wed May 15 22:20:00 2019 -0500
+++ b/go.mod Thu May 16 04:16:27 2019 -0500
@@ -5,18 +5,27 @@
github.com/alecthomas/kingpin v2.2.6+incompatible
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc // indirect
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf // indirect
- github.com/aphistic/gomol v0.0.0-20190314031446-1546845ba714
- github.com/aphistic/gomol-console v0.0.0-20180111152223-9fa1742697a8
+ github.com/aphistic/sweet-junit v0.0.0-20190314030539-8d7e248096c2 // indirect
github.com/blang/semver v3.5.1+incompatible
github.com/davecgh/go-spew v1.1.1
github.com/emirpasic/gods v1.12.0
github.com/go-yaml/yaml v2.1.0+incompatible
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
+ github.com/kr/pretty v0.1.0 // indirect
+ github.com/mattn/go-isatty v0.0.7 // indirect
github.com/mattn/go-zglob v0.0.1
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826
+ github.com/onsi/ginkgo v1.7.0 // indirect
+ github.com/onsi/gomega v1.4.3 // indirect
github.com/philopon/go-toposort v0.0.0-20170620085441-9be86dbd762f
github.com/satori/go.uuid v1.2.0
+ github.com/sirupsen/logrus v1.4.1
github.com/stretchr/testify v1.3.0
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c
+ golang.org/x/net v0.0.0-20181220203305-927f97764cc3 // indirect
+ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 // indirect
+ golang.org/x/sys v0.0.0-20190312061237-fead79001313 // indirect
+ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
+ gopkg.in/yaml.v2 v2.2.2 // indirect
)
--- a/go.sum Wed May 15 22:20:00 2019 -0500
+++ b/go.sum Thu May 16 04:16:27 2019 -0500
@@ -6,19 +6,8 @@
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a h1:2KLQMJ8msqoPHIPDufkxVcoTtcmE5+1sL9950m4R9Pk=
-github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE=
-github.com/aphistic/gomol v0.0.0-20190314031446-1546845ba714 h1:ml3df+ybkktxzxTLInLXEDqfoFQUMC8kQtdfv8iwI+M=
-github.com/aphistic/gomol v0.0.0-20190314031446-1546845ba714/go.mod h1:/wJ/Wijq31ktyhrvSuqh8KPiPEtJLKU/T4KwxmBYk2w=
-github.com/aphistic/gomol-console v0.0.0-20180111152223-9fa1742697a8 h1:tzgowv45TOFALtZLJ9y3k+krzOh2J8IkCvJ8T//6VAU=
-github.com/aphistic/gomol-console v0.0.0-20180111152223-9fa1742697a8/go.mod h1:3w1309L1wdWg0BwrcOnhJA06I0lm7G7wIhjGmqig4DM=
-github.com/aphistic/gomol-gelf v0.0.0-20170516042314-573e82a82082 h1:PgPqI/JnStmzwTof+PtT53Pz53dlrz2BmF7cn5CAwQM=
-github.com/aphistic/gomol-gelf v0.0.0-20170516042314-573e82a82082/go.mod h1:jaNu5/0CyDa/8+Y5rqU7H3+wX9cbAAuJtEU89/XLDoc=
-github.com/aphistic/gomol-json v1.1.0 h1:XJWwW8PxYOHf0f0FquuBWcgvZBvQ89nPxZsqQ9pfpro=
-github.com/aphistic/gomol-json v1.1.0/go.mod h1:wEOdY9oByrlQ4KEXY2wY3GvCWKoyIg7WeChslvrTkik=
github.com/aphistic/sweet v0.0.0-20180618201346-68e18ab55a67 h1:enhUz4F+39zbOQsM0rVTfqdg+p8HCeNWpr+5bk4RTvY=
github.com/aphistic/sweet v0.0.0-20180618201346-68e18ab55a67/go.mod h1:iggGz3Cujwru5rGKuOi4u1rfI+38suzhVVJj8Ey7Q3M=
-github.com/aphistic/sweet-junit v0.0.0-20171005212431-6b78f7014f7c/go.mod h1:+rEpaBMG7nKCTS5rjybTdJwqNG0ayGoPUm+sCPBgi9Y=
github.com/aphistic/sweet-junit v0.0.0-20190314030539-8d7e248096c2 h1:qDCG/a4+mCcRqj+QHTc1RNncar6rpg0oGz9ynH4IRME=
github.com/aphistic/sweet-junit v0.0.0-20190314030539-8d7e248096c2/go.mod h1:+eL69RqmiKF2Jm3poefxF/ZyVNGXFdSsPq3ScBFtX9s=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
@@ -26,10 +15,6 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/efritz/backoff v1.0.0 h1:r1DfNhA1J7p8kZ185J/hLPz2Bl5ezTicUr9KamEAOYw=
-github.com/efritz/backoff v1.0.0/go.mod h1:/tKomesOo7ekklUHEHxBbzNpjyBiOoiDCif3AcO+OIU=
-github.com/efritz/glock v0.0.0-20181228234553-f184d69dff2c h1:Q3HKbZogL9GGZVdO3PiVCOxZmRCsQAgV1xfelXJF/dY=
-github.com/efritz/glock v0.0.0-20181228234553-f184d69dff2c/go.mod h1:4behwg5YZ7amYrI5VDO/1s68YXZQHklcyFQpVDDgB2w=
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
@@ -38,21 +23,19 @@
github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
-github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc=
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
@@ -73,12 +56,13 @@
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -88,8 +72,8 @@
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313 h1:pczuHS43Cp2ktBEEmLwScxgjWsBSzdaQiKzUyf3DTTc=
--- a/kubectl/apply.go Wed May 15 22:20:00 2019 -0500
+++ b/kubectl/apply.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package kubectl
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -28,7 +28,7 @@
type Apply CRUDCommand
// Execute runs `kubectl apply` with the given arguments.
-func (a *Apply) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (a *Apply) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
cmd := &CRUDCommand{
Context: a.Context,
Namespace: a.Namespace,
--- a/kubectl/command.go Wed May 15 22:20:00 2019 -0500
+++ b/kubectl/command.go Thu May 16 04:16:27 2019 -0500
@@ -21,7 +21,7 @@
"os"
"path/filepath"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
@@ -40,7 +40,7 @@
}
// templateNone just copies files from the workspace into the scratch directory.
-func (c *CRUDCommand) templateNone(name, scratchDir string, cmd *command.Generator, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *CRUDCommand) templateNone(name, scratchDir string, cmd *command.Generator, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
// update the files we're going to run by joining them with our scratch directory
for _, file := range c.Files {
realFile := env.Map(file)
@@ -98,7 +98,7 @@
// templateEnvironment will copy files from the workspace into the scratch
// directory and replace environment variables with those that convey knows
// about.
-func (c *CRUDCommand) templateEnvironment(name, scratchDir string, cmd *command.Generator, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *CRUDCommand) templateEnvironment(name, scratchDir string, cmd *command.Generator, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
// run the normal export which we will update in place.
err := c.templateNone(name, scratchDir, cmd, logger, env, rt)
if err != nil {
@@ -134,7 +134,7 @@
}
// Execute runs the given `kubectl` command with the given arguments.
-func (c *CRUDCommand) Execute(name, action string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *CRUDCommand) Execute(name, action string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := env.Copy().Merge(rt.Environment)
// if we have a context use it
--- a/kubectl/context.go Wed May 15 22:20:00 2019 -0500
+++ b/kubectl/context.go Thu May 16 04:16:27 2019 -0500
@@ -19,14 +19,14 @@
import (
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/command"
"bitbucket.org/rw_grim/convey/environment"
)
// useContext calls `kubectl config use-context` for the given context
-func useContext(name, context string, logger *gomol.LogAdapter, env *environment.Environment, timeout time.Duration) error {
+func useContext(name, context string, logger *log.Entry, env *environment.Environment, timeout time.Duration) error {
realContext := env.Map(context)
cmdv := []string{"kubectl", "config", "use-context", realContext}
--- a/kubectl/create.go Wed May 15 22:20:00 2019 -0500
+++ b/kubectl/create.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package kubectl
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -28,7 +28,7 @@
type Create CRUDCommand
// Execute runs `kubectl create` with the given arguments.
-func (c *Create) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *Create) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
cmd := &CRUDCommand{
Context: c.Context,
Namespace: c.Namespace,
--- a/kubectl/delete.go Wed May 15 22:20:00 2019 -0500
+++ b/kubectl/delete.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package kubectl
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -28,7 +28,7 @@
type Delete CRUDCommand
// Execute runs `kubectl delete` with the given arguments.
-func (d *Delete) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (d *Delete) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
cmd := &CRUDCommand{
Context: d.Context,
Namespace: d.Namespace,
--- a/loaders/convey/convey.go Wed May 15 22:20:00 2019 -0500
+++ b/loaders/convey/convey.go Thu May 16 04:16:27 2019 -0500
@@ -23,10 +23,10 @@
"sort"
"strings"
- "github.com/aphistic/gomol"
"github.com/blang/semver"
"github.com/go-yaml/yaml"
toposort "github.com/philopon/go-toposort"
+ log "github.com/sirupsen/logrus"
cConfig "bitbucket.org/rw_grim/convey/config"
"bitbucket.org/rw_grim/convey/consts"
@@ -60,7 +60,7 @@
// Loader is a loader.Loader for loading convey.yml files.
type Loader struct {
- logger *gomol.LogAdapter
+ logger *log.Entry
defaultPlan string
depth int
fileLoader func(string, *Loader) (*cConfig.Config, error)
--- a/loaders/convey/tasks.go Wed May 15 22:20:00 2019 -0500
+++ b/loaders/convey/tasks.go Thu May 16 04:16:27 2019 -0500
@@ -20,14 +20,14 @@
"fmt"
"strings"
- "github.com/aphistic/gomol"
"github.com/go-yaml/yaml"
+ log "github.com/sirupsen/logrus"
cConfig "bitbucket.org/rw_grim/convey/config"
"bitbucket.org/rw_grim/convey/tasks"
)
-func loadLegacyTask(rawEngine, rawType string, logger *gomol.LogAdapter) (tasks.Task, error) {
+func loadLegacyTask(rawEngine, rawType string, logger *log.Entry) (tasks.Task, error) {
legacyEngine := "docker"
// there are only two intrinsic tasks, so check them first
@@ -38,15 +38,11 @@
// figure out the engine
if rawEngine != "" {
msg := "the engine attribute is deprecated and will be removed in a future version. Please update to the new type format as this format will be removed in a future version."
- if err := logger.Warn(msg); err != nil {
- fmt.Printf("error reporting warning: %s\n", err)
- }
+ logger.Warn(msg)
if rawEngine == "intrinsic" {
msg := "the intrinsic engine is deprecated, using convey instead"
- if err := logger.Warn(msg); err != nil {
- fmt.Printf("error reporting warning: %s\n", err)
- }
+ logger.Warn(msg)
rawEngine = "convey"
}
@@ -62,9 +58,7 @@
typeName := fmt.Sprintf("%s/%s", legacyEngine, legacyType)
msgFmt := "converted deprecated task format {engine: '%s', type: '%s'} to type %s. Please update to the new type format as this format will be removed in a future version."
- if err := logger.Warnf(msgFmt, rawEngine, rawType, typeName); err != nil {
- fmt.Printf("error reporting warning: %s\n", err)
- }
+ logger.Warnf(msgFmt, rawEngine, rawType, typeName)
task, ok := cConfig.TasksMap[typeName]
if !ok {
@@ -78,7 +72,7 @@
return task, nil
}
-func loadTask(name string, yamlTask yaml.MapSlice, logger *gomol.LogAdapter, disableDeprecated bool) (tasks.Task, error) {
+func loadTask(name string, yamlTask yaml.MapSlice, logger *log.Entry, disableDeprecated bool) (tasks.Task, error) {
// figure out the engine and type for the task
var (
rawEngine string
@@ -127,7 +121,7 @@
return realTask, nil
}
-func loadTasks(path string, raw map[string]yaml.MapSlice, logger *gomol.LogAdapter, disableDeprecated bool) (map[string]tasks.Task, error) {
+func loadTasks(path string, raw map[string]yaml.MapSlice, logger *log.Entry, disableDeprecated bool) (map[string]tasks.Task, error) {
realTasks := map[string]tasks.Task{}
for name, task := range raw {
--- a/logging/adapter.go Wed May 15 22:20:00 2019 -0500
+++ b/logging/adapter.go Thu May 16 04:16:27 2019 -0500
@@ -17,18 +17,16 @@
package logging
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/color"
)
-// NewAdapter creates a new gomol.LogAdapter with attributes for the identifier
+// NewAdapter creates a new logger with attributes for the identifier
// as well has a color for it.
-func NewAdapter(identifier string) *gomol.LogAdapter {
- attrs := gomol.NewAttrsFromMap(map[string]interface{}{
+func NewAdapter(identifier string) *log.Entry {
+ return log.WithFields(log.Fields{
"id": identifier,
"idColor": color.Ansi(identifier),
})
-
- return gomol.NewLogAdapter(attrs)
}
--- a/logging/logging.go Wed May 15 22:20:00 2019 -0500
+++ b/logging/logging.go Thu May 16 04:16:27 2019 -0500
@@ -20,8 +20,7 @@
import (
"os"
- "github.com/aphistic/gomol"
- "github.com/aphistic/gomol-console"
+ log "github.com/sirupsen/logrus"
)
var (
@@ -29,50 +28,34 @@
logColorTemplate = `{{.Timestamp.Format "2006-01-02 15:04:05.000"}} {{index .Attrs "idColor"}}{{index .Attrs "id"}}{{reset}}: {{color}}{{.Message}}{{reset}}`
)
-func setupConsole(color bool) (gomol.Logger, error) {
- cfg := gomolconsole.NewConsoleLoggerConfig()
- cfg.WarningWriter = os.Stderr
- cfg.ErrorWriter = os.Stderr
- cfg.FatalWriter = os.Stderr
+// Setup sets up the logging system based on the input parameters
+func Setup(color, verbose bool) {
+ log.SetOutput(os.Stdout)
- logger, err := gomolconsole.NewConsoleLogger(cfg)
- if err != nil {
- return nil, err
+ if verbose {
+ log.SetLevel(log.DebugLevel)
+ } else {
+ log.SetLevel(log.InfoLevel)
}
- template := logTemplate
- if color {
- template = logColorTemplate
+ fmt := &log.TextFormatter{
+ FullTimestamp: true,
}
- tpl, err := gomol.NewTemplate(template)
- if err != nil {
- return nil, err
- }
- err = logger.SetTemplate(tpl)
- if err != nil {
- return nil, err
+ if color {
+ switch os.Getenv("TERM") {
+ case "win":
+ fallthrough
+ case "dumb":
+ fmt.DisableColors = true
+ }
+ } else {
+ fmt.DisableColors = true
}
- return logger, nil
+ log.SetFormatter(fmt)
}
-// Setup sets up the logging system based on the input parameters
-func Setup(color, verbose bool) error {
- consoleLogger, err := setupConsole(color)
- if err != nil {
- return err
- }
-
- gomol.AddLogger(consoleLogger)
+func Shutdown() {
- if verbose {
- gomol.SetLogLevel(gomol.LevelDebug)
- } else {
- gomol.SetLogLevel(gomol.LevelInfo)
- }
-
- err = gomol.InitLoggers()
-
- return err
}
--- a/main.go Wed May 15 22:20:00 2019 -0500
+++ b/main.go Thu May 16 04:16:27 2019 -0500
@@ -24,7 +24,6 @@
"strings"
"github.com/alecthomas/kingpin"
- "github.com/aphistic/gomol"
"bitbucket.org/rw_grim/convey/config"
"bitbucket.org/rw_grim/convey/consts"
@@ -210,16 +209,8 @@
st := state.New()
// setup logging
- if err = logging.Setup(*color, *verbose); err != nil {
- fmt.Printf("failed to setup logging: %s\n", err)
- return 1
- }
- defer func() {
- e := gomol.ShutdownLoggers()
- if e != nil {
- fmt.Printf("error: %s\n", err)
- }
- }()
+ logging.Setup(*color, *verbose)
+ defer logging.Shutdown()
// create a logger to use now that logging is set up
logger := logging.NewAdapter("convey")
--- a/plans/plans.go Wed May 15 22:20:00 2019 -0500
+++ b/plans/plans.go Thu May 16 04:16:27 2019 -0500
@@ -22,7 +22,7 @@
"fmt"
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/docker"
"bitbucket.org/rw_grim/convey/environment"
@@ -45,39 +45,27 @@
Merge bool `yaml:"merge"`
}
-func (p *Plan) setup(logger *gomol.LogAdapter, rt *runtime.Runtime) error {
+func (p *Plan) setup(logger *log.Entry, rt *runtime.Runtime) error {
// create the network
- if lErr := logger.Info("creating network..."); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Info("creating network...")
network, err := docker.NewNetwork(rt)
if err != nil {
- if lErr := logger.Fatal("failed to create network"); lErr != nil {
- fmt.Printf("error reporting fatal: %s\n", lErr)
- }
+ logger.Fatal("failed to create network")
return err
}
rt.State.Network = network
- if lErr := logger.Infof("created network %s", rt.State.Network.Name()); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Infof("created network %s", rt.State.Network.Name())
- rt.Cleanup(func(logger *gomol.LogAdapter) {
- if lErr := logger.Infof("removing network %s", rt.State.Network.Name()); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ rt.Cleanup(func(logger *log.Entry) {
+ logger.Infof("removing network %s", rt.State.Network.Name())
if netErr := rt.State.Network.Destroy(); netErr != nil {
- if lErr := logger.Fatalf("failed to remove network %s: %s", rt.State.Network.Name(), netErr); lErr != nil {
- fmt.Printf("error reporting fatal: %s\n", lErr)
- }
+ logger.Fatalf("failed to remove network %s: %s", rt.State.Network.Name(), netErr)
} else {
- if lErr := logger.Infof("removed network %s", rt.State.Network.Name()); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ logger.Infof("removed network %s", rt.State.Network.Name())
}
})
@@ -103,15 +91,11 @@
stageLogger := logging.NewAdapter(absStageName)
if stage.ShouldRun(planErr) {
- if lErr := stageLogger.Info("stage starting"); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ stageLogger.Info("stage starting")
err := stage.Execute(absStageName, stageLogger, tasks, planEnv, rt)
if err != nil {
- if lErr := stageLogger.Fatal("stage failed"); lErr != nil {
- fmt.Printf("error reporting fatal: %s\n", lErr)
- }
+ stageLogger.Fatal("stage failed")
planErr = err
@@ -120,13 +104,9 @@
elapsed := time.Since(start)
rt.State.PlanTimeout -= elapsed
- if lErr := logger.Debugf("remaining plantime: %s", rt.State.PlanTimeout); lErr != nil {
- fmt.Printf("error reporting debug: %s\n", lErr)
- }
+ logger.Debugf("remaining plantime: %s", rt.State.PlanTimeout)
- if lErr := stageLogger.Infof("stage finished [%s]", elapsed.Round(10*time.Millisecond)); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ stageLogger.Infof("stage finished [%s]", elapsed.Round(10*time.Millisecond))
}
}
--- a/runners/convey.go Wed May 15 22:20:00 2019 -0500
+++ b/runners/convey.go Thu May 16 04:16:27 2019 -0500
@@ -17,8 +17,6 @@
package runners
import (
- "fmt"
-
"bitbucket.org/rw_grim/convey/config"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/logging"
@@ -36,25 +34,19 @@
if plan, found := cfg.Plans[planName]; found {
err := plan.Valid()
if err != nil {
- if nErr := logger.Errorf("%s", err); nErr != nil {
- fmt.Printf("error report error: %s\n", nErr)
- }
+ logger.Errorf("%s", err)
return 1
}
err = plan.Execute(planName, cfg.Tasks, environment.New(cfg.Environment...), rt)
if err != nil {
- if nErr := logger.Errorf("%s", err); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Errorf("%s", err)
return 1
}
} else {
- if nErr := logger.Fatalf("plan %s not found", planName); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Fatalf("plan %s not found", planName)
return 1
}
--- a/runners/graphviz.go Wed May 15 22:20:00 2019 -0500
+++ b/runners/graphviz.go Thu May 16 04:16:27 2019 -0500
@@ -214,9 +214,7 @@
// Load the template
tmpl, err := template.New("graphviz").Parse(graphvizTemplate)
if err != nil {
- if nErr := logger.Fatalf("error: %s", err); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Fatalf("error: %s", err)
return 1
}
@@ -225,9 +223,7 @@
output := new(bytes.Buffer)
err = tmpl.Execute(output, params)
if err != nil {
- if nErr := logger.Fatalf("error: %s", err); nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Fatalf("error: %s", err)
return 1
}
--- a/runtime/cleanup.go Wed May 15 22:20:00 2019 -0500
+++ b/runtime/cleanup.go Thu May 16 04:16:27 2019 -0500
@@ -22,8 +22,8 @@
"sync"
"syscall"
- "github.com/aphistic/gomol"
"github.com/emirpasic/gods/stacks/arraystack"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/logging"
)
@@ -43,7 +43,7 @@
}
// Add adds a function to the cleanup list.
-func (cl *cleanupList) Add(fn func(l *gomol.LogAdapter)) {
+func (cl *cleanupList) Add(fn func(l *log.Entry)) {
cl.mutex.Lock()
defer cl.mutex.Unlock()
@@ -59,7 +59,7 @@
it := cl.functions.Iterator()
for it.Next() {
- fn := it.Value().(func(*gomol.LogAdapter))
+ fn := it.Value().(func(*log.Entry))
fn(logger)
}
@@ -86,6 +86,6 @@
}
// Cleanup registers a function to be called when the state is being torn down.
-func (rt *Runtime) Cleanup(fn func(l *gomol.LogAdapter)) {
+func (rt *Runtime) Cleanup(fn func(l *log.Entry)) {
rt.cleanupList.Add(fn)
}
--- a/runtime/runtime.go Wed May 15 22:20:00 2019 -0500
+++ b/runtime/runtime.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package runtime
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/state"
@@ -42,7 +42,7 @@
Containers: NewContainers(),
}
- rt.cleanupList.Add(func(*gomol.LogAdapter) {
+ rt.cleanupList.Add(func(*log.Entry) {
st.Destroy()
})
--- a/stages/stages.go Wed May 15 22:20:00 2019 -0500
+++ b/stages/stages.go Thu May 16 04:16:27 2019 -0500
@@ -22,7 +22,7 @@
"strings"
"sync"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/logging"
@@ -86,7 +86,7 @@
}
// Execute runs the stage.
-func (s *Stage) Execute(path string, logger *gomol.LogAdapter, taskMap map[string]tasks.Task, env *environment.Environment, rt *runtime.Runtime) error {
+func (s *Stage) Execute(path string, logger *log.Entry, taskMap map[string]tasks.Task, env *environment.Environment, rt *runtime.Runtime) error {
stageEnv := environment.New(env.Items()...)
stageEnv.MergeSlice(s.Environment)
@@ -144,31 +144,23 @@
absTaskName := fmt.Sprintf("%s/%s", path, name)
taskLogger := logging.NewAdapter(fmt.Sprintf("%s/%s", path, name))
- if lErr := taskLogger.Info("starting"); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ taskLogger.Info("starting")
task, found := taskMap[name]
if !found {
- if lErr := taskLogger.Fatal("failed, task not found"); lErr != nil {
- fmt.Printf("error reporting fatal: %s\n", lErr)
- }
+ taskLogger.Fatal("failed, task not found")
return fmt.Errorf("task %s not found", absTaskName)
}
err := task.Execute(absTaskName, taskLogger, stageEnv, rt)
if err != nil {
- if lErr := taskLogger.Fatalf("failed, %s", err); lErr != nil {
- fmt.Printf("error reporting fatal: %s\n", lErr)
- }
+ taskLogger.Fatalf("failed, %s", err)
return err
}
- if lErr := taskLogger.Info("finished"); lErr != nil {
- fmt.Printf("error reporting info: %s\n", lErr)
- }
+ taskLogger.Info("finished")
return nil
}
--- a/state/state.go Wed May 15 22:20:00 2019 -0500
+++ b/state/state.go Thu May 16 04:16:27 2019 -0500
@@ -22,7 +22,7 @@
"os"
"time"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/logging"
"bitbucket.org/rw_grim/convey/network"
@@ -32,7 +32,7 @@
// State holds all of the runtime data during a run.
type State struct {
Directory string
- logger *gomol.LogAdapter
+ logger *log.Entry
CfgPath string
Network network.Network
--- a/tasks/clean.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/clean.go Thu May 16 04:16:27 2019 -0500
@@ -22,8 +22,8 @@
"path/filepath"
"strings"
- "github.com/aphistic/gomol"
"github.com/mattn/go-zglob"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -68,7 +68,7 @@
}
// Execute runs the clean task.
-func (c *Clean) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *Clean) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv := environment.New()
fullEnv.Merge(env)
fullEnv.Merge(rt.Environment)
@@ -101,10 +101,7 @@
return err
}
- nErr := logger.Debugf("removing \"%v\", expanded from \"%v\"", sanitized, pattern)
- if nErr != nil {
- fmt.Printf("error reporting error: %s\n", nErr)
- }
+ logger.Debugf("removing \"%v\", expanded from \"%v\"", sanitized, pattern)
if err := os.RemoveAll(sanitized); err != nil {
return err
--- a/tasks/export.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/export.go Thu May 16 04:16:27 2019 -0500
@@ -19,7 +19,7 @@
import (
"path/filepath"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/path"
@@ -46,7 +46,7 @@
}
// Executes the task
-func (e *Export) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (e *Export) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
for _, pattern := range e.Files {
src, dst := path.ParseFilePath("", pattern)
--- a/tasks/extend.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/extend.go Thu May 16 04:16:27 2019 -0500
@@ -19,8 +19,8 @@
import (
"fmt"
- "github.com/aphistic/gomol"
"github.com/mohae/deepcopy"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -42,7 +42,7 @@
}
// Execute runs an extended task.
-func (e *Extend) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (e *Extend) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
// While extending, certain environment variables can be expanded into
// lists. We store this meta information as a stack on the state, which
// is passed into the inner task execute method (and so on).
--- a/tasks/extend_test.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/extend_test.go Thu May 16 04:16:27 2019 -0500
@@ -19,7 +19,7 @@
import (
"testing"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"bitbucket.org/rw_grim/convey/environment"
@@ -37,7 +37,7 @@
env.MergeSlice([]string{"bar=bonk", "quux=honk"})
rt := runtime.NewWithEnvironment(&state.State{}, env)
- task.executeFn = func(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+ task.executeFn = func(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
fullEnv.Merge(env).MergeSlice([]string{"x=1", "foo=quux"}).Merge(rt.Environment)
return nil
}
@@ -139,18 +139,18 @@
C string
}
- executeFn func(string, *gomol.LogAdapter, *environment.Environment, *runtime.Runtime) error
+ executeFn func(string, *log.Entry, *environment.Environment, *runtime.Runtime) error
}
func newMockTask() *mockTask {
return &mockTask{
- executeFn: func(string, *gomol.LogAdapter, *environment.Environment, *runtime.Runtime) error {
+ executeFn: func(string, *log.Entry, *environment.Environment, *runtime.Runtime) error {
return nil
},
}
}
-func (t *mockTask) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (t *mockTask) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
return t.executeFn(name, logger, env, rt)
}
--- a/tasks/import.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/import.go Thu May 16 04:16:27 2019 -0500
@@ -20,7 +20,7 @@
"fmt"
"path/filepath"
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/path"
@@ -47,7 +47,7 @@
}
// Executes the task
-func (i *Import) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (i *Import) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
for _, pattern := range i.Files {
src, dst := path.ParseFilePath(rt.State.CfgPath, pattern)
--- a/tasks/noop.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/noop.go Thu May 16 04:16:27 2019 -0500
@@ -17,7 +17,7 @@
package tasks
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -27,7 +27,7 @@
type Noop struct{}
// Execute runs the noop task.
-func (c *Noop) Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error {
+func (c *Noop) Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error {
return nil
}
--- a/tasks/tasks.go Wed May 15 22:20:00 2019 -0500
+++ b/tasks/tasks.go Thu May 16 04:16:27 2019 -0500
@@ -18,7 +18,7 @@
package tasks
import (
- "github.com/aphistic/gomol"
+ log "github.com/sirupsen/logrus"
"bitbucket.org/rw_grim/convey/environment"
"bitbucket.org/rw_grim/convey/runtime"
@@ -37,7 +37,7 @@
// Task is an interface for defining a task that can be run.
type Task interface {
- Execute(name string, logger *gomol.LogAdapter, env *environment.Environment, rt *runtime.Runtime) error
+ Execute(name string, logger *log.Entry, env *environment.Environment, rt *runtime.Runtime) error
New() Task
Valid() error
}