installer: configure pcloud repo during bootstrap
diff --git a/core/installer/soft/client.go b/core/installer/soft/client.go
index 01d79c7..68964d3 100644
--- a/core/installer/soft/client.go
+++ b/core/installer/soft/client.go
@@ -11,7 +11,6 @@
 	"github.com/go-git/go-billy/v5/memfs"
 	"github.com/go-git/go-git/v5"
 	// "github.com/go-git/go-git/v5/config"
-	"github.com/go-git/go-git/v5/plumbing"
 	"github.com/go-git/go-git/v5/plumbing/object"
 	gitssh "github.com/go-git/go-git/v5/plumbing/transport/ssh"
 	"github.com/go-git/go-git/v5/storage/memory"
@@ -22,7 +21,7 @@
 type Client struct {
 	ip     string
 	port   int
-	signer ssh.Signer
+	Signer ssh.Signer
 	log    *log.Logger
 }
 
@@ -87,18 +86,11 @@
 	if err != nil {
 		return err
 	}
-	fmt.Println("aaaa")
-	b, _ := configRepo.Branches()
-	b.ForEach(func(r *plumbing.Reference) error {
-		fmt.Println(r.Name())
-		return nil
-	})
 	if err = wt.Checkout(&git.CheckoutOptions{
 		Branch: "refs/heads/master",
 	}); err != nil {
 		return err
 	}
-	fmt.Println("bbb")
 	f, err := wt.Filesystem.Open("config.yaml")
 	if err != nil {
 		return err
@@ -145,6 +137,18 @@
 	})
 }
 
+func (ss *Client) GetRepo(name string) (*git.Repository, error) {
+	return git.Clone(memory.NewStorage(), memfs.New(), &git.CloneOptions{
+		URL:             fmt.Sprintf("%s/%s", ss.addressGit(), name),
+		Auth:            ss.authGit(),
+		RemoteName:      "soft",
+		ReferenceName:   "refs/heads/master",
+		Depth:           1,
+		InsecureSkipTLS: true,
+		Progress:        os.Stdout,
+	})
+}
+
 func (ss *Client) repoPathByName(name string) string {
 	return fmt.Sprintf("%s/%s", ss.addressGit(), name)
 }
@@ -191,7 +195,7 @@
 
 func (ss *Client) authGit() *gitssh.PublicKeys {
 	return &gitssh.PublicKeys{
-		Signer: ss.signer,
+		Signer: ss.Signer,
 		HostKeyCallbackHelper: gitssh.HostKeyCallbackHelper{
 			HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
 				// TODO(giolekva): verify server public key
@@ -206,7 +210,7 @@
 	var ret []byte
 	config := &ssh.ClientConfig{
 		Auth: []ssh.AuthMethod{
-			ssh.PublicKeys(ss.signer),
+			ssh.PublicKeys(ss.Signer),
 		},
 		HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
 			ret = ssh.MarshalAuthorizedKey(key)
@@ -223,7 +227,7 @@
 func (ss *Client) sshClientConfig() *ssh.ClientConfig {
 	return &ssh.ClientConfig{
 		Auth: []ssh.AuthMethod{
-			ssh.PublicKeys(ss.signer),
+			ssh.PublicKeys(ss.Signer),
 		},
 		HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
 			// TODO(giolekva): verify server public key