run

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Command = &cobra.Command{
	Use:   "run COMMAND [ARGUMENT ...]",
	Short: "Start a process",
	Args:  cobra.MinimumNArgs(1),
	Run: utilities.RunCommand(func(output *output.Output, cmd *cobra.Command, args []string) {
		client, err := utilities.Client()
		if err != nil {
			output.Add(
				"error",
				outputs.Fatal(err),
			)
			return
		}

		environmentMap := envfmt.ToKeyValueMap(environment)
		for _, file := range environmentFiles {
			fileEnvMap, err := envfmt.ReadFile(file)
			if err != nil {
				output.Add(
					"error",
					outputs.Error(fmt.Sprintf("failed to read the environment file - %s", file), err),
				)
				return
			}
			maps.Copy(environmentMap, fileEnvMap)
		}

		timeout, cancel := utilities.Timeout()
		defer cancel()

		reply, err := client.ProcessManager.Start(
			timeout,
			&pb.StartRequest{
				Configuration: &pb.ProcessConfiguration{

					Command:     args[0],
					Arguments:   args[1:],
					Environment: environmentMap,
					Name:        name,
					Persist:     persist,
					RestartPolicy: &pb.ProcessConfiguration_RestartPolicy{
						AutoRestart: restart,
						MaxRetries:  restartMaxRetries,
						Delay:       durationpb.New(restartDelay),
					},
					WorkingDirectory: workingDirectory,
				},
			},
		)
		if out := outputs.ToError(reply, err); out != nil {
			output.Add("error", out)
			return
		}

		output.Add(
			"process",
			outputs.Process(reply.GetProcess()),
		)
	}),
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL