diff --git a/pkg/chart/chart.go b/pkg/chart/chart.go index a429fd3b7..8b775c668 100644 --- a/pkg/chart/chart.go +++ b/pkg/chart/chart.go @@ -267,6 +267,7 @@ func Load(archive string) (*Chart, error) { return LoadDataFromReader(raw) } +// LoadDataFromReader loads a chart a reader func LoadDataFromReader(r io.Reader) (*Chart, error) { unzipped, err := gzip.NewReader(r) if err != nil { @@ -355,26 +356,26 @@ func loadTar(r *tar.Reader) (*tarChart, error) { return c, nil } -// ChartMember is a file in a chart. -type ChartMember struct { +// Member is a file in a chart. +type Member struct { Path string `json:"path"` // Path from the root of the chart. Content []byte `json:"content"` // Base64 encoded content. } // LoadTemplates loads the members of TemplatesDir(). -func (c *Chart) LoadTemplates() ([]*ChartMember, error) { +func (c *Chart) LoadTemplates() ([]*Member, error) { dir := c.TemplatesDir() return c.loadDirectory(dir) } // loadDirectory loads the members of a directory. -func (c *Chart) loadDirectory(dir string) ([]*ChartMember, error) { +func (c *Chart) loadDirectory(dir string) ([]*Member, error) { files, err := ioutil.ReadDir(dir) if err != nil { return nil, err } - members := []*ChartMember{} + members := []*Member{} for _, file := range files { filename := filepath.Join(dir, file.Name()) if !file.IsDir() { @@ -397,14 +398,14 @@ func (c *Chart) loadDirectory(dir string) ([]*ChartMember, error) { return members, nil } -// path is from the root of the chart. -func (c *Chart) LoadMember(path string) (*ChartMember, error) { +// LoadMember loads a chart member from a given path where path is the root of the chart. +func (c *Chart) LoadMember(path string) (*Member, error) { filename := filepath.Join(c.loader.dir(), path) return c.loadMember(filename) } // loadMember loads and base 64 encodes a file. -func (c *Chart) loadMember(filename string) (*ChartMember, error) { +func (c *Chart) loadMember(filename string) (*Member, error) { dir := c.Dir() if !strings.HasPrefix(filename, dir) { err := fmt.Errorf("File %s is outside chart directory %s", filename, dir) @@ -418,7 +419,7 @@ func (c *Chart) loadMember(filename string) (*ChartMember, error) { path := strings.TrimPrefix(filename, dir) content := base64.StdEncoding.EncodeToString(b) - result := &ChartMember{ + result := &Member{ Path: path, Content: []byte(content), } @@ -426,18 +427,20 @@ func (c *Chart) loadMember(filename string) (*ChartMember, error) { return result, nil } -type ChartContent struct { - Chartfile *Chartfile `json:"chartfile"` - Members []*ChartMember `json:"members"` +//chartContent is abstraction for the contents of a chart +type chartContent struct { + Chartfile *Chartfile `json:"chartfile"` + Members []*Member `json:"members"` } -func (c *Chart) LoadContent() (*ChartContent, error) { +// loadContent loads contents of a chart directory into chartContent +func (c *Chart) loadContent() (*chartContent, error) { ms, err := c.loadDirectory(c.Dir()) if err != nil { return nil, err } - cc := &ChartContent{ + cc := &chartContent{ Chartfile: c.Chartfile(), Members: ms, } diff --git a/pkg/chart/chart_test.go b/pkg/chart/chart_test.go index 5d1c46f67..c8a5d6f78 100644 --- a/pkg/chart/chart_test.go +++ b/pkg/chart/chart_test.go @@ -198,7 +198,7 @@ func TestLoadTemplates(t *testing.T) { } } -func findMember(root, path string, members []*ChartMember) error { +func findMember(root, path string, members []*Member) error { for _, member := range members { if member.Path == path { filename := filepath.Join(root, path) diff --git a/pkg/repo/gcs_repo.go b/pkg/repo/gcs_repo.go index 3a4831d74..33075704e 100644 --- a/pkg/repo/gcs_repo.go +++ b/pkg/repo/gcs_repo.go @@ -46,7 +46,7 @@ const ( // GCSPublicRepoName is the name of the public GCS repository. GCSPublicRepoName = "kubernetes-charts" - // GCSPublicRepoName is the URL for the public GCS repository. + // GCSPublicRepoURL is the URL for the public GCS repository. GCSPublicRepoURL = "gs://" + GCSPublicRepoName // GCSPublicRepoBucket is the name of the public GCS repository bucket. diff --git a/pkg/repo/inmem_repo_service.go b/pkg/repo/inmem_repo_service.go index 887345958..a58677a8b 100644 --- a/pkg/repo/inmem_repo_service.go +++ b/pkg/repo/inmem_repo_service.go @@ -26,7 +26,7 @@ type inmemRepoService struct { } // NewInmemRepoService returns a new memory based repository service. -func NewInmemRepoService() RepoService { +func NewInmemRepoService() Service { rs := &inmemRepoService{ repositories: make(map[string]Repo), } diff --git a/pkg/repo/repo.go b/pkg/repo/repo.go index 3a760105c..8e3aee3ae 100644 --- a/pkg/repo/repo.go +++ b/pkg/repo/repo.go @@ -30,6 +30,7 @@ type repo struct { Type RepoType `json:"type"` // Technology implementing this repository } +// NewRepo takes params and returns a Repo func NewRepo(name, URL, credentialName, repoFormat, repoType string) (Repo, error) { return newRepo(name, URL, credentialName, RepoFormat(repoFormat), RepoType(repoType)) } @@ -101,12 +102,12 @@ func (r *repo) GetCredentialName() string { func validateRepo(tr Repo, wantName, wantURL, wantCredentialName string, wantFormat RepoFormat, wantType RepoType) error { haveName := tr.GetName() if haveName != wantName { - return fmt.Errorf("unexpected repo name; want: %s, have %s.", wantName, haveName) + return fmt.Errorf("unexpected repo name; want: %s, have %s", wantName, haveName) } haveURL := tr.GetURL() if haveURL != wantURL { - return fmt.Errorf("unexpected repo url; want: %s, have %s.", wantURL, haveURL) + return fmt.Errorf("unexpected repo url; want: %s, have %s", wantURL, haveURL) } haveCredentialName := tr.GetCredentialName() @@ -115,17 +116,17 @@ func validateRepo(tr Repo, wantName, wantURL, wantCredentialName string, wantFor } if haveCredentialName != wantCredentialName { - return fmt.Errorf("unexpected repo credential name; want: %s, have %s.", wantCredentialName, haveCredentialName) + return fmt.Errorf("unexpected repo credential name; want: %s, have %s", wantCredentialName, haveCredentialName) } haveFormat := tr.GetFormat() if haveFormat != wantFormat { - return fmt.Errorf("unexpected repo format; want: %s, have %s.", wantFormat, haveFormat) + return fmt.Errorf("unexpected repo format; want: %s, have %s", wantFormat, haveFormat) } haveType := tr.GetType() if haveType != wantType { - return fmt.Errorf("unexpected repo type; want: %s, have %s.", wantType, haveType) + return fmt.Errorf("unexpected repo type; want: %s, have %s", wantType, haveType) } return nil diff --git a/pkg/repo/repoprovider.go b/pkg/repo/repoprovider.go index abaa965bd..0473f0367 100644 --- a/pkg/repo/repoprovider.go +++ b/pkg/repo/repoprovider.go @@ -38,19 +38,19 @@ type RepoProvider interface { type repoProvider struct { sync.RWMutex - rs RepoService + rs Service cp CredentialProvider gcsrp GCSRepoProvider repos map[string]ChartRepo } // NewRepoProvider creates a new repository provider. -func NewRepoProvider(rs RepoService, gcsrp GCSRepoProvider, cp CredentialProvider) RepoProvider { +func NewRepoProvider(rs Service, gcsrp GCSRepoProvider, cp CredentialProvider) RepoProvider { return newRepoProvider(rs, gcsrp, cp) } // newRepoProvider creates a new repository provider. -func newRepoProvider(rs RepoService, gcsrp GCSRepoProvider, cp CredentialProvider) *repoProvider { +func newRepoProvider(rs Service, gcsrp GCSRepoProvider, cp CredentialProvider) *repoProvider { if rs == nil { rs = NewInmemRepoService() } @@ -69,7 +69,7 @@ func newRepoProvider(rs RepoService, gcsrp GCSRepoProvider, cp CredentialProvide } // GetRepoService returns the repository service used by this repository provider. -func (rp *repoProvider) GetRepoService() RepoService { +func (rp *repoProvider) GetRepoService() Service { return rp.rs } diff --git a/pkg/repo/types.go b/pkg/repo/types.go index 217aa574d..4f580142e 100644 --- a/pkg/repo/types.go +++ b/pkg/repo/types.go @@ -62,9 +62,9 @@ type RepoType string type RepoFormat string const ( - // PathRepo identfies a repository where charts are organized hierarchically. + // PathRepoFormat identfies a repository where charts are organized hierarchically. PathRepoFormat = RepoFormat("path") - // FlatRepo identifies a repository where all charts appear at the top level. + // FlatRepoFormat identifies a repository where all charts appear at the top level. FlatRepoFormat = RepoFormat("flat") ) @@ -105,9 +105,9 @@ type ObjectStorageRepo interface { GetBucket() string } -// RepoService maintains a list of chart repositories that defines the scope of all +// Service maintains a list of chart repositories that defines the scope of all // repository based operations, such as search and chart reference resolution. -type RepoService interface { +type Service interface { // List returns the list of all known chart repositories List() ([]Repo, error) // Create adds a known repository to the list