From a7b46760c88e60740ce572783e62e31ced788e55 Mon Sep 17 00:00:00 2001 From: Jose Henrique Date: Sat, 14 Mar 2026 11:54:44 -0300 Subject: [PATCH] fixing ssh connection --- mindforge.cronjob/internal/git/git.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mindforge.cronjob/internal/git/git.go b/mindforge.cronjob/internal/git/git.go index 7b8fe82..0220615 100644 --- a/mindforge.cronjob/internal/git/git.go +++ b/mindforge.cronjob/internal/git/git.go @@ -32,19 +32,35 @@ func (s *gitService) CheckConnection(url string) error { if err := cmd.Run(); err != nil { return fmt.Errorf("failed to check git connection: %w", err) } + fmt.Println("Git connection checked successfully") return nil } func (s *gitService) FetchContents(url string) error { // Remove the repo directory if it already exists from a previous run + fmt.Println("Removing repo directory") _ = os.RemoveAll(s.repoDir) - cmd := exec.Command("git", "clone", url, s.repoDir) + fmt.Println("Cloning repository") + + // check for existing /root/.ssh/id_rsa key + useSSH := false + if _, err := os.Stat("/root/.ssh/id_rsa"); err == nil { + useSSH = true + } + + var cmd *exec.Cmd + if useSSH { + cmd = exec.Command("git", "clone", "-i", "/root/.ssh/id_rsa", url, s.repoDir) + } else { + cmd = exec.Command("git", "clone", url, s.repoDir) + } var stderr bytes.Buffer cmd.Stderr = &stderr if err := cmd.Run(); err != nil { return fmt.Errorf("failed to fetch contents: %w, stderr: %s", err, stderr.String()) } + fmt.Println("Repository cloned successfully") return nil }