Skip to content

Commit

Permalink
[Go] fix file-based values declarations (#534)
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasreed committed Mar 2, 2022
1 parent 00da9f1 commit 2664fcb
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
5 changes: 3 additions & 2 deletions pkg/course/course.go
Original file line number Diff line number Diff line change
Expand Up @@ -260,11 +260,12 @@ func convertV1toV2(fileName string) (*FileV2, error) {
Name: release.Name,
Namespace: release.Namespace,
NamespaceMgmt: release.NamespaceMgmt,
Repository: repositoryName,
Chart: release.Chart,
Hooks: release.Hooks,
Version: release.Version,
Repository: repositoryName,
Files: release.Files,
Values: release.Values,
Hooks: release.Hooks,
}
}
return newFile, nil
Expand Down
12 changes: 8 additions & 4 deletions pkg/reckoner/plot.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func (c *Client) Plot() error {
return err
}

args, tmpFile, err := buildHelmArgs("upgrade", *release)
args, tmpFile, err := buildHelmArgs("upgrade", c.BaseDirectory, *release)
if err != nil {
color.Red(err.Error())
continue
Expand Down Expand Up @@ -141,7 +141,7 @@ func (c Client) TemplateRelease(releaseName string) (string, error) {
releaseIndex := funk.IndexOf(c.CourseFile.Releases, func(release *course.Release) bool {
return release.Name == releaseName
})
args, tmpFile, err := buildHelmArgs("template", *c.CourseFile.Releases[releaseIndex])
args, tmpFile, err := buildHelmArgs("template", c.BaseDirectory, *c.CourseFile.Releases[releaseIndex])
if err != nil {
return "", err
}
Expand All @@ -159,7 +159,7 @@ func (c Client) TemplateRelease(releaseName string) (string, error) {
// takes a command either "upgrade" or "template"
// also returns the temp file of the values file to close
// NOTE: The order is really important here
func buildHelmArgs(command string, release course.Release) ([]string, *os.File, error) {
func buildHelmArgs(command, baseDir string, release course.Release) ([]string, *os.File, error) {
var valuesFile *os.File
var args []string
switch command {
Expand Down Expand Up @@ -191,7 +191,11 @@ func buildHelmArgs(command string, release course.Release) ([]string, *os.File,

if len(release.Files) > 0 {
for _, file := range release.Files {
args = append(args, fmt.Sprintf("--values=%s", file))
if file[0] == '/' {
args = append(args, fmt.Sprintf("--values=%s", file))
} else {
args = append(args, fmt.Sprintf("--values=%s/%s", baseDir, file))
}
}
}

Expand Down
13 changes: 8 additions & 5 deletions pkg/reckoner/plot_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@ func Test_buildHelmArgs(t *testing.T) {
}
tests := []struct {
name string
baseDir string
args args
want []string
wantErr bool
}{
{
name: "basic template",
name: "basic template",
baseDir: "path/to/chart",
args: args{
command: "template",
release: course.Release{
Expand All @@ -51,14 +53,15 @@ func Test_buildHelmArgs(t *testing.T) {
"template",
"basic-release",
"helmrepo/helmchart",
"--values=a-values-file.yaml",
"--values=path/to/chart/a-values-file.yaml",
"--namespace=basic-ns",
"--version=v0.0.0",
},
wantErr: false,
},
{
name: "basic upgrade",
name: "basic upgrade",
baseDir: "path/to/chart",
args: args{
command: "upgrade",
release: course.Release{
Expand All @@ -77,7 +80,7 @@ func Test_buildHelmArgs(t *testing.T) {
"--install",
"basic-release",
"helmrepo/helmchart",
"--values=a-values-file.yaml",
"--values=path/to/chart/a-values-file.yaml",
"--namespace=basic-ns",
"--version=v0.0.0",
},
Expand All @@ -86,7 +89,7 @@ func Test_buildHelmArgs(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, _, err := buildHelmArgs(tt.args.command, tt.args.release)
got, _, err := buildHelmArgs(tt.args.command, tt.baseDir, tt.args.release)
if tt.wantErr {
assert.Error(t, err)
} else {
Expand Down

0 comments on commit 2664fcb

Please sign in to comment.