Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var InitCmd = &cobra.Command{ Use: "init", Short: "Setup dapr in Kubernetes or Standalone modes", PreRun: func(cmd *cobra.Command, args []string) { viper.BindPFlag("network", cmd.Flags().Lookup("network")) viper.BindPFlag("install-path", cmd.Flags().Lookup("install-path")) }, Run: func(cmd *cobra.Command, args []string) { print.PendingStatusEvent(os.Stdout, "Making the jump to hyperspace...") installLocation := viper.GetString("install-path") if kubernetesMode { print.InfoStatusEvent(os.Stdout, "Note: this installation is recommended for testing purposes. For production environments, please use Helm \n") err := kubernetes.Init() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) return } print.SuccessStatusEvent(os.Stdout, "Success! Dapr has been installed. To verify, run 'kubectl get pods -w' in your terminal") } else { dockerNetwork := viper.GetString("network") standalone.Uninstall(true, dockerNetwork) err := standalone.Init(runtimeVersion, dockerNetwork, installLocation) if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) return } print.SuccessStatusEvent(os.Stdout, "Success! Dapr is up and running") } }, }
View Source
var InvokeCmd = &cobra.Command{ Use: "invoke", Short: "Invokes a Dapr app with an optional payload", Run: func(cmd *cobra.Command, args []string) { response, err := invoke.InvokeApp(invokeAppID, invokeAppMethod, invokePayload) if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error invoking app %s: %s", invokeAppID, err)) return } if response != "" { fmt.Println(response) } print.SuccessStatusEvent(os.Stdout, "App invoked successfully") }, }
View Source
var ListCmd = &cobra.Command{ Use: "list", Short: "List all Dapr instances", Run: func(cmd *cobra.Command, args []string) { if kubernetesMode { list, err := kubernetes.List() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } table, err := gocsv.MarshalString(list) if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } utils.PrintTable(table) } else { list, err := standalone.List() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } if len(list) == 0 { fmt.Println("No Dapr instances found.") return } table, err := gocsv.MarshalString(list) if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } utils.PrintTable(table) } }, }
View Source
var PublishCmd = &cobra.Command{ Use: "publish", Short: "Publish an event to multiple consumers", Run: func(cmd *cobra.Command, args []string) { err := publish.PublishTopic(publishTopic, publishPayload) if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error publishing topic %s: %s", publishTopic, err)) return } print.SuccessStatusEvent(os.Stdout, "Event published successfully") }, }
View Source
var RootCmd = &cobra.Command{
Use: "dapr",
Short: "Dapr CLI",
Long: `
__
____/ /___ _____ _____
/ __ / __ '/ __ \/ ___/
/ /_/ / /_/ / /_/ / /
\__,_/\__,_/ .___/_/
/_/
======================================================
A serverless runtime for hyperscale, distributed systems`,
}
View Source
var RunCmd = &cobra.Command{ Use: "run", Short: "Launches Dapr and your app side by side", Args: cobra.MinimumNArgs(1), PreRun: func(cmd *cobra.Command, args []string) { viper.BindPFlag("placement-host", cmd.Flags().Lookup("placement-host")) viper.BindPFlag("redis-host", cmd.Flags().Lookup("redis-host")) }, Run: func(cmd *cobra.Command, args []string) { uuid, err := uuid.NewRandom() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) return } daprRunID := uuid.String() if kubernetesMode { output, err := kubernetes.Run(&kubernetes.RunConfig{ AppID: appID, AppPort: appPort, GRPCPort: grpcPort, HTTPPort: port, Arguments: args, Image: image, CodeDirectory: args[0], }) if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) return } print.InfoStatusEvent(os.Stdout, output.Message) } else { output, err := standalone.Run(&standalone.RunConfig{ AppID: appID, AppPort: appPort, HTTPPort: port, GRPCPort: grpcPort, ConfigFile: configFile, Arguments: args, EnableProfiling: enableProfiling, ProfilePort: profilePort, LogLevel: logLevel, MaxConcurrency: maxConcurrency, Protocol: protocol, RedisHost: viper.GetString("redis-host"), PlacementHost: viper.GetString("placement-host"), }) if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) return } var sigCh = make(chan os.Signal) signal.Notify(sigCh, syscall.SIGTERM, syscall.SIGINT) daprRunning := make(chan bool, 1) appRunning := make(chan bool, 1) daprRunCreatedTime := time.Now() go func() { print.InfoStatusEvent(os.Stdout, fmt.Sprintf("Starting Dapr with id %s. HTTP Port: %v. gRPC Port: %v", output.AppID, output.DaprHTTPPort, output.DaprGRPCPort)) stdErrPipe, err := output.DaprCMD.StderrPipe() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error creating stderr for Dapr: %s", err.Error())) os.Exit(1) } stdOutPipe, err := output.DaprCMD.StdoutPipe() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error creating stdout for Dapr: %s", err.Error())) os.Exit(1) } errScanner := bufio.NewScanner(stdErrPipe) outScanner := bufio.NewScanner(stdOutPipe) go func() { for errScanner.Scan() { fmt.Printf(print.Yellow(fmt.Sprintf("== DAPR == %s\n", errScanner.Text()))) } }() go func() { for outScanner.Scan() { fmt.Printf(print.Yellow(fmt.Sprintf("== DAPR == %s\n", outScanner.Text()))) } }() err = output.DaprCMD.Start() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } daprRunning <- true }() <-daprRunning go func() { stdErrPipe, err := output.AppCMD.StderrPipe() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error creating stderr for App: %s", err.Error())) os.Exit(1) } stdOutPipe, err := output.AppCMD.StdoutPipe() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error creating stdout for App: %s", err.Error())) os.Exit(1) } errScanner := bufio.NewScanner(stdErrPipe) outScanner := bufio.NewScanner(stdOutPipe) go func() { for errScanner.Scan() { fmt.Printf(print.Blue(fmt.Sprintf("== APP == %s\n", errScanner.Text()))) } }() go func() { for outScanner.Scan() { fmt.Printf(print.Blue(fmt.Sprintf("== APP == %s\n", outScanner.Text()))) } }() err = output.AppCMD.Start() if err != nil { print.FailureStatusEvent(os.Stdout, err.Error()) os.Exit(1) } appRunning <- true }() <-appRunning rundata.AppendRunData(&rundata.RunData{ DaprRunId: daprRunID, AppId: output.AppID, DaprHTTPPort: output.DaprHTTPPort, DaprGRPCPort: output.DaprGRPCPort, AppPort: appPort, Command: strings.Join(args, " "), Created: daprRunCreatedTime, PID: os.Getpid(), }) print.SuccessStatusEvent(os.Stdout, "You're up and running! Both Dapr and your app logs will appear here.\n") <-sigCh print.InfoStatusEvent(os.Stdout, "\nterminated signal received: shutting down") rundata.ClearRunData(daprRunID) err = output.DaprCMD.Process.Kill() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error exiting Dapr: %s", err)) } else { print.SuccessStatusEvent(os.Stdout, "Exited Dapr successfully") } err = output.AppCMD.Process.Kill() if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error exiting App: %s", err)) } else { print.SuccessStatusEvent(os.Stdout, "Exited App successfully") } } }, }
View Source
var StopCmd = &cobra.Command{ Use: "stop", Short: "Stops a running Dapr instance and its associated app", Run: func(cmd *cobra.Command, args []string) { err := standalone.Stop(stopAppID) if err != nil { print.FailureStatusEvent(os.Stdout, "failed to stop app id %s: %s", stopAppID, err) } else { print.SuccessStatusEvent(os.Stdout, "app stopped successfully") } }, }
View Source
var UninstallCmd = &cobra.Command{ Use: "uninstall", Short: "Removes a Dapr installation", PreRun: func(cmd *cobra.Command, args []string) { viper.BindPFlag("network", cmd.Flags().Lookup("network")) }, Run: func(cmd *cobra.Command, args []string) { print.InfoStatusEvent(os.Stdout, "Removing Dapr from your cluster...") var err error if uninstallKubernetes { err = kubernetes.Uninstall() } else { dockerNetwork := viper.GetString("network") err = standalone.Uninstall(uninstallAll, dockerNetwork) } if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error removing Dapr: %s", err)) } else { print.SuccessStatusEvent(os.Stdout, "Dapr has been removed successfully") } }, }
UninstallCmd is a command from removing a Dapr installation
Functions ¶
Types ¶
This section is empty.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.