File tree Expand file tree Collapse file tree 1 file changed +23
-3
lines changed
Expand file tree Collapse file tree 1 file changed +23
-3
lines changed Original file line number Diff line number Diff line change 11package flags
22
33import (
4+ "bufio"
45 "errors"
56 "io/ioutil"
67 "os"
@@ -453,10 +454,29 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) {
453454
454455// getSecretFromFile will check if the flag contains a reference to a file; if it does, replaces the value of the flag with the contents of the file.
455456func getSecretFromFile (flags * pflag.FlagSet , secret string ) {
456- value , err := flags .GetString (secret )
457- if err != nil {
458- log .Error (err )
457+ flag := flags .Lookup (secret )
458+ if sliceValue , ok := flag .Value .(pflag.SliceValue ); ok {
459+ oldValues := sliceValue .GetSlice ()
460+ values := make ([]string , 0 , len (oldValues ))
461+ for _ , value := range oldValues {
462+ if value != "" && isFile (value ) {
463+ file , err := os .Open (value )
464+ if err != nil {
465+ log .Fatal (err )
466+ }
467+ scanner := bufio .NewScanner (file )
468+ for scanner .Scan () {
469+ values = append (values , scanner .Text ())
470+ }
471+ } else {
472+ values = append (values , value )
473+ }
474+ }
475+ sliceValue .Replace (values )
476+ return
459477 }
478+
479+ value := flag .Value .String ()
460480 if value != "" && isFile (value ) {
461481 file , err := ioutil .ReadFile (value )
462482 if err != nil {
You can’t perform that action at this time.
0 commit comments