()
| 101 | } |
| 102 | |
| 103 | func newCommunityScriptsInstallCmd() *cobra.Command { |
| 104 | cmd := &cobra.Command{ |
| 105 | Use: "install <slug-or-name> --node <node>", |
| 106 | Aliases: []string{"deploy"}, |
| 107 | Short: "Install a community script on a Proxmox node", |
| 108 | Long: `Install a Proxmox Community Script on the selected node. |
| 109 | |
| 110 | Installer output is streamed to stderr so stdout can contain the final structured |
| 111 | result. Many upstream installers are interactive and may prompt in the terminal. |
| 112 | Use --yes with --set var_name=value overrides for unattended deployments.`, |
| 113 | Example: ` pvetui community-scripts install nextcloud --node pve01 |
| 114 | pvetui --profile prod community-scripts deploy grafana --node pve02 --yes --set var_hostname=grafana --set var_cpu=2 --set var_ram=2048`, |
| 115 | Args: cobra.ExactArgs(1), |
| 116 | RunE: runCommunityScriptsInstall, |
| 117 | ValidArgsFunction: completeCommunityScriptSlugs, |
| 118 | } |
| 119 | |
| 120 | addCommunityScriptDeployFlags(cmd) |
| 121 | _ = cmd.MarkFlagRequired("node") |
| 122 | |
| 123 | return cmd |
| 124 | } |
| 125 | |
| 126 | func newCommunityScriptsPlanCmd() *cobra.Command { |
| 127 | cmd := &cobra.Command{ |
no test coverage detected