cli(routes): allow image as positional argument instead of --image flag
- commit
- 39076abf04000fa5a313660c3029c74c2dddb248
- author
- bnema · · 2026-01-28 20:51 UTC
- committer
- bnema · · 2026-01-28 21:02 UTC
- parent
- 339400c
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +6 -8
M internal/adapters/in/cli/routes.go +6 -8
| @@ -250,21 +250,20 @@ func newRoutesAddCmd() *cobra.Command { | |||
| 250 | 250 | var image string | |
| 251 | 251 | ||
| 252 | 252 | cmd := &cobra.Command{ | |
| 253 | - | Use: "add <domain>", | |
| 253 | + | Use: "add <domain> <image>", | |
| 254 | 254 | Short: "Add a new route", | |
| 255 | 255 | Long: `Add a new route mapping a domain to a container image. | |
| 256 | 256 | ||
| 257 | 257 | Examples: | |
| 258 | - | gordon routes add app.mydomain.com --image myapp:latest | |
| 259 | - | gordon --remote https://gordon.mydomain.com routes add api.mydomain.com --image api:v2`, | |
| 260 | - | Args: cobra.ExactArgs(1), | |
| 258 | + | gordon routes add app.mydomain.com myapp:latest | |
| 259 | + | gordon --remote https://gordon.mydomain.com routes add api.mydomain.com api:v2`, | |
| 260 | + | Args: cobra.ExactArgs(2), | |
| 261 | 261 | RunE: func(cmd *cobra.Command, args []string) error { | |
| 262 | 262 | ctx := context.Background() | |
| 263 | 263 | routeDomain := args[0] | |
| 264 | 264 | ||
| 265 | 265 | if image == "" { | |
| 266 | - | fmt.Println(styles.RenderError("--image flag is required")) | |
| 267 | - | return nil | |
| 266 | + | image = args[1] | |
| 268 | 267 | } | |
| 269 | 268 | ||
| 270 | 269 | route := domain.Route{ | |
| @@ -292,8 +291,7 @@ Examples: | |||
| 292 | 291 | }, | |
| 293 | 292 | } | |
| 294 | 293 | ||
| 295 | - | cmd.Flags().StringVarP(&image, "image", "i", "", "Container image (required)") | |
| 296 | - | _ = cmd.MarkFlagRequired("image") | |
| 294 | + | cmd.Flags().StringVarP(&image, "image", "i", "", "Container image") | |
| 297 | 295 | ||
| 298 | 296 | return cmd | |
| 299 | 297 | } | |
| @@ -250,21 +250,20 @@ func newRoutesAddCmd() *cobra.Command { | |||||
| 250 | var image string | 250 | var image string | ||
| 251 | 251 | ||||
| 252 | cmd := &cobra.Command{ | 252 | cmd := &cobra.Command{ | ||
| 253 | - | Use: "add <domain>", | 253 | + | Use: "add <domain> <image>", |
| 254 | Short: "Add a new route", | 254 | Short: "Add a new route", | ||
| 255 | Long: `Add a new route mapping a domain to a container image. | 255 | Long: `Add a new route mapping a domain to a container image. | ||
| 256 | 256 | ||||
| 257 | Examples: | 257 | Examples: | ||
| 258 | - | gordon routes add app.mydomain.com --image myapp:latest | 258 | + | gordon routes add app.mydomain.com myapp:latest |
| 259 | - | gordon --remote https://gordon.mydomain.com routes add api.mydomain.com --image api:v2`, | 259 | + | gordon --remote https://gordon.mydomain.com routes add api.mydomain.com api:v2`, |
| 260 | - | Args: cobra.ExactArgs(1), | 260 | + | Args: cobra.ExactArgs(2), |
| 261 | RunE: func(cmd *cobra.Command, args []string) error { | 261 | RunE: func(cmd *cobra.Command, args []string) error { | ||
| 262 | ctx := context.Background() | 262 | ctx := context.Background() | ||
| 263 | routeDomain := args[0] | 263 | routeDomain := args[0] | ||
| 264 | 264 | ||||
| 265 | if image == "" { | 265 | if image == "" { | ||
| 266 | - | fmt.Println(styles.RenderError("--image flag is required")) | 266 | + | image = args[1] |
| 267 | - | return nil | |||
| 268 | } | 267 | } | ||
| 269 | 268 | ||||
| 270 | route := domain.Route{ | 269 | route := domain.Route{ | ||
| @@ -292,8 +291,7 @@ Examples: | |||||
| 292 | }, | 291 | }, | ||
| 293 | } | 292 | } | ||
| 294 | 293 | ||||
| 295 | - | cmd.Flags().StringVarP(&image, "image", "i", "", "Container image (required)") | 294 | + | cmd.Flags().StringVarP(&image, "image", "i", "", "Container image") |
| 296 | - | _ = cmd.MarkFlagRequired("image") | |||
| 297 | 295 | ||||
| 298 | return cmd | 296 | return cmd | ||
| 299 | } | 297 | } | ||