Skip to content

Commit

Permalink
add custom log package
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivan Vlasic committed Aug 18, 2021
1 parent 2aa0003 commit 51f27fb
Show file tree
Hide file tree
Showing 19 changed files with 149 additions and 57 deletions.
3 changes: 1 addition & 2 deletions cmd/mantil/cmd/bootstrap.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package cmd

import (
"log"

"github.com/atoz-technology/mantil-cli/internal/aws"
"github.com/atoz-technology/mantil-cli/internal/commands/bootstrap"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/manifoldco/promptui"
"github.com/spf13/cobra"
)
Expand Down
3 changes: 1 addition & 2 deletions cmd/mantil/cmd/deploy.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package cmd

import (
"log"

"github.com/atoz-technology/mantil-cli/internal/commands/deploy"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/spf13/cobra"
)

Expand Down
5 changes: 2 additions & 3 deletions cmd/mantil/cmd/destroy.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package cmd

import (
"log"

"github.com/atoz-technology/mantil-cli/internal/commands/destroy"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/manifoldco/promptui"
"github.com/spf13/cobra"
)
Expand All @@ -26,7 +25,7 @@ var destroyCmd = &cobra.Command{
log.Fatal(err)
}
if p.Name != projectName {
log.Fatal("Project name doesn't match, exiting...")
log.Fatalf("Project name doesn't match, exiting...")
}
if err := d.Destroy(); err != nil {
log.Fatal(err)
Expand Down
5 changes: 2 additions & 3 deletions cmd/mantil/cmd/generate.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package cmd

import (
"log"

"github.com/atoz-technology/mantil-cli/internal/commands/generate"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/spf13/cobra"
)

Expand All @@ -26,7 +25,7 @@ var generateApiCmd = &cobra.Command{
if err := generate.Api(name, methods); err != nil {
log.Fatal(err)
}
log.Printf("successfuly generated api %s", name)
log.Notice("successfuly generated api %s", name)
},
}

Expand Down
3 changes: 1 addition & 2 deletions cmd/mantil/cmd/init.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package cmd

import (
"log"

"github.com/atoz-technology/mantil-cli/internal/commands/initialize"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/manifoldco/promptui"
"github.com/spf13/cobra"
)
Expand Down
3 changes: 2 additions & 1 deletion cmd/mantil/cmd/invoke.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package cmd

import (
"fmt"
"log"

"github.com/atoz-technology/mantil-cli/internal/log"

"github.com/atoz-technology/mantil-cli/internal/commands/invoke"
"github.com/spf13/cobra"
Expand Down
13 changes: 12 additions & 1 deletion cmd/mantil/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@ package cmd

import (
"fmt"
"log"
"os"

"github.com/atoz-technology/mantil-cli/internal/aws"
"github.com/atoz-technology/mantil-cli/internal/commands"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/atoz-technology/mantil-cli/internal/mantil"
"github.com/spf13/cobra"

"github.com/spf13/viper"
)

var cfgFile string
var verbose bool
var noColor bool

// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
Expand All @@ -38,6 +40,8 @@ func init() {
// will be global for your application.

rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.mantil.yaml)")
rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Verbose log output")
rootCmd.PersistentFlags().BoolVar(&noColor, "no-color", false, "Use color in log output")

// Cobra also supports local flags, which will only run
// when this action is called directly.
Expand All @@ -58,6 +62,13 @@ func initConfig() {
viper.AddConfigPath(home)
viper.SetConfigType("yaml")
viper.SetConfigName(".mantil")

if verbose {
log.EnableDebugLogLevel()
}
if noColor {
log.DisableColor()
}
}

viper.AutomaticEnv() // read in environment variables that match
Expand Down
9 changes: 4 additions & 5 deletions cmd/mantil/cmd/watch.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ package cmd

import (
"fmt"
"log"

"github.com/atoz-technology/mantil-cli/internal/commands/deploy"
"github.com/atoz-technology/mantil-cli/internal/commands/invoke"
"github.com/atoz-technology/mantil-cli/internal/commands/watch"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/spf13/cobra"
)

Expand Down Expand Up @@ -35,15 +35,14 @@ var watchCmd = &cobra.Command{
}

watch.Start(path, func() {
log.Println("changes detected - starting deploy")
log.Info("changes detected - starting deploy")
if err := d.Deploy(); err != nil {
log.Fatal(err)
}
log.Println("deploy finished")
if method != "" {
log.Printf("invoking method %s", method)
log.Info("invoking method %s", method)
if err := invoke.Endpoint(endpoint, data, false, true); err != nil {
log.Print(err)
log.Error(err)
}
}
})
Expand Down
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/atoz-technology/mantil-cli
go 1.16

require (
github.com/atoz-technology/mantil.go v0.0.0-20210817105704-6e78931bfd8b
github.com/atoz-technology/mantil.go v0.0.0-20210817122804-7cf25a1a3823
github.com/aws/aws-lambda-go v1.26.0 // indirect
github.com/aws/aws-sdk-go-v2 v1.8.0
github.com/aws/aws-sdk-go-v2/config v1.6.0
Expand All @@ -16,6 +16,7 @@ require (
github.com/containerd/containerd v1.5.4 // indirect
github.com/docker/docker v20.10.7+incompatible
github.com/docker/go-connections v0.4.0 // indirect
github.com/fatih/color v1.12.0 // indirect
github.com/go-git/go-git/v5 v5.4.2
github.com/google/go-github/v37 v37.0.0
github.com/klauspost/compress v1.13.4 // indirect
Expand Down
9 changes: 9 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ github.com/atoz-technology/mantil.go v0.0.0-20210817081122-a2170647f030 h1:wLKRP
github.com/atoz-technology/mantil.go v0.0.0-20210817081122-a2170647f030/go.mod h1:RECy+LSGU5Wt/XMcsCNC491FQirfr/hukmV59fOl/ZY=
github.com/atoz-technology/mantil.go v0.0.0-20210817105704-6e78931bfd8b h1:tIMtB0lqjRMlkQP0ybFNNFo2EcmgFH6ddswDcmv3A2U=
github.com/atoz-technology/mantil.go v0.0.0-20210817105704-6e78931bfd8b/go.mod h1:RECy+LSGU5Wt/XMcsCNC491FQirfr/hukmV59fOl/ZY=
github.com/atoz-technology/mantil.go v0.0.0-20210817122804-7cf25a1a3823 h1:YxJIoKD05mhxAxm3DDm36CC2VC20pWnE+K58dwAeQYQ=
github.com/atoz-technology/mantil.go v0.0.0-20210817122804-7cf25a1a3823/go.mod h1:RECy+LSGU5Wt/XMcsCNC491FQirfr/hukmV59fOl/ZY=
github.com/aws/aws-lambda-go v1.24.0 h1:bOMerM175hLqHLdF1Nonfv1NA20nTIatuC0HK8eMoYg=
github.com/aws/aws-lambda-go v1.24.0/go.mod h1:jJmlefzPfGnckuHdXX7/80O3BvUUi12XOkbv4w9SGLU=
github.com/aws/aws-lambda-go v1.26.0 h1:6ujqBpYF7tdZcBvPIccs98SpeGfrt/UOVEiexfNIdHA=
Expand Down Expand Up @@ -355,6 +357,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
Expand Down Expand Up @@ -598,9 +602,13 @@ github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
Expand Down Expand Up @@ -1048,6 +1056,7 @@ golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand Down
11 changes: 6 additions & 5 deletions internal/commands/bootstrap/bootstrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package bootstrap
import (
"context"
"fmt"
"log"
"os"

"github.com/atoz-technology/mantil-cli/internal/aws"
"github.com/atoz-technology/mantil-cli/internal/commands"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/atoz-technology/mantil.go/pkg/logs"
)

Expand Down Expand Up @@ -41,7 +41,7 @@ func (b *BootstrapCmd) Bootstrap(destroy bool) error {
}

func (b *BootstrapCmd) create() error {
log.Println("Creating bootstrap function...")
log.Info("Creating bootstrap function...")
roleARN, err := b.awsClient.CreateBootstrapRole(
bootstrapLambdaName,
bootstrapLambdaName,
Expand All @@ -62,7 +62,7 @@ func (b *BootstrapCmd) create() error {
if err != nil {
return fmt.Errorf("could not create bootstrap function - %v", err)
}
log.Println("Deploying backend infrastructure...")
log.Info("Deploying backend infrastructure...")
req := &BootstrapRequest{
Destroy: false,
}
Expand All @@ -76,18 +76,19 @@ func (b *BootstrapCmd) create() error {
if err := config.Save(); err != nil {
return fmt.Errorf("could not save backend config - %v", err)
}
log.Notice("setup successfully finished")
return nil
}

func (b *BootstrapCmd) destroy() error {
req := &BootstrapRequest{
Destroy: true,
}
log.Println("Destroying backend infrastructure...")
log.Info("Destroying backend infrastructure...")
if _, err := b.invokeBootstrapLambda(req); err != nil {
return fmt.Errorf("could not invoke bootstrap function - %v", err)
}
log.Println("Deleting bootstrap function...")
log.Info("Deleting bootstrap function...")
if err := b.awsClient.DeleteRole(bootstrapLambdaName); err != nil {
return err
}
Expand Down
24 changes: 13 additions & 11 deletions internal/commands/deploy/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"bytes"
"fmt"
"io/ioutil"
"log"
"os"
"path"
"path/filepath"
Expand All @@ -13,6 +12,7 @@ import (
"github.com/atoz-technology/mantil-cli/internal/aws"
"github.com/atoz-technology/mantil-cli/internal/commands"
"github.com/atoz-technology/mantil-cli/internal/docker"
"github.com/atoz-technology/mantil-cli/internal/log"
"github.com/atoz-technology/mantil-cli/internal/mantil"
"github.com/atoz-technology/mantil-cli/internal/shell"
"github.com/atoz-technology/mantil-cli/internal/util"
Expand Down Expand Up @@ -47,12 +47,13 @@ func (d *DeployCmd) Deploy() error {
return err
}
if len(functionUpdates) == 0 {
log.Printf("no function changes - nothing to deploy")
log.Info("no function changes - nothing to deploy")
return nil
}
if err = d.deployRequest(functionUpdates); err != nil {
return err
}
log.Notice("deploy successfully finished")
return nil
}

Expand Down Expand Up @@ -114,7 +115,7 @@ func (d *DeployCmd) localFunctions() ([]string, error) {
func (d *DeployCmd) processAddedFunctions(localFuncs []string) []string {
addedFunctions := d.addedFunctions(localFuncs)
if len(addedFunctions) > 0 {
log.Printf("added - %s", strings.Join(addedFunctions, ","))
log.Debug("added - %s", strings.Join(addedFunctions, ","))
for _, af := range addedFunctions {
d.project.AddFunction(mantil.Function{Name: af})
}
Expand Down Expand Up @@ -144,7 +145,7 @@ func (d *DeployCmd) addedFunctions(localFuncs []string) []string {
func (d *DeployCmd) processRemovedFunctions(localFuncs []string) []string {
removedFunctions := d.removedFunctions(localFuncs)
if len(removedFunctions) > 0 {
log.Printf("removed - %s", strings.Join(removedFunctions, ","))
log.Debug("removed - %s", strings.Join(removedFunctions, ","))
for _, rf := range removedFunctions {
d.project.RemoveFunction(rf)
}
Expand Down Expand Up @@ -180,32 +181,33 @@ func (d *DeployCmd) prepareFunctionsForDeploy() []mantil.Function {
isImage := d.isFunctionImage(funcDir)

if err := d.buildFunction(BinaryName, funcDir); err != nil {
log.Printf("skipping function %s due to error while building - %v", f.Name, err)
log.Errorf("skipping function %s due to error while building - %v", f.Name, err)
continue
}
binaryPath := path.Join(funcDir, BinaryName)
hash, err := util.FileHash(binaryPath)
if err != nil {
log.Printf("skipping function %s due to error while calculating binary hash - %v", f.Name, err)
log.Errorf("skipping function %s due to error while calculating binary hash - %v", f.Name, err)
continue
}

if hash != f.Hash {
f.Hash = hash

if isImage {
log.Printf("Dockerfile found - creating function %s as image package type", f.Name)
log.Debug("Dockerfile found - creating function %s as image package type", f.Name)
image, err := docker.ProcessFunctionImage(d.aws, f, mantil.ProjectIdentifier(d.project.Name), funcDir)
if err != nil {
log.Printf("skipping function %s due to error while processing docker image - %v", f.Name, err)
log.Errorf("skipping function %s due to error while processing docker image - %v", f.Name, err)
continue
}
f.SetImageKey(image)
} else {
log.Printf("creating function %s as zip package type", f.Name)
log.Debug("creating function %s as zip package type", f.Name)
f.SetS3Key(fmt.Sprintf("functions/%s-%s.zip", f.Name, f.Hash))
log.Debug("uploading function %s to s3", f.Name)
if err := d.uploadBinaryToS3(f.S3Key, binaryPath); err != nil {
log.Printf("skipping function %s due to error while processing s3 file", err)
log.Errorf("skipping function %s due to error while processing s3 file - %v", f.Name, err)
continue
}
}
Expand All @@ -227,7 +229,7 @@ func (d *DeployCmd) isFunctionImage(funcDir string) bool {
return false
}
if err != nil {
log.Printf("could not detect if Dockerfile exists - processing function as zip package type")
log.Debug("could not detect if Dockerfile exists - processing function as zip package type")
return false
}
return true
Expand Down
Loading

0 comments on commit 51f27fb

Please sign in to comment.