remove HELMFILE_SKIP_INSECURE_TEMPLATE_FUNCTIONS for v1 (#1434)

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero 2024-04-01 08:42:55 +08:00 committed by GitHub
parent 95e39fd821
commit 270f27f481
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 34 additions and 11 deletions

View File

@ -1,15 +1,18 @@
package envvar
const (
DisableInsecureFeatures = "HELMFILE_DISABLE_INSECURE_FEATURES"
DisableRunnerUniqueID = "HELMFILE_DISABLE_RUNNER_UNIQUE_ID"
DisableInsecureFeatures = "HELMFILE_DISABLE_INSECURE_FEATURES"
// TODO: Remove this function once Helmfile v0.x
SkipInsecureTemplateFunctions = "HELMFILE_SKIP_INSECURE_TEMPLATE_FUNCTIONS"
Experimental = "HELMFILE_EXPERIMENTAL" // environment variable for experimental features, expecting "true" lower case
Environment = "HELMFILE_ENVIRONMENT"
FilePath = "HELMFILE_FILE_PATH"
TempDir = "HELMFILE_TEMPDIR"
UpgradeNoticeDisabled = "HELMFILE_UPGRADE_NOTICE_DISABLED"
V1Mode = "HELMFILE_V1MODE"
GoccyGoYaml = "HELMFILE_GOCCY_GOYAML"
CacheHome = "HELMFILE_CACHE_HOME"
DisableRunnerUniqueID = "HELMFILE_DISABLE_RUNNER_UNIQUE_ID"
Experimental = "HELMFILE_EXPERIMENTAL" // environment variable for experimental features, expecting "true" lower case
Environment = "HELMFILE_ENVIRONMENT"
FilePath = "HELMFILE_FILE_PATH"
TempDir = "HELMFILE_TEMPDIR"
UpgradeNoticeDisabled = "HELMFILE_UPGRADE_NOTICE_DISABLED"
V1Mode = "HELMFILE_V1MODE"
GoccyGoYaml = "HELMFILE_GOCCY_GOYAML"
CacheHome = "HELMFILE_CACHE_HOME"
)

View File

@ -19,6 +19,7 @@ import (
"github.com/helmfile/helmfile/pkg/envvar"
"github.com/helmfile/helmfile/pkg/helmexec"
"github.com/helmfile/helmfile/pkg/maputil"
"github.com/helmfile/helmfile/pkg/runtime"
"github.com/helmfile/helmfile/pkg/yaml"
)
@ -35,13 +36,24 @@ func (e DisableInsecureFeaturesError) Error() string {
}
var (
disableInsecureFeatures bool
disableInsecureFeatures bool
// TODO: Remove this function once Helmfile v0.x
skipInsecureTemplateFunctions bool
)
func init() {
disableInsecureFeatures, _ = strconv.ParseBool(os.Getenv(envvar.DisableInsecureFeatures))
// TODO: Remove this function once Helmfile v0.x
skipInsecureTemplateFunctions, _ = strconv.ParseBool(os.Getenv(envvar.SkipInsecureTemplateFunctions))
skipInsecureTemplateFunctions = func() bool {
if runtime.V1Mode {
return false
}
b, _ := strconv.ParseBool(os.Getenv(envvar.SkipInsecureTemplateFunctions))
return b
}()
}
func (c *Context) createFuncMap() template.FuncMap {
@ -86,6 +98,9 @@ func (c *Context) createFuncMap() template.FuncMap {
funcMap["exec"] = func(string, []any, ...string) (string, error) {
return "", DisableInsecureFeaturesErr
}
funcMap["envExec"] = func(map[string]any, string, []any, ...string) (string, error) {
return "", DisableInsecureFeaturesErr
}
funcMap["readFile"] = func(string) (string, error) {
return "", DisableInsecureFeaturesErr
}

View File

@ -46,7 +46,12 @@ func TestCreateFuncMap_DisabledInsecureFeatures(t *testing.T) {
disableInsecureFeatures = currentVal
}
// TODO: Remove this function once Helmfile v0.x
func TestCreateFuncMap_SkipInsecureTemplateFunctions(t *testing.T) {
if runtime.V1Mode {
t.Logf("SkipInsecureTemplateFunctions is not supported in V1 mode")
return
}
currentVal := skipInsecureTemplateFunctions
{