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