Skip to content

Commit

Permalink
fix(): git auth
Browse files Browse the repository at this point in the history
  • Loading branch information
VaibhavPage committed Mar 27, 2019
1 parent 963abc2 commit 6538401
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 7 deletions.
1 change: 1 addition & 0 deletions sensors/cmd/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
FROM centos:7
RUN yum -y install openssh openssh-server openssh-clients openssl-libs
COPY dist/sensor /bin/
ENTRYPOINT [ "/bin/sensor" ]
34 changes: 27 additions & 7 deletions store/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,15 @@ package store

import (
"fmt"
"gopkg.in/src-d/go-git.v4/config"
"io/ioutil"

"github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1"
"golang.org/x/crypto/ssh"
"gopkg.in/src-d/go-git.v4"
"gopkg.in/src-d/go-git.v4/config"
"gopkg.in/src-d/go-git.v4/plumbing"
"gopkg.in/src-d/go-git.v4/plumbing/transport"
"gopkg.in/src-d/go-git.v4/plumbing/transport/http"
go_git_ssh "gopkg.in/src-d/go-git.v4/plumbing/transport/ssh"
"io/ioutil"
"k8s.io/client-go/kubernetes"
)

Expand Down Expand Up @@ -63,12 +62,28 @@ func (g *GitArtifactReader) getRemote() string {
return DefaultRemote
}

func getSSHKeyAuth(privateSshKeyFile string) (transport.AuthMethod, error) {
func getSSHKeyAuth(sshKeyFile string) (transport.AuthMethod, error) {
var auth transport.AuthMethod
sshKey, err := ioutil.ReadFile(privateSshKeyFile)
sshKey, err := ioutil.ReadFile(sshKeyFile)
if err != nil {
return nil, fmt.Errorf("failed to read ssh key file. err: %+v", err)
}
//
//cmd := exec.Command("bash", "-c", `eval "$(ssh-agent)"`)
//cmd.Stdout = os.Stdout
//cmd.Stderr = os.Stdout
//err = cmd.Run()
//if err != nil {
// return nil, fmt.Errorf("failed to eval ssh-agent. err: %+v", err)
//}
//cmd = exec.Command("bash", "-c", "ssh-add", sshKeyFile)
//cmd.Stdout = os.Stdout
//cmd.Stderr = os.Stdout
//err = cmd.Run()
//if err != nil {
// return nil, fmt.Errorf("failed to add ssh key to ssh-agent. err: %+v", err)
//}

signer, err := ssh.ParsePrivateKey([]byte(sshKey))
if err != nil {
return nil, fmt.Errorf("failed to parse ssh key. err: %+v", err)
Expand Down Expand Up @@ -131,10 +146,15 @@ func (g *GitArtifactReader) readFromRepository(r *git.Repository) ([]byte, error
return nil, fmt.Errorf("failed to get working tree. err: %+v", err)
}

if err := r.Fetch(&git.FetchOptions{
fetchOptions := &git.FetchOptions{
RemoteName: g.getRemote(),
RefSpecs: fetchRefSpec,
}); err != nil && err != git.NoErrAlreadyUpToDate {
}
if auth != nil {
fetchOptions.Auth = auth
}

if err := r.Fetch(fetchOptions); err != nil && err != git.NoErrAlreadyUpToDate {
return nil, fmt.Errorf("failed to fetch. err: %v", err)
}

Expand Down

0 comments on commit 6538401

Please sign in to comment.