Compare commits
No commits in common. "master" and "v0.0.9" have entirely different histories.
2
.actions
2
.actions
|
@ -3,6 +3,6 @@
|
||||||
# 微服务相关配置
|
# 微服务相关配置
|
||||||
service:
|
service:
|
||||||
origin: bsm
|
origin: bsm
|
||||||
image: golang:1.23.1-bookworm
|
image: golang:1.22.0-bookworm
|
||||||
describe: system cli cmd
|
describe: system cli cmd
|
||||||
|
|
||||||
|
|
|
@ -55,40 +55,26 @@ func etcExecute(ls []LocalServices) {
|
||||||
for _, service := range ls {
|
for _, service := range ls {
|
||||||
yamlUrl := fmt.Sprintf("%s%s/%s/%s_%s.yaml", service.Srv.OssUrl, service.Srv.EtcPath, env.MeshEnv.Workspace, service.Srv.ServiceKey, env.MeshEnv.RuntimeMode)
|
yamlUrl := fmt.Sprintf("%s%s/%s/%s_%s.yaml", service.Srv.OssUrl, service.Srv.EtcPath, env.MeshEnv.Workspace, service.Srv.ServiceKey, env.MeshEnv.RuntimeMode)
|
||||||
body, err := utils.HttpGet(yamlUrl)
|
body, err := utils.HttpGet(yamlUrl)
|
||||||
if err != nil {
|
checkError(err)
|
||||||
fmt.Println("Check YAML Configure:", yamlUrl, " [ERROR]", err.Error())
|
|
||||||
} else {
|
|
||||||
fmt.Println("Check YAML Configure:", yamlUrl, " [OK]")
|
fmt.Println("Check YAML Configure:", yamlUrl, " [OK]")
|
||||||
yamlPath := filepath.Join(env.MeshEnv.Prefix, service.Srv.EtcPath, fmt.Sprintf("%s_%s.yaml", service.Srv.ServiceKey, env.MeshEnv.RuntimeMode))
|
yamlPath := filepath.Join(env.MeshEnv.Prefix, service.Srv.EtcPath, fmt.Sprintf("%s_%s.yaml", service.Srv.ServiceKey, env.MeshEnv.RuntimeMode))
|
||||||
utils.StringToFile(yamlPath, string(body))
|
utils.StringToFile(yamlPath, string(body))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func getLocalServices() []LocalServices {
|
func getLocalServices() []LocalServices {
|
||||||
reles := getRegistryReleases()
|
reles := getRegistryReleases()
|
||||||
|
|
||||||
dirFs, err := os.ReadDir(env.MeshEnv.Prefix)
|
dirFs, err := os.ReadDir(env.MeshEnv.Prefix)
|
||||||
|
|
||||||
ls := make([]LocalServices, 0)
|
|
||||||
|
|
||||||
checkError(err)
|
checkError(err)
|
||||||
|
|
||||||
for _, v := range reles.Data {
|
ls := make([]LocalServices, 0)
|
||||||
var check bool = false
|
for _, v := range dirFs {
|
||||||
for _, srv := range dirFs {
|
version := getCurrentVersion(v.Name())
|
||||||
if v.ServiceKey == srv.Name() {
|
|
||||||
check = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if check {
|
|
||||||
version := getCurrentVersion(v.ServiceKey)
|
|
||||||
if version != " - " {
|
if version != " - " {
|
||||||
|
for _, srv := range reles.Data {
|
||||||
ls = append(ls, LocalServices{
|
ls = append(ls, LocalServices{
|
||||||
Srv: v,
|
Srv: srv,
|
||||||
LocalVersion: version,
|
LocalVersion: version,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -120,7 +106,7 @@ func serviceExecute(ls []LocalServices) {
|
||||||
} else {
|
} else {
|
||||||
service.Srv.Stop()
|
service.Srv.Stop()
|
||||||
downUrl := service.Srv.OssUrl + service.Srv.FilePath
|
downUrl := service.Srv.OssUrl + service.Srv.FilePath
|
||||||
fmt.Println("Update Microservice", service.Srv.ServiceKey, service.Srv.Version, downUrl)
|
fmt.Println("Check Microservice", service.Srv.ServiceKey, service.Srv.Version, downUrl)
|
||||||
binPath := filepath.Join(env.MeshEnv.Prefix, service.Srv.ServiceKey)
|
binPath := filepath.Join(env.MeshEnv.Prefix, service.Srv.ServiceKey)
|
||||||
DownloadFile(downUrl, binPath, func(length, downLen int64) {
|
DownloadFile(downUrl, binPath, func(length, downLen int64) {
|
||||||
fmt.Fprintf(os.Stdout, "Total:%d KB, Current:%d KB, Percent:%.2f%%\r", length, downLen, (float32(downLen)/float32(length))*100)
|
fmt.Fprintf(os.Stdout, "Total:%d KB, Current:%d KB, Percent:%.2f%%\r", length, downLen, (float32(downLen)/float32(length))*100)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
|
|
||||||
func getFilePath(srv *Service) (binPath, logsPath string) {
|
func getFilePath(srv *Service) (binPath, logsPath string) {
|
||||||
binPath = filepath.Join(env.MeshEnv.Prefix, srv.ServiceKey)
|
binPath = filepath.Join(env.MeshEnv.Prefix, srv.ServiceKey)
|
||||||
logsPath = filepath.Join(env.MeshEnv.Prefix, "logs", srv.ServiceKey+"-"+srv.Version+".log")
|
logsPath = filepath.Join(env.MeshEnv.Prefix, "logs", srv.ServiceKey+"@"+srv.Version+".log")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ func installExecute(srv string) {
|
||||||
DownloadFile(downUrl, binPath, func(length, downLen int64) {
|
DownloadFile(downUrl, binPath, func(length, downLen int64) {
|
||||||
fmt.Fprintf(os.Stdout, "Total:%d KB, Current:%d KB, Percent:%.2f%%\r", length, downLen, (float32(downLen)/float32(length))*100)
|
fmt.Fprintf(os.Stdout, "Total:%d KB, Current:%d KB, Percent:%.2f%%\r", length, downLen, (float32(downLen)/float32(length))*100)
|
||||||
})
|
})
|
||||||
fmt.Println("[6/6] Download Success!")
|
|
||||||
fmt.Println("[6/6] Restart Microservice:", srv)
|
fmt.Println("[6/6] Restart Microservice:", srv)
|
||||||
service.Start()
|
service.Start()
|
||||||
fmt.Println("Install Successful!")
|
fmt.Println("Install Successful!")
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
package commands
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
|
|
||||||
"git.apinb.com/bsm-sdk/engine/env"
|
|
||||||
"git.apinb.com/bsm-sdk/engine/utils"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
|
||||||
|
|
||||||
var restartCmd = &cobra.Command{
|
|
||||||
Use: "restart",
|
|
||||||
Short: "<ServiceKey> 更新一个微服务的服务,并重启该服务.",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
if len(args) != 1 {
|
|
||||||
fmt.Println("Update a microservice service and restart it!")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
srv := args[0]
|
|
||||||
execbin := filepath.Join(env.MeshEnv.Prefix, srv)
|
|
||||||
binExists := utils.PathExists(execbin)
|
|
||||||
if !binExists {
|
|
||||||
fmt.Println(srv, "microservice not install")
|
|
||||||
} else {
|
|
||||||
restartExecute(srv)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
func restartExecute(srv string) {
|
|
||||||
localVersion := getCurrentVersion(srv)
|
|
||||||
fmt.Println("[1/5] Check local microservice version:", localVersion)
|
|
||||||
|
|
||||||
service := getService(srv)
|
|
||||||
if service == nil {
|
|
||||||
fmt.Println("ERR:", srv, "Not Found!")
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("[2/5] Check registry microservice version:", service.Version)
|
|
||||||
|
|
||||||
service.Stop()
|
|
||||||
|
|
||||||
yamlUrl := fmt.Sprintf("%s%s/%s/%s_%s.yaml", service.OssUrl, service.EtcPath, env.MeshEnv.Workspace, srv, env.MeshEnv.RuntimeMode)
|
|
||||||
body, err := utils.HttpGet(yamlUrl)
|
|
||||||
checkError(err)
|
|
||||||
fmt.Println("[3/5] Download YAML Configure:", yamlUrl, " [OK]")
|
|
||||||
yamlPath := filepath.Join(env.MeshEnv.Prefix, service.EtcPath, fmt.Sprintf("%s_%s.yaml", srv, env.MeshEnv.RuntimeMode))
|
|
||||||
utils.StringToFile(yamlPath, string(body))
|
|
||||||
|
|
||||||
if localVersion != service.Version {
|
|
||||||
downUrl := service.OssUrl + service.FilePath
|
|
||||||
fmt.Println("[4/5] Download Binrary File:", downUrl)
|
|
||||||
binPath := filepath.Join(env.MeshEnv.Prefix, srv)
|
|
||||||
DownloadFile(downUrl, binPath, func(length, downLen int64) {
|
|
||||||
fmt.Fprintf(os.Stdout, "Total:%d KB, Current:%d KB, Percent:%.2f%%\r", length, downLen, (float32(downLen)/float32(length))*100)
|
|
||||||
})
|
|
||||||
|
|
||||||
fmt.Println("[5/5] Start Microservice:", srv)
|
|
||||||
service.Start()
|
|
||||||
fmt.Println("Updated Success!")
|
|
||||||
} else {
|
|
||||||
fmt.Println("[4/5] "+srv+" Already the latest version:", localVersion)
|
|
||||||
fmt.Println("[5/5] Restart Microservice:", srv)
|
|
||||||
service.Start()
|
|
||||||
fmt.Println("Restart Success!")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -22,7 +22,7 @@ func init() {
|
||||||
registryUrl = env.GetEnvDefault("BlocksMesh_Registry", "http://registry.apinb.com")
|
registryUrl = env.GetEnvDefault("BlocksMesh_Registry", "http://registry.apinb.com")
|
||||||
}
|
}
|
||||||
|
|
||||||
rootCmd.AddCommand(psCmd, installCmd, updateCmd, checkCmd, restartCmd)
|
rootCmd.AddCommand(psCmd, installCmd, updateCmd, checkCmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
|
|
|
@ -61,7 +61,7 @@ func updateExecute(srv string) {
|
||||||
|
|
||||||
fmt.Println("[5/5] Start Microservice:", srv)
|
fmt.Println("[5/5] Start Microservice:", srv)
|
||||||
service.Start()
|
service.Start()
|
||||||
fmt.Println("Updated Success!")
|
fmt.Println("Install Successful!")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
fmt.Printf("Blocks Service Cli Version: %s \n", vars.VERSION)
|
fmt.Printf("[Blocks Service Cli: %s] Version: %s \n", vars.ServiceKey, vars.VERSION)
|
||||||
|
|
||||||
commands.Execute()
|
commands.Execute()
|
||||||
}
|
}
|
||||||
|
|
27
go.mod
27
go.mod
|
@ -1,31 +1,30 @@
|
||||||
module git.apinb.com/bsm-tools/bsm
|
module git.apinb.com/bsm-tools/bsm
|
||||||
|
|
||||||
go 1.23.1
|
go 1.22.0
|
||||||
|
|
||||||
require git.apinb.com/bsm-sdk/engine v1.2.4
|
require git.apinb.com/bsm-sdk/engine v1.0.9
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gookit/color v1.5.4 // indirect
|
github.com/gookit/color v1.5.4 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
github.com/oklog/ulid/v2 v2.1.0 // indirect
|
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||||
golang.org/x/sync v0.8.0 // indirect
|
golang.org/x/sync v0.5.0 // indirect
|
||||||
golang.org/x/sys v0.25.0 // indirect
|
golang.org/x/sys v0.15.0 // indirect
|
||||||
golang.org/x/term v0.24.0 // indirect
|
golang.org/x/term v0.15.0 // indirect
|
||||||
golang.org/x/text v0.18.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7 // indirect
|
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/gookit/goutil v0.6.16
|
github.com/gookit/goutil v0.6.15
|
||||||
github.com/jaevor/go-nanoid v1.4.0 // indirect
|
github.com/jaevor/go-nanoid v1.3.0 // indirect
|
||||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||||
github.com/jinzhu/now v1.1.5 // indirect
|
github.com/jinzhu/now v1.1.5 // indirect
|
||||||
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19 // indirect
|
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19
|
||||||
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33
|
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33
|
||||||
github.com/spf13/cobra v1.8.1
|
github.com/spf13/cobra v1.8.0
|
||||||
github.com/subchen/go-tableify v1.1.0 // indirect
|
github.com/subchen/go-tableify v1.1.0
|
||||||
gorm.io/gorm v1.25.12 // indirect
|
gorm.io/gorm v1.25.7 // indirect
|
||||||
)
|
)
|
||||||
|
|
22
go.sum
22
go.sum
|
@ -1,9 +1,6 @@
|
||||||
git.apinb.com/bsm-sdk/engine v1.0.9 h1:3zPYp8wtBVi7Aeg3H3/q7ZSVDRsGiXxQXwNzyMxfhao=
|
git.apinb.com/bsm-sdk/engine v1.0.9 h1:3zPYp8wtBVi7Aeg3H3/q7ZSVDRsGiXxQXwNzyMxfhao=
|
||||||
git.apinb.com/bsm-sdk/engine v1.0.9/go.mod h1:zCJfxj6RHHVHQmDn+Z2qa5s1qU7a3rTL9AZqEja9vIc=
|
git.apinb.com/bsm-sdk/engine v1.0.9/go.mod h1:zCJfxj6RHHVHQmDn+Z2qa5s1qU7a3rTL9AZqEja9vIc=
|
||||||
git.apinb.com/bsm-sdk/engine v1.2.4 h1:/eIK2nuHgEeJec7P/UCG3cQSiJXnYJ5KBFrdn1q+bW4=
|
|
||||||
git.apinb.com/bsm-sdk/engine v1.2.4/go.mod h1:Sazi1hGdcL+mFHACz7caIfuiol02QXKcUuMk5OE4ZlA=
|
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
|
||||||
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7 h1:nof2QnZZ42zxwzrWFK/e8CMaN/AXgGX7AGJ/pb8RgBk=
|
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7 h1:nof2QnZZ42zxwzrWFK/e8CMaN/AXgGX7AGJ/pb8RgBk=
|
||||||
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7/go.mod h1:FB8Aa5H1xlLhPbpXIfP9JcwTt287TCI29X4xCEXaIBg=
|
github.com/golistic/boxed v0.0.0-20231227175750-bd89723124e7/go.mod h1:FB8Aa5H1xlLhPbpXIfP9JcwTt287TCI29X4xCEXaIBg=
|
||||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
|
@ -12,14 +9,10 @@ github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0=
|
||||||
github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w=
|
github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w=
|
||||||
github.com/gookit/goutil v0.6.15 h1:mMQ0ElojNZoyPD0eVROk5QXJPh2uKR4g06slgPDF5Jo=
|
github.com/gookit/goutil v0.6.15 h1:mMQ0ElojNZoyPD0eVROk5QXJPh2uKR4g06slgPDF5Jo=
|
||||||
github.com/gookit/goutil v0.6.15/go.mod h1:qdKdYEHQdEtyH+4fNdQNZfJHhI0jUZzHxQVAV3DaMDY=
|
github.com/gookit/goutil v0.6.15/go.mod h1:qdKdYEHQdEtyH+4fNdQNZfJHhI0jUZzHxQVAV3DaMDY=
|
||||||
github.com/gookit/goutil v0.6.16 h1:9fRMCF4X9abdRD5+2HhBS/GwafjBlTUBjRtA5dgkvuw=
|
|
||||||
github.com/gookit/goutil v0.6.16/go.mod h1:op2q8AoPDFSiY2+qkHxcBWQMYxOLQ1GbLXqe7vrwscI=
|
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/jaevor/go-nanoid v1.3.0 h1:nD+iepesZS6pr3uOVf20vR9GdGgJW1HPaR46gtrxzkg=
|
github.com/jaevor/go-nanoid v1.3.0 h1:nD+iepesZS6pr3uOVf20vR9GdGgJW1HPaR46gtrxzkg=
|
||||||
github.com/jaevor/go-nanoid v1.3.0/go.mod h1:SI+jFaPuddYkqkVQoNGHs81navCtH388TcrH0RqFKgY=
|
github.com/jaevor/go-nanoid v1.3.0/go.mod h1:SI+jFaPuddYkqkVQoNGHs81navCtH388TcrH0RqFKgY=
|
||||||
github.com/jaevor/go-nanoid v1.4.0 h1:mPz0oi3CrQyEtRxeRq927HHtZCJAAtZ7zdy7vOkrvWs=
|
|
||||||
github.com/jaevor/go-nanoid v1.4.0/go.mod h1:GIpPtsvl3eSBsjjIEFQdzzgpi50+Bo1Luk+aYlbJzlc=
|
|
||||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
|
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
|
||||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||||
|
@ -28,14 +21,9 @@ github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19 h1:WjT3fLi9n8YWh/Ih8
|
||||||
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ=
|
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ=
|
||||||
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33 h1:T5IbS9C1G2zeHb6eBy6OfIvj5tfQB23kGFpewCJuGDg=
|
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33 h1:T5IbS9C1G2zeHb6eBy6OfIvj5tfQB23kGFpewCJuGDg=
|
||||||
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33/go.mod h1:41qyXVI5QH9/ObyPj27CGCVau5v/njfc3Gjj7yzr0HQ=
|
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33/go.mod h1:41qyXVI5QH9/ObyPj27CGCVau5v/njfc3Gjj7yzr0HQ=
|
||||||
github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU=
|
|
||||||
github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
|
|
||||||
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
|
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||||
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
|
||||||
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
|
|
||||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
github.com/subchen/go-tableify v1.1.0 h1:VUCCHfXlttR5LhjjEmCThdI0UdYKr/7OnOey78UClrY=
|
github.com/subchen/go-tableify v1.1.0 h1:VUCCHfXlttR5LhjjEmCThdI0UdYKr/7OnOey78UClrY=
|
||||||
|
@ -44,23 +32,13 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavM
|
||||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||||
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
||||||
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
|
||||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
|
|
||||||
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
||||||
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
|
|
||||||
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
|
|
||||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
|
||||||
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A=
|
gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A=
|
||||||
gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
|
gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
|
||||||
gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
|
|
||||||
gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=
|
|
||||||
|
|
Loading…
Reference in New Issue