@@ -40,19 +40,31 @@ var deployCmd = &cobra.Command{
40
40
Run : func (cmd * cobra.Command , args []string ) {
41
41
cli := kubelessUtils .GetClientOutOfCluster ()
42
42
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 ()
50
43
51
44
if len (args ) != 1 {
52
45
logrus .Fatal ("Need exactly one argument - function name" )
53
46
}
54
47
funcName := args [0 ]
55
48
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
+
56
68
schedule , err := cmd .Flags ().GetString ("schedule" )
57
69
if err != nil {
58
70
logrus .Fatal (err )
@@ -74,16 +86,6 @@ var deployCmd = &cobra.Command{
74
86
logrus .Fatal (err )
75
87
}
76
88
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
-
87
89
handler , err := cmd .Flags ().GetString ("handler" )
88
90
if err != nil {
89
91
logrus .Fatal (err )
0 commit comments