@@ -3,30 +3,31 @@ package loaders
3
3
import (
4
4
"context"
5
5
"fmt"
6
- "github.com/go-git/go-git/v5"
7
6
"io/ioutil"
8
7
"path"
9
8
"path/filepath"
9
+ "strings"
10
+
11
+ "github.com/go-git/go-git/v5"
10
12
"sigs.k8s.io/controller-runtime/pkg/log"
11
13
"sigs.k8s.io/yaml"
12
- "strings"
13
14
)
14
15
15
16
type GitRepository struct {
16
17
baseURL string
17
- subDir string
18
- branch string
18
+ subDir string
19
+ branch string
19
20
}
20
21
21
22
var _ Repository = & GitRepository {}
22
23
23
24
// NewGitRepository constructs an GitRepository
24
- func NewGitRepository (baseurl string ) * GitRepository {
25
+ func NewGitRepository (baseurl string ) * GitRepository {
25
26
repo := parseGitURL (baseurl )
26
27
return & repo
27
28
}
28
29
29
- func (r * GitRepository ) LoadChannel (ctx context.Context , name string ) (* Channel , error ){
30
+ func (r * GitRepository ) LoadChannel (ctx context.Context , name string ) (* Channel , error ) {
30
31
if ! allowedChannelName (name ) {
31
32
return nil , fmt .Errorf ("invalid channel name: %q" , name )
32
33
}
@@ -39,7 +40,7 @@ func (r *GitRepository) LoadChannel(ctx context.Context, name string) (*Channel
39
40
name = r .subDir + "/" + name
40
41
}
41
42
b , err := r .readURL (name )
42
- if err != nil {
43
+ if err != nil {
43
44
log .WithValues ("path" , name ).Error (err , "error reading channel" )
44
45
return nil , err
45
46
}
@@ -52,8 +53,7 @@ func (r *GitRepository) LoadChannel(ctx context.Context, name string) (*Channel
52
53
return channel , nil
53
54
}
54
55
55
-
56
- func (r * GitRepository ) LoadManifest (ctx context.Context , packageName string , id string ) (map [string ]string , error ){
56
+ func (r * GitRepository ) LoadManifest (ctx context.Context , packageName string , id string ) (map [string ]string , error ) {
57
57
if ! allowedManifestId (packageName ) {
58
58
return nil , fmt .Errorf ("invalid package name: %q" , id )
59
59
}
@@ -67,43 +67,43 @@ func (r *GitRepository) LoadManifest(ctx context.Context, packageName string, id
67
67
68
68
var filePath string
69
69
if r .subDir == "" {
70
- filePath = path .Join ("packages" , packageName , id ,"manifest.yaml" )
70
+ filePath = path .Join ("packages" , packageName , id , "manifest.yaml" )
71
71
} else {
72
- filePath = path .Join (r .subDir ,"packages" , packageName , id , "manifest.yaml" )
72
+ filePath = path .Join (r .subDir , "packages" , packageName , id , "manifest.yaml" )
73
73
}
74
74
75
75
b , err := r .readURL (filePath )
76
76
77
77
if err != nil {
78
78
return nil , fmt .Errorf ("error reading package %s: %v" , filePath , err )
79
79
}
80
- result := map [string ]string {
80
+ result := map [string ]string {
81
81
filePath : string (b ),
82
82
}
83
83
84
- return result ,nil
84
+ return result , nil
85
85
}
86
86
87
87
func (r * GitRepository ) readURL (url string ) ([]byte , error ) {
88
88
repoDir := "/tmp/repo"
89
89
filePath := filepath .Join (repoDir , url )
90
90
fmt .Println (r .baseURL )
91
91
_ , err := git .PlainClone (repoDir , false , & git.CloneOptions {
92
- URL : r .baseURL ,
92
+ URL : r .baseURL ,
93
93
})
94
94
if err != nil && err != git .ErrRepositoryAlreadyExists {
95
95
return nil , err
96
96
}
97
97
98
98
b , err := ioutil .ReadFile (filePath )
99
- if err != nil {
99
+ if err != nil {
100
100
return nil , err
101
101
}
102
102
103
103
return b , nil
104
104
}
105
105
106
- func parseGitURL (url string ) GitRepository {
106
+ func parseGitURL (url string ) GitRepository {
107
107
// checks for git:: suffix
108
108
var subdir string
109
109
if strings .HasPrefix (url , "git::" ) {
0 commit comments