ソースを参照

allow to specify username when register to lapi (#505)

Co-authored-by: AlteredCoder <AlteredCoder>
AlteredCoder 4 年 前
コミット
d057d811b2
1 ファイル変更9 行追加5 行削除
  1. 9 5
      cmd/crowdsec-cli/lapi.go

+ 9 - 5
cmd/crowdsec-cli/lapi.go

@@ -20,6 +20,7 @@ import (
 )
 )
 
 
 var LAPIURLPrefix string = "v1"
 var LAPIURLPrefix string = "v1"
+var lapiUser string
 
 
 func NewLapiCmd() *cobra.Command {
 func NewLapiCmd() *cobra.Command {
 	var cmdLapi = &cobra.Command{
 	var cmdLapi = &cobra.Command{
@@ -45,9 +46,11 @@ Keep in mind the machine needs to be validated by an administrator on LAPI side
 		Args: cobra.MinimumNArgs(0),
 		Args: cobra.MinimumNArgs(0),
 		Run: func(cmd *cobra.Command, args []string) {
 		Run: func(cmd *cobra.Command, args []string) {
 			var err error
 			var err error
-			id, err := generateID()
-			if err != nil {
-				log.Fatalf("unable to generate machine id: %s", err)
+			if lapiUser == "" {
+				lapiUser, err = generateID()
+				if err != nil {
+					log.Fatalf("unable to generate machine id: %s", err)
+				}
 			}
 			}
 			password := strfmt.Password(generatePassword(passwordLength))
 			password := strfmt.Password(generatePassword(passwordLength))
 			if apiURL == "" {
 			if apiURL == "" {
@@ -70,7 +73,7 @@ Keep in mind the machine needs to be validated by an administrator on LAPI side
 				log.Fatalf("parsing api url: %s", err)
 				log.Fatalf("parsing api url: %s", err)
 			}
 			}
 			_, err = apiclient.RegisterClient(&apiclient.Config{
 			_, err = apiclient.RegisterClient(&apiclient.Config{
-				MachineID:     id,
+				MachineID:     lapiUser,
 				Password:      password,
 				Password:      password,
 				UserAgent:     fmt.Sprintf("crowdsec/%s", cwversion.VersionStr()),
 				UserAgent:     fmt.Sprintf("crowdsec/%s", cwversion.VersionStr()),
 				URL:           apiurl,
 				URL:           apiurl,
@@ -90,7 +93,7 @@ Keep in mind the machine needs to be validated by an administrator on LAPI side
 				dumpFile = ""
 				dumpFile = ""
 			}
 			}
 			apiCfg := csconfig.ApiCredentialsCfg{
 			apiCfg := csconfig.ApiCredentialsCfg{
-				Login:    id,
+				Login:    lapiUser,
 				Password: password.String(),
 				Password: password.String(),
 				URL:      apiURL,
 				URL:      apiURL,
 			}
 			}
@@ -112,6 +115,7 @@ Keep in mind the machine needs to be validated by an administrator on LAPI side
 	}
 	}
 	cmdLapiRegister.Flags().StringVarP(&apiURL, "url", "u", "", "URL of the API (ie. http://127.0.0.1)")
 	cmdLapiRegister.Flags().StringVarP(&apiURL, "url", "u", "", "URL of the API (ie. http://127.0.0.1)")
 	cmdLapiRegister.Flags().StringVarP(&outputFile, "file", "f", "", "output file destination")
 	cmdLapiRegister.Flags().StringVarP(&outputFile, "file", "f", "", "output file destination")
+	cmdLapiRegister.Flags().StringVar(&lapiUser, "username", "", "output file destination")
 	cmdLapi.AddCommand(cmdLapiRegister)
 	cmdLapi.AddCommand(cmdLapiRegister)
 
 
 	var cmdLapiStatus = &cobra.Command{
 	var cmdLapiStatus = &cobra.Command{