2023-09-12 10:15:41 +00:00
|
|
|
package main
|
|
|
|
|
2023-09-13 08:51:05 +00:00
|
|
|
import (
|
2023-10-18 12:22:41 +00:00
|
|
|
"fmt"
|
2023-10-21 09:26:13 +00:00
|
|
|
"github.com/ente-io/cli/cmd"
|
|
|
|
"github.com/ente-io/cli/internal"
|
|
|
|
"github.com/ente-io/cli/internal/api"
|
|
|
|
"github.com/ente-io/cli/pkg"
|
|
|
|
"github.com/ente-io/cli/pkg/secrets"
|
|
|
|
"github.com/ente-io/cli/utils/constants"
|
2023-10-18 12:22:41 +00:00
|
|
|
"log"
|
2023-10-21 04:45:38 +00:00
|
|
|
"strings"
|
2023-09-13 08:51:05 +00:00
|
|
|
)
|
|
|
|
|
2023-09-12 10:15:41 +00:00
|
|
|
func main() {
|
2023-10-18 12:22:41 +00:00
|
|
|
cliDBPath := ""
|
|
|
|
if secrets.IsRunningInContainer() {
|
|
|
|
cliDBPath = constants.CliDataPath
|
|
|
|
_, err := internal.ValidateDirForWrite(cliDBPath)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatalf("Please mount a volume to %s to persist cli data\n%v\n", cliDBPath, err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
db, err := pkg.GetDB(fmt.Sprintf("%sente-cli.db", cliDBPath))
|
2023-09-13 08:51:05 +00:00
|
|
|
if err != nil {
|
2023-10-21 04:45:38 +00:00
|
|
|
if strings.Contains(err.Error(), "timeout") {
|
|
|
|
log.Fatalf("Please close all other instances of the cli and try again\n%v\n", err)
|
|
|
|
} else {
|
|
|
|
panic(err)
|
|
|
|
}
|
2023-09-13 08:51:05 +00:00
|
|
|
}
|
|
|
|
ctrl := pkg.ClICtrl{
|
2023-09-15 10:55:29 +00:00
|
|
|
Client: api.NewClient(api.Params{
|
|
|
|
Debug: false,
|
2023-09-25 08:33:58 +00:00
|
|
|
//Host: "http://localhost:8080",
|
2023-09-15 10:55:29 +00:00
|
|
|
}),
|
2023-09-22 16:15:01 +00:00
|
|
|
DB: db,
|
2023-09-27 08:39:44 +00:00
|
|
|
KeyHolder: secrets.NewKeyHolder(secrets.GetOrCreateClISecret()),
|
2023-09-15 10:55:29 +00:00
|
|
|
}
|
|
|
|
err = ctrl.Init()
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
2023-09-13 08:51:05 +00:00
|
|
|
}
|
|
|
|
defer func() {
|
|
|
|
if err := db.Close(); err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
}()
|
|
|
|
cmd.Execute(&ctrl)
|
2023-09-12 10:15:41 +00:00
|
|
|
}
|