Skip to content

Commit

Permalink
feat: Treat -a values as yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
codablock committed Sep 20, 2022
1 parent e6c028c commit 0c9fede
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
11 changes: 8 additions & 3 deletions pkg/deployment/external_args.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,21 @@ func ParseArgs(argsList []string) (map[string]string, error) {
return args, nil
}

func ConvertArgsToVars(args map[string]string) *uo.UnstructuredObject {
func ConvertArgsToVars(args map[string]string) (*uo.UnstructuredObject, error) {
vars := uo.New()
for n, v := range args {
var p []interface{}
for _, x := range strings.Split(n, ".") {
p = append(p, x)
}
_ = vars.SetNestedField(v, p...)
var j any
err := yaml.ReadYamlString(v, &j)
if err != nil {
return nil, err
}
_ = vars.SetNestedField(j, p...)
}
return vars
return vars, nil
}

func CheckRequiredDeployArgs(dir string, varsCtx *vars.VarsCtx, deployArgs *uo.UnstructuredObject) error {
Expand Down
6 changes: 5 additions & 1 deletion pkg/kluctl_project/target_context.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,11 @@ func (p *LoadedKluctlProject) buildVars(target *types.Target, clusterName *strin
}
}
}
allArgs.Merge(deployment.ConvertArgsToVars(args))
convertedArgs, err := deployment.ConvertArgsToVars(args)
if err != nil {
return doError(err)
}
allArgs.Merge(convertedArgs)
if target != nil {
if target.Args != nil {
allArgs.Merge(target.Args)
Expand Down

0 comments on commit 0c9fede

Please sign in to comment.