installer: remove install cmd
diff --git a/core/installer/cmd/app_manager.go b/core/installer/cmd/app_manager.go
index 9fd2045..73e2311 100644
--- a/core/installer/cmd/app_manager.go
+++ b/core/installer/cmd/app_manager.go
@@ -6,16 +6,21 @@
"fmt"
"io/ioutil"
"log"
+ "net"
"net/http"
"net/http/httputil"
"net/url"
"os"
- "github.com/giolekva/pcloud/core/installer"
-
+ "github.com/go-git/go-billy/v5/memfs"
+ "github.com/go-git/go-git/v5"
+ gitssh "github.com/go-git/go-git/v5/plumbing/transport/ssh"
+ "github.com/go-git/go-git/v5/storage/memory"
"github.com/labstack/echo/v4"
"github.com/spf13/cobra"
"golang.org/x/crypto/ssh"
+
+ "github.com/giolekva/pcloud/core/installer"
)
var appManagerFlags struct {
@@ -207,3 +212,25 @@
}
return c.String(http.StatusOK, "Installed")
}
+
+func cloneRepo(address string, signer ssh.Signer) (*git.Repository, error) {
+ return git.Clone(memory.NewStorage(), memfs.New(), &git.CloneOptions{
+ URL: address,
+ Auth: auth(signer),
+ RemoteName: "origin",
+ InsecureSkipTLS: true,
+ })
+}
+
+func auth(signer ssh.Signer) *gitssh.PublicKeys {
+ return &gitssh.PublicKeys{
+ Signer: signer,
+ HostKeyCallbackHelper: gitssh.HostKeyCallbackHelper{
+ HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
+ // TODO(giolekva): verify server public key
+ // fmt.Printf("## %s || %s -- \n", serverPubKey, ssh.MarshalAuthorizedKey(key))
+ return nil
+ },
+ },
+ }
+}
diff --git a/core/installer/cmd/apps.go b/core/installer/cmd/apps.go
deleted file mode 100644
index 9cfe955..0000000
--- a/core/installer/cmd/apps.go
+++ /dev/null
@@ -1,98 +0,0 @@
-package main
-
-import (
- "net"
- "os"
-
- "github.com/giolekva/pcloud/core/installer"
- "github.com/go-git/go-billy/v5/memfs"
- "github.com/go-git/go-git/v5"
- gitssh "github.com/go-git/go-git/v5/plumbing/transport/ssh"
- "github.com/go-git/go-git/v5/storage/memory"
- "github.com/spf13/cobra"
- "golang.org/x/crypto/ssh"
-)
-
-const appDirName = "apps"
-
-var installFlags struct {
- sshKey string
- appName string
- repoAddr string
-}
-
-func installCmd() *cobra.Command {
- cmd := &cobra.Command{
- Use: "install",
- RunE: installCmdRun,
- }
- cmd.Flags().StringVar(
- &installFlags.sshKey,
- "ssh-key",
- "",
- "",
- )
- cmd.Flags().StringVar(
- &installFlags.appName,
- "app",
- "",
- "",
- )
- cmd.Flags().StringVar(
- &installFlags.repoAddr,
- "repo-addr",
- "",
- "",
- )
- return cmd
-}
-
-func installCmdRun(cmd *cobra.Command, args []string) error {
- sshKey, err := os.ReadFile(installFlags.sshKey)
- if err != nil {
- return err
- }
- signer, err := ssh.ParsePrivateKey(sshKey)
- if err != nil {
- return err
- }
- repo, err := cloneRepo(installFlags.repoAddr, signer)
- if err != nil {
- return err
- }
- m, err := installer.NewAppManager(installer.NewRepoIO(
- repo,
- signer,
- ))
- if err != nil {
- return err
- }
- appRepo := installer.NewInMemoryAppRepository(installer.CreateAllApps())
- app, err := appRepo.Find(installFlags.appName)
- if err != nil {
- return err
- }
- return m.Install(*app, nil)
-}
-
-func cloneRepo(address string, signer ssh.Signer) (*git.Repository, error) {
- return git.Clone(memory.NewStorage(), memfs.New(), &git.CloneOptions{
- URL: address,
- Auth: auth(signer),
- RemoteName: "origin",
- InsecureSkipTLS: true,
- })
-}
-
-func auth(signer ssh.Signer) *gitssh.PublicKeys {
- return &gitssh.PublicKeys{
- Signer: signer,
- HostKeyCallbackHelper: gitssh.HostKeyCallbackHelper{
- HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
- // TODO(giolekva): verify server public key
- // fmt.Printf("## %s || %s -- \n", serverPubKey, ssh.MarshalAuthorizedKey(key))
- return nil
- },
- },
- }
-}
diff --git a/core/installer/cmd/main.go b/core/installer/cmd/main.go
index e879c62..70e58de 100644
--- a/core/installer/cmd/main.go
+++ b/core/installer/cmd/main.go
@@ -23,7 +23,6 @@
"",
)
rootCmd.AddCommand(bootstrapCmd())
- rootCmd.AddCommand(installCmd())
rootCmd.AddCommand(appManagerCmd())
rootCmd.AddCommand(envManagerCmd())
rootCmd.AddCommand(welcomeCmd())