Merge pull request #2900 from Shell32-Natsu/add-fn-env

add --fn-env flag to fn run
This commit is contained in:
Jeff Regan
2020-08-27 14:38:51 -07:00
committed by GitHub
2 changed files with 29 additions and 0 deletions

View File

@@ -67,6 +67,9 @@ func GetRunFnRunner(name string) *RunFnRunner {
"a list of storage options read from the filesystem")
r.Command.Flags().StringVar(
&r.User, "fn-user", "nobody", "the username/uid used to run function in container")
r.Command.Flags().StringArrayVar(
&r.Env, "fn-env", []string{},
"a list of environment variables that will be exposed to container. Each item can be key=value pair or a key name of exported env.")
return r
}
@@ -94,6 +97,7 @@ type RunFnRunner struct {
NetworkName string
Mounts []string
User string
Env []string
}
func (r *RunFnRunner) runE(c *cobra.Command, args []string) error {
@@ -309,6 +313,7 @@ func (r *RunFnRunner) preRunE(c *cobra.Command, args []string) error {
StorageMounts: storageMounts,
ResultsDir: r.ResultsDir,
User: runtimeutil.ContainerUser(r.User),
Env: r.Env,
}
// don't consider args for the function

View File

@@ -204,6 +204,7 @@ apiVersion: v1
NetworkName: "bridge",
EnableStarlark: true,
User: "nobody",
Env: []string{},
},
},
{
@@ -258,6 +259,7 @@ apiVersion: v1
NetworkName: "bridge",
ResultsDir: "foo/",
User: "nobody",
Env: []string{},
},
expected: `
metadata:
@@ -293,6 +295,28 @@ apiVersion: v1
Path: "dir",
NetworkName: "bridge",
User: "root",
Env: []string{},
},
expected: `
metadata:
name: function-input
annotations:
config.kubernetes.io/function: |
container: {image: 'foo:bar'}
data: {}
kind: ConfigMap
apiVersion: v1
`,
},
{
name: "specify env",
args: []string{"run", "dir", "--fn-env", "foo=bar", "--fn-env", "baz", "--image", "foo:bar"},
path: "dir",
expectedStruct: &runfn.RunFns{
Path: "dir",
NetworkName: "bridge",
User: "nobody",
Env: []string{"foo=bar", "baz"},
},
expected: `
metadata: