mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-18 07:43:20 +02:00
fix(#507): support assign --post-renderer within helmfile flags and helmdefault or release config
1. only implement post-renderer flags this patch 2. As mumoshu advise, add helmfile flags `--post-render` and add the postRenderer config in helmDefaults and release. the priority is helmfile flags > release > helmDefaults. 3. fix the test case in state_test.go and some other tests. Signed-off-by: guofutan <guofutan@tencent.com> Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
@@ -112,13 +112,6 @@ func GetArgs(args string, state *state.HelmState) []string {
|
||||
}
|
||||
}
|
||||
|
||||
if len(state.HelmDefaults.PostRenderer) > 0 {
|
||||
argArr = append(argArr, fmt.Sprintf("--post-renderer=\"%s\"", state.HelmDefaults.PostRenderer))
|
||||
}
|
||||
for _, arg := range state.HelmDefaults.PostRendererArgs {
|
||||
argArr = append(argArr, fmt.Sprintf("--post-renderer-args=\"%s\"", arg))
|
||||
}
|
||||
|
||||
state.HelmDefaults.Args = argArr
|
||||
|
||||
return state.HelmDefaults.Args
|
||||
|
||||
@@ -35,14 +35,6 @@ func TestGetArgs(t *testing.T) {
|
||||
defaultArgs: []string{"--recreate-pods", "--force"},
|
||||
expected: "--timeout=3600 --set app1.bootstrap=true --set app2.bootstrap=false,app3.bootstrap=true --tiller-namespace ns --recreate-pods --force",
|
||||
},
|
||||
{
|
||||
args: "--post-renderer=aaa --post-renderer-args=bbb",
|
||||
expected: "--post-renderer=aaa --post-renderer-args=bbb",
|
||||
},
|
||||
{
|
||||
args: "--post-renderer aaa --post-renderer-args bbb",
|
||||
expected: "--post-renderer aaa --post-renderer-args bbb",
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
Helmdefaults := state.HelmSpec{KubeContext: "test", TillerNamespace: "test-namespace", Args: test.defaultArgs}
|
||||
@@ -57,38 +49,6 @@ func TestGetArgs(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetArgs_PostRenderer(t *testing.T) {
|
||||
tests := []struct {
|
||||
postRenderer string
|
||||
PostRendererArgs []string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
postRenderer: "sed",
|
||||
PostRendererArgs: []string{"-i", "s/aaa/bb/g"},
|
||||
expected: "--post-renderer=\"sed\" --post-renderer-args=\"-i\" --post-renderer-args=\"s/aaa/bb/g\"",
|
||||
},
|
||||
|
||||
{
|
||||
postRenderer: "sed",
|
||||
PostRendererArgs: []string{"-i", "s/aa a/b b/g"},
|
||||
expected: "--post-renderer=\"sed\" --post-renderer-args=\"-i\" --post-renderer-args=\"s/aa a/b b/g\"",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
Helmdefaults := state.HelmSpec{KubeContext: "test", TillerNamespace: "test-namespace", PostRenderer: test.postRenderer, PostRendererArgs: test.PostRendererArgs}
|
||||
testState := &state.HelmState{
|
||||
ReleaseSetSpec: state.ReleaseSetSpec{
|
||||
HelmDefaults: Helmdefaults,
|
||||
},
|
||||
}
|
||||
receivedArgs := GetArgs("", testState)
|
||||
|
||||
require.Equalf(t, test.expected, strings.Join(receivedArgs, " "), "expected args %s, received args %s", test.expected, strings.Join(receivedArgs, " "))
|
||||
}
|
||||
}
|
||||
|
||||
// TestIsNewFlag tests the isNewFlag function
|
||||
func TestIsNewFlag(t *testing.T) {
|
||||
tests := []struct {
|
||||
|
||||
Reference in New Issue
Block a user