@@ -7,43 +7,12 @@ import (
77 "github.com/ory/viper"
88 "github.com/spf13/cobra"
99
10+ "knative.dev/func/cmd/common"
1011 "knative.dev/func/pkg/config"
1112 fn "knative.dev/func/pkg/functions"
1213)
1314
14- type functionLoader interface {
15- Load (path string ) (fn.Function , error )
16- }
17-
18- type functionSaver interface {
19- Save (f fn.Function ) error
20- }
21-
22- type functionLoaderSaver interface {
23- functionLoader
24- functionSaver
25- }
26-
27- type standardLoaderSaver struct {}
28-
29- func (s standardLoaderSaver ) Load (path string ) (fn.Function , error ) {
30- f , err := fn .NewFunction (path )
31- if err != nil {
32- return fn.Function {}, fmt .Errorf ("failed to create new function (path: %q): %w" , path , err )
33- }
34- if ! f .Initialized () {
35- return fn.Function {}, fn .NewErrNotInitialized (f .Root )
36- }
37- return f , nil
38- }
39-
40- func (s standardLoaderSaver ) Save (f fn.Function ) error {
41- return f .Write ()
42- }
43-
44- var defaultLoaderSaver standardLoaderSaver
45-
46- func NewConfigCmd (loadSaver functionLoaderSaver , newClient ClientFactory ) * cobra.Command {
15+ func NewConfigCmd (loadSaver common.FunctionLoaderSaver , newClient ClientFactory ) * cobra.Command {
4716 cmd := & cobra.Command {
4817 Use : "config" ,
4918 Short : "Configure a function" ,
@@ -69,13 +38,14 @@ or from the directory specified with --path.
6938 cmd .AddCommand (NewConfigLabelsCmd (loadSaver ))
7039 cmd .AddCommand (NewConfigEnvsCmd (loadSaver ))
7140 cmd .AddCommand (NewConfigVolumesCmd ())
41+ cmd .AddCommand (NewConfigCICmd (loadSaver ))
7242
7343 return cmd
7444}
7545
7646func runConfigCmd (cmd * cobra.Command , args []string ) (err error ) {
7747
78- function , err := initConfigCommand (defaultLoaderSaver )
48+ function , err := initConfigCommand (common . DefaultLoaderSaver )
7949 if err != nil {
8050 return
8151 }
@@ -117,7 +87,7 @@ func runConfigCmd(cmd *cobra.Command, args []string) (err error) {
11787 case "Environment variables" :
11888 err = runAddEnvsPrompt (cmd .Context (), function )
11989 case "Labels" :
120- err = runAddLabelsPrompt (cmd .Context (), function , defaultLoaderSaver )
90+ err = runAddLabelsPrompt (cmd .Context (), function , common . DefaultLoaderSaver )
12191 case "Git" :
12292 err = runConfigGitSetCmd (cmd , NewClient )
12393 }
@@ -128,7 +98,7 @@ func runConfigCmd(cmd *cobra.Command, args []string) (err error) {
12898 case "Environment variables" :
12999 err = runRemoveEnvsPrompt (function )
130100 case "Labels" :
131- err = runRemoveLabelsPrompt (function , defaultLoaderSaver )
101+ err = runRemoveLabelsPrompt (function , common . DefaultLoaderSaver )
132102 case "Git" :
133103 err = runConfigGitRemoveCmd (cmd , NewClient )
134104 }
@@ -163,7 +133,7 @@ func newConfigCmdConfig() configCmdConfig {
163133 }
164134}
165135
166- func initConfigCommand (loader functionLoader ) (fn.Function , error ) {
136+ func initConfigCommand (loader common. FunctionLoader ) (fn.Function , error ) {
167137 config := newConfigCmdConfig ()
168138
169139 function , err := loader .Load (config .Path )
0 commit comments