Skip to content

Commit

Permalink
update protocol & update zip params
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-hajek committed Jun 9, 2020
1 parent 6b35b17 commit b9226c4
Show file tree
Hide file tree
Showing 15 changed files with 1,068 additions and 964 deletions.
2 changes: 1 addition & 1 deletion cmd/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func deployCmd() *cobra.Command {
HttpTimeout: time.Minute * 15,
})

zipClient := zipClient.New(zipClient.Config{})
zipClient := zipClient.New(zipClient.Config{}, logger)

return deploy.New(
deploy.Config{},
Expand Down
2 changes: 1 addition & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func ExecuteRootCmd(builtinToken string) {
}
}

func regSignals(contextCancel func(), logger *loggerPackage.Handler) {
func regSignals(contextCancel func(), logger loggerPackage.Logger) {
sigs := make(chan os.Signal, 1)

signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
Expand Down
4 changes: 2 additions & 2 deletions src/command/deploy/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ type Handler struct {
config Config
httpClient *httpClient.Handler
zipClient *zipClient.Handler
logger *logger.Handler
logger logger.Logger
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient
}

func New(
config Config,
httpClient *httpClient.Handler,
zipClient *zipClient.Handler,
logger *logger.Handler,
logger logger.Logger,
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient,
) *Handler {
return &Handler{
Expand Down
1 change: 0 additions & 1 deletion src/command/deploy/handler_run.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ func (h *Handler) Run(ctx context.Context, config RunConfig) error {
}
serviceStack := serviceStackResponse.GetOutput()

h.logger.Debug("service name: " + serviceStack.GetName())
h.logger.Debug("service status: " + serviceStack.GetStatus().String())

temporaryShutdown := false
Expand Down
4 changes: 2 additions & 2 deletions src/command/login/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ type RunConfig struct {

type Handler struct {
config Config
logger *logger.Handler
logger logger.Logger
storage *storage.Handler
httpClient *httpClient.Handler
}

func New(
config Config,
logger *logger.Handler,
logger logger.Logger,
storage *storage.Handler,
httpClient *httpClient.Handler,
) *Handler {
Expand Down
4 changes: 2 additions & 2 deletions src/command/startVpn/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ type RunConfig struct {

type Handler struct {
config Config
logger *logger.Handler
logger logger.Logger
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient
sudoers *sudoers.Handler
storage *storage.Handler
}

func New(
config Config,
logger *logger.Handler,
logger logger.Logger,
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient,
sudoers *sudoers.Handler,
storage *storage.Handler,
Expand Down
4 changes: 2 additions & 2 deletions src/command/stopVpn/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ type RunConfig struct {

type Handler struct {
config Config
logger *logger.Handler
logger logger.Logger
sudoers *sudoers.Handler
storage *storage.Handler
}

func New(
config Config,
logger *logger.Handler,
logger logger.Logger,
sudoers *sudoers.Handler,
storage *storage.Handler,
) *Handler {
Expand Down
8 changes: 8 additions & 0 deletions src/service/logger/interface.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package logger

type Logger interface {
Info(a ...interface{})
Warning(a ...interface{})
Error(a ...interface{})
Debug(a ...interface{})
}
4 changes: 2 additions & 2 deletions src/service/params/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ import (
)

type Handler struct {
logger *loggerPackage.Handler
logger loggerPackage.Logger
storage *storage.Handler

params map[string]interface{}
viper *viper.Viper
}

func New(
logger *loggerPackage.Handler,
logger loggerPackage.Logger,
storage *storage.Handler,
) *Handler {
return &Handler{
Expand Down
52 changes: 40 additions & 12 deletions src/service/zipClient/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,68 @@ import (
"path"
"path/filepath"
"strings"

"github.com/zerops-io/zcli/src/service/logger"
)

type Config struct {
}

type Handler struct {
config Config
logger logger.Logger
}

func New(config Config) *Handler {
func New(config Config, logger logger.Logger) *Handler {
return &Handler{
config: config,
logger: logger,
}
}

func (h *Handler) Zip(w io.Writer, workingDir string, sources ...string) error {
archive := zip.NewWriter(w)
defer archive.Close()

workingDir, err := filepath.Abs(workingDir)
if err != nil {
return err
}

h.logger.Info("working directory: " + workingDir)

for _, source := range sources {

parts := strings.Split(source, "*")
if len(parts) > 2 {
return errors.New("only one *(asterisk) is allowed")
}
source := path.Join(parts...)
if len(parts) == 1 {
parts = []string{
"", parts[0],
}
}

source := path.Join(workingDir, path.Join(parts...))
source, err := filepath.Abs(source)
if err != nil {
return err
}

trimPart := path.Join(workingDir, parts[0])

fileInfo, err := os.Lstat(source)
if err != nil {
return err
}

source = path.Join(workingDir, source)
if fileInfo.IsDir() {
h.logger.Info("packing directory: " + source)
} else {
h.logger.Info("packing file: " + source)
}

err := filepath.Walk(source, func(filePath string, info os.FileInfo, err error) error {
err = filepath.Walk(source, func(filePath string, info os.FileInfo, err error) error {
if err != nil {
return err
}
Expand All @@ -52,16 +84,12 @@ func (h *Handler) Zip(w io.Writer, workingDir string, sources ...string) error {
filePath += "/"
}

filePath = strings.TrimPrefix(filePath, workingDir)
filePath = strings.TrimPrefix(filePath, trimPart)

if len(parts) == 1 {
return filePath
} else {
if filePath == parts[0] {
return ""
}
return strings.TrimPrefix(filePath, parts[0])
if filePath == parts[0] {
return ""
}
return strings.TrimPrefix(filePath, parts[0])

}(filePath), "/")

Expand Down
28 changes: 26 additions & 2 deletions src/service/zipClient/test/zip_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var testErrorResponseDataProvider = []struct {
input []string
output []string
}{

{
name: "all",
workingDir: "./",
Expand Down Expand Up @@ -219,7 +220,9 @@ func TestValidation(t *testing.T) {
t.Run(test.name+" in "+test.workingDir, func(t *testing.T) {
RegisterTestingT(t)

ziper := zipClient.New(zipClient.Config{})
logger := debugLogger{}

ziper := zipClient.New(zipClient.Config{}, logger)

b := &bytes.Buffer{}
err := ziper.Zip(b, test.workingDir, test.input...)
Expand All @@ -243,7 +246,9 @@ func TestValidation(t *testing.T) {
func TestSymlink(t *testing.T) {
RegisterTestingT(t)

ziper := zipClient.New(zipClient.Config{})
logger := debugLogger{}

ziper := zipClient.New(zipClient.Config{}, &logger)

b := &bytes.Buffer{}
err := ziper.Zip(b, "var/www/", "dir/subDir/file3.3.symlink.txt")
Expand All @@ -262,3 +267,22 @@ func TestSymlink(t *testing.T) {
Expect(buf.String()).To(Equal("../file2.1.txt"))

}

type debugLogger struct {
}

func (d debugLogger) Info(a ...interface{}) {

}

func (d debugLogger) Warning(a ...interface{}) {

}

func (d debugLogger) Error(a ...interface{}) {

}

func (d debugLogger) Debug(a ...interface{}) {

}
Loading

0 comments on commit b9226c4

Please sign in to comment.