MCPcopy Create free account
hub / github.com/Azure/draft / getReleaseOptions

Function getReleaseOptions

pkg/safeguards/preprocessing/preprocessing_helpers.go:31–74  ·  view source on GitHub ↗

Extracts release options from either CLI flags, values.yaml, or name of containing directory

(chart *chart.Chart, vals map[string]interface{}, opt chartutil.ReleaseOptions, dirName string)

Source from the content-addressed store, hash-verified

29
30// Extracts release options from either CLI flags, values.yaml, or name of containing directory
31func getReleaseOptions(chart *chart.Chart, vals map[string]interface{}, opt chartutil.ReleaseOptions, dirName string) (chartutil.Values, error) {
32 // Extract release options from values
33 var options chartutil.ReleaseOptions
34 if opt.Name != "" && opt.Namespace != "" {
35 options = opt
36 } else {
37 var releaseName string
38 var releaseNamespace string
39 if opt.Name != "" {
40 releaseName = opt.Name
41 } else {
42 rName, ok := vals["releaseName"].(string)
43 if !ok || rName == "" {
44 releaseName = dirName
45 } else {
46 releaseName = rName
47 }
48 }
49 if opt.Namespace != "" {
50 releaseNamespace = opt.Namespace
51 } else {
52 rNamespace, ok := vals["releaseNamespace"].(string)
53 if !ok || rNamespace == "" {
54 releaseNamespace = dirName
55 } else {
56 releaseNamespace = rNamespace
57 }
58 }
59
60 options = chartutil.ReleaseOptions{
61 Name: releaseName,
62 Namespace: releaseNamespace,
63 }
64 }
65
66 // Combine chart values with release options
67 config := chartutil.Values(vals)
68 mergedValues, err := chartutil.ToRenderValues(chart, config, options, nil)
69 if err != nil {
70 return nil, fmt.Errorf("failed to merge values: %s", err)
71 }
72
73 return mergedValues, nil
74}
75
76// IsYAML determines if a file is of the YAML extension or not
77func IsYAML(path string) bool {

Callers 1

getValuesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected