From 89ff286a1f3afae655a2c724a05cb3bc3c281786 Mon Sep 17 00:00:00 2001 From: Lance Ball Date: Tue, 27 Apr 2021 10:46:50 -0400 Subject: [PATCH] refactor!: change envVars to env in func.yaml (#316) There are some places where I've changed variable and function names where it wasn't strictly necessary. If you don't mind the bit of churn that results, changing these makes `rg -i envvars` a nice way to check for anything that could be overlooked. Signed-off-by: Lance Ball --- cmd/deploy.go | 6 +++--- cmd/root.go | 19 ++++++++++--------- cmd/run.go | 7 ++++--- config.go | 6 +++--- docker/runner.go | 11 ++++++----- function.go | 2 +- knative/deployer.go | 24 ++++++++++++------------ 7 files changed, 39 insertions(+), 36 deletions(-) diff --git a/cmd/deploy.go b/cmd/deploy.go index 590ec5ad11..48331f2367 100644 --- a/cmd/deploy.go +++ b/cmd/deploy.go @@ -71,7 +71,7 @@ func runDeploy(cmd *cobra.Command, _ []string) (err error) { return } - function.EnvVars = mergeEnvVarsMaps(function.EnvVars, config.EnvVars) + function.Env = mergeEnvMaps(function.Env, config.Env) // Check if the Function has been initialized if !function.Initialized() { @@ -250,7 +250,7 @@ type deployConfig struct { // Build the associated Function before deploying. Build bool - EnvVars map[string]string + Env map[string]string } // newDeployConfig creates a buildConfig populated from command flags and @@ -263,7 +263,7 @@ func newDeployConfig(cmd *cobra.Command) deployConfig { Verbose: viper.GetBool("verbose"), // defined on root Confirm: viper.GetBool("confirm"), Build: viper.GetBool("build"), - EnvVars: envVarsFromCmd(cmd), + Env: envFromCmd(cmd), } } diff --git a/cmd/root.go b/cmd/root.go index 91a2630133..fffc1ebd1c 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -3,11 +3,12 @@ package cmd import ( "context" "fmt" - "github.com/pkg/errors" "os" "path/filepath" "strings" + "github.com/pkg/errors" + "github.com/mitchellh/go-homedir" "github.com/ory/viper" "github.com/spf13/cobra" @@ -252,25 +253,25 @@ func deriveImage(explicitImage, defaultRegistry, path string) string { return derivedValue // Use the func system's derivation logic. } -func envVarsFromCmd(cmd *cobra.Command) map[string]string { - envVarsM := make(map[string]string) +func envFromCmd(cmd *cobra.Command) map[string]string { + envM := make(map[string]string) if cmd.Flags().Changed("env") { - envVarsA, err := cmd.Flags().GetStringArray("env") + envA, err := cmd.Flags().GetStringArray("env") if err == nil { - for _, s := range envVarsA { + for _, s := range envA { kvp := strings.Split(s, "=") if len(kvp) == 2 && kvp[0] != "" { - envVarsM[kvp[0]] = kvp[1] + envM[kvp[0]] = kvp[1] } else if len(kvp) == 1 && kvp[0] != "" { - envVarsM[kvp[0]] = "" + envM[kvp[0]] = "" } } } } - return envVarsM + return envM } -func mergeEnvVarsMaps(dest, src map[string]string) map[string]string { +func mergeEnvMaps(dest, src map[string]string) map[string]string { result := make(map[string]string, len(dest)+len(src)) for name, value := range dest { diff --git a/cmd/run.go b/cmd/run.go index fb299cd6a6..23a42b3330 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -2,6 +2,7 @@ package cmd import ( "fmt" + "github.com/ory/viper" "github.com/spf13/cobra" @@ -44,7 +45,7 @@ func runRun(cmd *cobra.Command, args []string) (err error) { return } - function.EnvVars = mergeEnvVarsMaps(function.EnvVars, config.EnvVars) + function.Env = mergeEnvMaps(function.Env, config.Env) err = function.WriteConfig() if err != nil { @@ -75,13 +76,13 @@ type runConfig struct { // Verbose logging. Verbose bool - EnvVars map[string]string + Env map[string]string } func newRunConfig(cmd *cobra.Command) runConfig { return runConfig{ Path: viper.GetString("path"), Verbose: viper.GetBool("verbose"), // defined on root - EnvVars: envVarsFromCmd(cmd), + Env: envFromCmd(cmd), } } diff --git a/config.go b/config.go index 104802dfa9..5875d94d69 100644 --- a/config.go +++ b/config.go @@ -22,7 +22,7 @@ type config struct { Trigger string `yaml:"trigger"` Builder string `yaml:"builder"` BuilderMap map[string]string `yaml:"builderMap"` - EnvVars map[string]string `yaml:"envVars"` + Env map[string]string `yaml:"env"` // Add new values to the toConfig/fromConfig functions. } @@ -60,7 +60,7 @@ func fromConfig(c config) (f Function) { Trigger: c.Trigger, Builder: c.Builder, BuilderMap: c.BuilderMap, - EnvVars: c.EnvVars, + Env: c.Env, } } @@ -75,7 +75,7 @@ func toConfig(f Function) config { Trigger: f.Trigger, Builder: f.Builder, BuilderMap: f.BuilderMap, - EnvVars: f.EnvVars, + Env: f.Env, } } diff --git a/docker/runner.go b/docker/runner.go index d42168d828..50f10fca5d 100644 --- a/docker/runner.go +++ b/docker/runner.go @@ -3,14 +3,15 @@ package docker import ( "context" "fmt" + "os" + "strings" + "time" + "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/pkg/stdcopy" "github.com/docker/go-connections/nat" "github.com/pkg/errors" - "os" - "strings" - "time" "github.com/docker/docker/client" @@ -42,8 +43,8 @@ func (n *Runner) Run(ctx context.Context, f bosonFunc.Function) error { return errors.New("Function has no associated Image. Has it been built?") } - envs := make([]string, 0, len(f.EnvVars)+1) - for name, value := range f.EnvVars { + envs := make([]string, 0, len(f.Env)+1) + for name, value := range f.Env { if !strings.HasSuffix(name, "-") { envs = append(envs, fmt.Sprintf("%s=%s", name, value)) } diff --git a/function.go b/function.go index ec4ec9c3f1..662bc1daf8 100644 --- a/function.go +++ b/function.go @@ -52,7 +52,7 @@ type Function struct { // e.g. { "jvm": "docker.io/example/quarkus-jvm-builder" } BuilderMap map[string]string - EnvVars map[string]string + Env map[string]string } // NewFunction loads a Function from a path on disk. use .Initialized() to determine if diff --git a/knative/deployer.go b/knative/deployer.go index 1c492ec87e..a1f414982c 100644 --- a/knative/deployer.go +++ b/knative/deployer.go @@ -52,7 +52,7 @@ func (d *Deployer) Deploy(ctx context.Context, f bosonFunc.Function) (err error) if d.Verbose { fmt.Printf("Creating Knative Service: %v\n", f.Name) } - service, err := generateNewService(f.Name, f.ImageWithDigest(), f.Runtime, f.EnvVars) + service, err := generateNewService(f.Name, f.ImageWithDigest(), f.Runtime, f.Env) if err != nil { err = fmt.Errorf("knative deployer failed to generate the service: %v", err) return err @@ -86,7 +86,7 @@ func (d *Deployer) Deploy(ctx context.Context, f bosonFunc.Function) (err error) } } else { // Update the existing Service - err = client.UpdateServiceWithRetry(f.Name, updateService(f.ImageWithDigest(), f.EnvVars), 3) + err = client.UpdateServiceWithRetry(f.Name, updateService(f.ImageWithDigest(), f.Env), 3) if err != nil { err = fmt.Errorf("knative deployer failed to update the service: %v", err) return err @@ -114,7 +114,7 @@ func probeFor(url string) *corev1.Probe { } } -func generateNewService(name, image, runtime string, envVars map[string]string) (*servingv1.Service, error) { +func generateNewService(name, image, runtime string, env map[string]string) (*servingv1.Service, error) { containers := []corev1.Container{ { Image: image, @@ -147,10 +147,10 @@ func generateNewService(name, image, runtime string, envVars map[string]string) }, } - return setEnvVars(service, envVars) + return setEnv(service, env) } -func updateService(image string, envVars map[string]string) func(service *servingv1.Service) (*servingv1.Service, error) { +func updateService(image string, env map[string]string) func(service *servingv1.Service) (*servingv1.Service, error) { return func(service *servingv1.Service) (*servingv1.Service, error) { // Removing the name so the k8s server can fill it in with generated name, // this prevents conflicts in Revision name when updating the KService from multiple places. @@ -160,7 +160,7 @@ func updateService(image string, envVars map[string]string) func(service *servin if err != nil { return service, err } - return setEnvVars(service, envVars) + return setEnv(service, env) } } @@ -187,14 +187,14 @@ func processValue(val string) (string, error) { } } -func setEnvVars(service *servingv1.Service, envVars map[string]string) (*servingv1.Service, error) { - builtEnvVarName := "BUILT" - builtEnvVarValue := time.Now().Format("20060102T150405") +func setEnv(service *servingv1.Service, env map[string]string) (*servingv1.Service, error) { + builtEnvName := "BUILT" + builtEnvValue := time.Now().Format("20060102T150405") - toUpdate := make(map[string]string, len(envVars)+1) + toUpdate := make(map[string]string, len(env)+1) toRemove := make([]string, 0) - for name, value := range envVars { + for name, value := range env { if strings.HasSuffix(name, "-") { toRemove = append(toRemove, strings.TrimSuffix(name, "-")) } else { @@ -202,7 +202,7 @@ func setEnvVars(service *servingv1.Service, envVars map[string]string) (*serving } } - toUpdate[builtEnvVarName] = builtEnvVarValue + toUpdate[builtEnvName] = builtEnvValue for idx, val := range toUpdate { v, err := processValue(val)