Skip to content
This repository was archived by the owner on Dec 15, 2021. It is now read-only.

Commit 25afd67

Browse files
dimm0andresmgot
authored andcommitted
Disable runtime check if has no permissions to do so (#992)
* Disable runtime check if has no permissions to do so * Stupid error * Making sure nobody uses nil config
1 parent 6d371ae commit 25afd67

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

cmd/kubeless/function/deploy.go

+19-17
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,31 @@ var deployCmd = &cobra.Command{
4040
Run: func(cmd *cobra.Command, args []string) {
4141
cli := kubelessUtils.GetClientOutOfCluster()
4242
apiExtensionsClientset := kubelessUtils.GetAPIExtensionsClientOutOfCluster()
43-
config, err := kubelessUtils.GetKubelessConfig(cli, apiExtensionsClientset)
44-
if err != nil {
45-
logrus.Fatalf("Unable to read the configmap: %v", err)
46-
}
47-
48-
var lr = langruntime.New(config)
49-
lr.ReadConfigMap()
5043

5144
if len(args) != 1 {
5245
logrus.Fatal("Need exactly one argument - function name")
5346
}
5447
funcName := args[0]
5548

49+
runtime, err := cmd.Flags().GetString("runtime")
50+
if err != nil {
51+
logrus.Fatal(err)
52+
}
53+
54+
// Checking runtime parameter if allowed by RBAC, otherwide skip the check
55+
config, err := kubelessUtils.GetKubelessConfig(cli, apiExtensionsClientset)
56+
if config == nil || err != nil {
57+
logrus.Warnf("%v. Runtime check is disabled.", err)
58+
} else {
59+
lr := langruntime.New(config)
60+
lr.ReadConfigMap()
61+
62+
if runtime != "" && !lr.IsValidRuntime(runtime) {
63+
logrus.Fatalf("Invalid runtime: %s. Supported runtimes are: %s",
64+
runtime, strings.Join(lr.GetRuntimes(), ", "))
65+
}
66+
}
67+
5668
schedule, err := cmd.Flags().GetString("schedule")
5769
if err != nil {
5870
logrus.Fatal(err)
@@ -74,16 +86,6 @@ var deployCmd = &cobra.Command{
7486
logrus.Fatal(err)
7587
}
7688

77-
runtime, err := cmd.Flags().GetString("runtime")
78-
if err != nil {
79-
logrus.Fatal(err)
80-
}
81-
82-
if runtime != "" && !lr.IsValidRuntime(runtime) {
83-
logrus.Fatalf("Invalid runtime: %s. Supported runtimes are: %s",
84-
runtime, strings.Join(lr.GetRuntimes(), ", "))
85-
}
86-
8789
handler, err := cmd.Flags().GetString("handler")
8890
if err != nil {
8991
logrus.Fatal(err)

0 commit comments

Comments
 (0)