MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / addPersistentFlags

Function addPersistentFlags

internal/cli/root.go:145–238  ·  view source on GitHub ↗

addPersistentFlags adds all the persistent flags to the root command

(cmd *cobra.Command)

Source from the content-addressed store, hash-verified

143
144// addPersistentFlags adds all the persistent flags to the root command
145func addPersistentFlags(cmd *cobra.Command) {
146 // Bootstrap flags
147 cmd.PersistentFlags().StringP("config", "c", "", "Path to YAML config file")
148 cmd.PersistentFlags().StringP("profile", "p", "", "Connection profile to use (overrides default_profile)")
149 cmd.PersistentFlags().BoolP("no-cache", "n", false, "Disable caching")
150 cmd.PersistentFlags().BoolP("version", "v", false, "Show version information")
151 cmd.PersistentFlags().BoolP("config-wizard", "w", false, "Launch interactive config wizard and exit")
152 cmd.PersistentFlags().Bool("list-profiles", false, "List available connection profiles/groups and exit")
153
154 // Config flags
155 cmd.PersistentFlags().String("addr", "", "Proxmox API URL")
156 cmd.PersistentFlags().String("user", "", "Proxmox username")
157 cmd.PersistentFlags().String("password", "", "Proxmox password")
158 cmd.PersistentFlags().String("token-id", "", "Proxmox API token ID")
159 cmd.PersistentFlags().String("token-secret", "", "Proxmox API token secret")
160 cmd.PersistentFlags().String("realm", "", "Proxmox realm")
161 cmd.PersistentFlags().Bool("insecure", false, "Skip TLS verification")
162 cmd.PersistentFlags().String("api-path", "", "Proxmox API path")
163 cmd.PersistentFlags().String("ssh-user", "", "SSH username")
164 cmd.PersistentFlags().String("vm-ssh-user", "", "QEMU VM SSH username (defaults to ssh-user)")
165 cmd.PersistentFlags().String("ssh-keyfile", "", "SSH private key file path")
166 cmd.PersistentFlags().String("vm-ssh-keyfile", "", "SSH private key file path for QEMU VM connections (defaults to ssh-keyfile)")
167 cmd.PersistentFlags().String("ssh-jumphost-addr", "", "SSH jump host address")
168 cmd.PersistentFlags().String("ssh-jumphost-user", "", "SSH jump host user")
169 cmd.PersistentFlags().String("ssh-jumphost-keyfile", "", "SSH jump host identity file")
170 cmd.PersistentFlags().Int("ssh-jumphost-port", 0, "SSH jump host port")
171 cmd.PersistentFlags().Bool("debug", false, "Enable debug logging")
172 cmd.PersistentFlags().String("cache-dir", "", "Cache directory path")
173 cmd.PersistentFlags().String("age-dir", "", "Age key directory path")
174 cmd.PersistentFlags().Bool("show-icons", true, "Show icons/emojis in UI (env: PVETUI_SHOW_ICONS)")
175
176 // Bind flags to environment variables
177 viper.SetEnvPrefix("PVETUI")
178 viper.AutomaticEnv()
179
180 // Bind each flag to its corresponding environment variable
181 if err := viper.BindPFlag("addr", cmd.PersistentFlags().Lookup("addr")); err != nil {
182 panic(fmt.Sprintf("failed to bind addr flag: %v", err))
183 }
184 if err := viper.BindPFlag("user", cmd.PersistentFlags().Lookup("user")); err != nil {
185 panic(fmt.Sprintf("failed to bind user flag: %v", err))
186 }
187 if err := viper.BindPFlag("password", cmd.PersistentFlags().Lookup("password")); err != nil {
188 panic(fmt.Sprintf("failed to bind password flag: %v", err))
189 }
190 if err := viper.BindPFlag("token_id", cmd.PersistentFlags().Lookup("token-id")); err != nil {
191 panic(fmt.Sprintf("failed to bind token_id flag: %v", err))
192 }
193 if err := viper.BindPFlag("token_secret", cmd.PersistentFlags().Lookup("token-secret")); err != nil {
194 panic(fmt.Sprintf("failed to bind token_secret flag: %v", err))
195 }
196 if err := viper.BindPFlag("realm", cmd.PersistentFlags().Lookup("realm")); err != nil {
197 panic(fmt.Sprintf("failed to bind realm flag: %v", err))
198 }
199 if err := viper.BindPFlag("insecure", cmd.PersistentFlags().Lookup("insecure")); err != nil {
200 panic(fmt.Sprintf("failed to bind insecure flag: %v", err))
201 }
202 if err := viper.BindPFlag("api_path", cmd.PersistentFlags().Lookup("api-path")); err != nil {

Callers 1

initFunction · 0.85

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected