Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AgentCmd = &cli.Command{ Name: "agent", Usage: "Knot agent", Description: `Knot agent commands.`, Commands: []*cli.Command{ agentServerCmd, space.SpaceNoteCmd, space.SpaceSetFieldCmd, space.SpaceGetFieldCmd, space.SpaceShutdownCmd, space.SpaceRestartCmd, }, }
View Source
var RunScriptCmd = &cli.Command{ Name: "run-script", Usage: "Run a scriptling script", Description: "Execute a scriptling script from disk or by name from the server.", MaxArgs: cli.UnlimitedArgs, Arguments: []cli.Argument{ &cli.StringArg{ Name: "script", Usage: "Script name or file path", Required: true, }, }, Flags: []cli.Flag{ &cli.StringFlag{ Name: "alias", Aliases: []string{"a"}, Usage: "Server alias to use for fetching scripts.", DefaultValue: "default", }, &cli.BoolFlag{ Name: "tls-skip-verify", Usage: "Skip TLS verification.", EnvVars: []string{"KNOT_TLS_SKIP_VERIFY"}, }, }, Run: func(ctx context.Context, cmd *cli.Command) error { script := cmd.GetStringArg("script") args := cmd.GetArgs() client, err := cmdutil.GetClient(cmd) if err != nil { return fmt.Errorf("failed to create API client: %w", err) } client.SetTimeout(5 * time.Minute) user, err := client.WhoAmI(ctx) if err != nil { return fmt.Errorf("failed to get user: %w", err) } var scriptContent string if _, err := os.Stat(script); err == nil { content, err := os.ReadFile(script) if err != nil { return fmt.Errorf("failed to read script file: %w", err) } scriptContent = string(content) } else { scriptContent, err = client.GetScriptByName(ctx, script) if err != nil { return fmt.Errorf("failed to get script: %w", err) } } argv := append([]string{script}, args...) _, err = service.RunScript(ctx, scriptContent, argv, client, user.Id) if err != nil { return fmt.Errorf("script execution failed: %w", err) } return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.