Skip to content

Commit

Permalink
Add upgrade flag + replace log (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
adelinag08 authored Mar 4, 2024
1 parent 80e2629 commit 20d5fbd
Show file tree
Hide file tree
Showing 24 changed files with 219 additions and 54 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [ windows, darwin, linux ]
os: [ darwin, linux ]
arch: [ amd64, arm64 ]
exclude:
- os: windows
arch: arm64
- os: darwin
arch: amd64
permissions:
Expand All @@ -44,7 +42,7 @@ jobs:
- name: Build
run: |
version=$(git describe --tags --abbrev=7)
go build -ldflags="-X 'github.com/SneaksAndData/snd-cli-go/blob/main/cmd/snd-cli/main.version=$version'" -o snd-${{ matrix.os }}-${{ matrix.arch }} ./cmd/snd-cli
go build -ldflags="-X 'github.com/SneaksAndData/snd-cli-go/blob/main/cmd/snd-cli/snd_cli_go.version=$version'" -o snd-${{ matrix.os }}-${{ matrix.arch }} ./cmd/snd-cli
- name: Import Secrets
uses: hashicorp/vault-action@v2.7.3
with:
Expand Down Expand Up @@ -93,6 +91,6 @@ jobs:
echo "Archiving application..."
./azcopy copy "snd-${{ matrix.os }}-${{ matrix.arch }}" $UPLOAD_URL --overwrite true --put-md5 --metadata "version=$version"
./azcopy copy "install.sh" $UPLOAD_URL --overwrite true --put-md5
./azcopy copy "scripts/install.sh" $UPLOAD_URL --overwrite true --put-md5
echo "Uploading binaries..."
7 changes: 3 additions & 4 deletions cmd/snd-cli/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ package main
import (
"fmt"
"os"
snd_cli_go "snd-cli"
"snd-cli/pkg/cmd/root"
)

var version = "v0.0.0"

func main() {
rootCmd, _ := root.NewCmdRoot()
rootCmd.Version = version
rootCmd.SetVersionTemplate(fmt.Sprintf("snd-cli version %s", version))
rootCmd.Version = snd_cli_go.Version
rootCmd.SetVersionTemplate(fmt.Sprintf("snd-cli version %s", snd_cli_go.Version))
err := rootCmd.Execute()
if err != nil {
fmt.Println("Error: ", err)
Expand Down
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ require (
github.com/stretchr/objx v0.5.0 // indirect
golang.org/x/crypto v0.17.0 // indirect
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect
golang.org/x/mod v0.15.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
Expand Down
6 changes: 6 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ github.com/SneaksAndData/esd-services-api-client-go v0.0.2 h1:MM/L0TiXSfIfcyrnbZ
github.com/SneaksAndData/esd-services-api-client-go v0.0.2/go.mod h1:StEYmGCRQ8IWA+UDcoMOTw/MpYmlFAfTTS15yeXy5Q4=
github.com/SneaksAndData/esd-services-api-client-go v0.0.3 h1:CPD5sgpVvhObgEMX/h989QkcsFGd9x8b/wUaks3bw2c=
github.com/SneaksAndData/esd-services-api-client-go v0.0.3/go.mod h1:StEYmGCRQ8IWA+UDcoMOTw/MpYmlFAfTTS15yeXy5Q4=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
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=
Expand All @@ -18,6 +20,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
github.com/go-bindata/go-bindata v3.1.2+incompatible h1:5vjJMVhowQdPzjE1LdxyFF7YFTXg5IgGVW4gBr5IbvE=
github.com/go-bindata/go-bindata v3.1.2+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
github.com/golang-jwt/jwt/v5 v5.2.0 h1:d/ix8ftRUorsN+5eMIlF4T6J8CAt9rch3My2winC1Jw=
github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
Expand Down Expand Up @@ -47,6 +51,8 @@ golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA=
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
Expand Down
10 changes: 6 additions & 4 deletions pkg/cmd/auth/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package auth
import (
"fmt"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmd/util/token"
"snd-cli/pkg/cmdutil"
)
Expand All @@ -19,7 +18,7 @@ func NewCmdAuth(authServiceFactory *cmdutil.AuthServiceFactory) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, provider)
if err != nil {
log.Fatalf("Failed to initialize auth service: %v", err)
return fmt.Errorf("failed to initialize auth service: %w", err)
}
return loginRun(authService)
},
Expand All @@ -32,10 +31,13 @@ func NewCmdAuth(authServiceFactory *cmdutil.AuthServiceFactory) *cobra.Command {
}

func loginRun(authService token.AuthService) error {
tokenProvider := token.NewProvider(authService)
tokenProvider, err := token.NewProvider(authService)
if err != nil {
return fmt.Errorf("unable to create token provider: %w", err)
}
cachedToken, err := tokenProvider.GetToken() // Fetch and cache the token.
if err != nil {
log.Fatalf("Unable to get the token: %v", err)
return fmt.Errorf("unable to get the token: %w", err)
}
fmt.Println("Login successful.")
fmt.Println("Token:", cachedToken)
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/claim/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/claim"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
"strings"
)
Expand All @@ -18,11 +17,11 @@ func NewCmdAddClaim(authServiceFactory *cmdutil.AuthServiceFactory, serviceFacto
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("claim", env, authService)
if err != nil {
log.Fatal(err)
return err
}
if err != nil {
return err
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/claim/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/claim"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
"strings"
)
Expand All @@ -16,11 +15,11 @@ func NewCmdGetClaim(authServiceFactory *cmdutil.AuthServiceFactory, serviceFacto
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("claim", env, authService)
if err != nil {
log.Fatal(err)
return err
}
if err != nil {
return err
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/claim/remove.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func NewCmdRemoveClaim(authServiceFactory *cmdutil.AuthServiceFactory, serviceFa
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("claim", env, authService)
if err != nil {
Expand Down
9 changes: 4 additions & 5 deletions pkg/cmd/claim/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/claim"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -28,11 +27,11 @@ func NewCmdAddUser(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactor
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("claim", env, authService)
if err != nil {
log.Fatal(err)
return err
}
resp, err := addUserRun(service.(*claim.Service), userId, claimProvider)
if err == nil {
Expand Down Expand Up @@ -61,11 +60,11 @@ func NewCmdRemoveUser(authServiceFactory *cmdutil.AuthServiceFactory, serviceFac
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("claim", env, authService)
if err != nil {
log.Fatal(err)
return err
}
if err != nil {
return err
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/ml/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
algorithmClient "github.com/SneaksAndData/esd-services-api-client-go/algorithm"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
"strings"
)
Expand All @@ -18,11 +17,11 @@ func NewCmdGet(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactory cm
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("algorithm", env, authService)
if err != nil {
log.Fatal(err)
return err
}
resp, err := getRun(service.(*algorithmClient.Service), id, algorithm)
if err == nil {
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/ml/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
algorithmClient "github.com/SneaksAndData/esd-services-api-client-go/algorithm"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmd/util/file"
"snd-cli/pkg/cmdutil"
)
Expand All @@ -18,11 +17,11 @@ func NewCmdRun(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactory cm
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("algorithm", env, authService)
if err != nil {
log.Fatalf(err.Error())
return err
}
payloadPath := file.File{FilePath: payload}
resp, err := runRun(service.(*algorithmClient.Service), payloadPath, algorithm, tag)
Expand Down
11 changes: 11 additions & 0 deletions pkg/cmd/root/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import (
claimCmd "snd-cli/pkg/cmd/claim"
mlCmd "snd-cli/pkg/cmd/ml"
sparkCmd "snd-cli/pkg/cmd/spark"
upgradeCmd "snd-cli/pkg/cmd/upgrade"
"snd-cli/pkg/cmd/util/version"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -21,6 +23,13 @@ func NewCmdRoot() (*cobra.Command, error) {
Use: "snd <service command group> <service command> [flags]",
Short: "SnD CLI",
Long: `SnD CLI is a tool for interacting with various internal and external services in Sneaks & Data.`,
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
err := version.CheckIfNewVersionIsAvailable()
if err != nil {
return err
}
return nil
},
}

cmd.AddGroup(&cobra.Group{
Expand Down Expand Up @@ -53,5 +62,7 @@ func NewCmdRoot() (*cobra.Command, error) {
cmd.AddCommand(claimCmd.NewCmdClaim(serviceFactory, authServiceFactory))
cmd.AddCommand(mlCmd.NewCmdAlgorithm(serviceFactory, authServiceFactory))
cmd.AddCommand(sparkCmd.NewCmdSpark(serviceFactory, authServiceFactory))

cmd.AddCommand(upgradeCmd.NewCmdUpgrade())
return cmd, nil
}
3 changes: 1 addition & 2 deletions pkg/cmd/spark/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -17,7 +16,7 @@ func NewCmdConfiguration(authServiceFactory *cmdutil.AuthServiceFactory, service
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions pkg/cmd/spark/encrypt.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -17,7 +16,7 @@ func NewCmdEncrypt(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactor
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions pkg/cmd/spark/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package spark
import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"log"
"snd-cli/pkg/cmdutil"
"strings"

Expand All @@ -19,7 +18,7 @@ func NewCmdLogs(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactory c
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions pkg/cmd/spark/requestStatus.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -15,7 +14,7 @@ func NewCmdRequestStatus(authServiceFactory *cmdutil.AuthServiceFactory, service
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/spark/runtimeInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"github.com/spf13/cobra"
"log"
"snd-cli/pkg/cmdutil"
)

Expand All @@ -17,11 +16,11 @@ func NewCmdRuntimeInfo(authServiceFactory *cmdutil.AuthServiceFactory, serviceFa
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
log.Fatal(err)
return err
}
if err != nil {
return err
Expand Down
5 changes: 2 additions & 3 deletions pkg/cmd/spark/submit.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"fmt"
"github.com/SneaksAndData/esd-services-api-client-go/spark"
"github.com/spf13/cobra"
"log"
"os"
"snd-cli/pkg/cmd/util/file"
"snd-cli/pkg/cmdutil"
Expand All @@ -23,11 +22,11 @@ func NewCmdSubmit(authServiceFactory *cmdutil.AuthServiceFactory, serviceFactory
RunE: func(cmd *cobra.Command, args []string) error {
authService, err := authServiceFactory.CreateAuthService(env, authProvider)
if err != nil {
log.Fatal(err)
return err
}
service, err := serviceFactory.CreateService("spark", env, authService)
if err != nil {
log.Fatal(err)
return err
}
if err != nil {
return err
Expand Down
Loading

0 comments on commit 20d5fbd

Please sign in to comment.