-
Notifications
You must be signed in to change notification settings - Fork 770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues regarding CLI. Perhaps switching to Cobra? #253
Milestone
Comments
+1 for cobra, but we need to make sure we don't introduce new bugs. |
+1 for cobra also. It looks like it is more powerful. Plus we already have it in Kompose codebase as Kubernetes dependency. |
+1 Cobra is great. The original kompose was a fork of libcompose that's why it's using urfave/cli. |
cdrage
added a commit
to cdrage/kompose
that referenced
this issue
Dec 21, 2016
There's A LOT happening in this commit, so here's an outline: First off, urfave/cli has been removed in favour of spf13/cobra. With this, comes changes to the formatting as well as the help page for Kompose. Upon converting, I noticed a CLI flag was NOT appearing for OpenShift. Specifically, --deploymentconfig. This has been added with a note that says it is OpenShift only. Exit codes have been fixed. If the conversion / down / up fails for any reason, Kompose will exit with Code 1. --verbose as well as --suppress-warnings can now be set at the same time. app_test.go in the cli directory has been moved to pkg/transformer to better reflect the testing coverage. version.go has been removed and converted to it's own CLI command in conjuction with (most) Go software. A new CLI command has been created. kompose version --dab isn't a conventional way for short-form CLI paramters. This has been shortened to -b for bundle. CLI flags consisting of only two/three letters have been removed due to it being unconventional for CLI. For example, --dc was removed in preference for --deploymentconfig --replicas has been added as an option when using kompose down or kompose up. This has been added as previously in app.go the replica amount was hard-coded as 1. Differentiating names have been used for flags. For example, persistent flags use the name Global (ex. GlobalOut). Command-specific flags have their own names (ex. UpOpt). Closes kubernetes#239 kubernetes#253
cdrage
added a commit
to cdrage/kompose
that referenced
this issue
Dec 21, 2016
There's A LOT happening in this commit, so here's an outline: First off, urfave/cli has been removed in favour of spf13/cobra. With this, comes changes to the formatting as well as the help page for Kompose. Upon converting, I noticed a CLI flag was NOT appearing for OpenShift. Specifically, --deploymentconfig. This has been added with a note that says it is OpenShift only. Exit codes have been fixed. If the conversion / down / up fails for any reason, Kompose will exit with Code 1. --verbose as well as --suppress-warnings can now be set at the same time. app_test.go in the cli directory has been moved to pkg/transformer to better reflect the testing coverage. version.go has been removed and converted to it's own CLI command in conjuction with (most) Go software. A new CLI command has been created. kompose version --dab isn't a conventional way for short-form CLI paramters. This has been shortened to -b for bundle. CLI flags consisting of only two/three letters have been removed due to it being unconventional for CLI. For example, --dc was removed in preference for --deploymentconfig --replicas has been added as an option when using kompose down or kompose up. This has been added as previously in app.go the replica amount was hard-coded as 1. Differentiating names have been used for flags. For example, persistent flags use the name Global (ex. GlobalOut). Command-specific flags have their own names (ex. UpOpt). Closes kubernetes#239 kubernetes#253
cdrage
added a commit
to cdrage/kompose
that referenced
this issue
Dec 22, 2016
There's A LOT happening in this commit, so here's an outline: First off, urfave/cli has been removed in favour of spf13/cobra. With this, comes changes to the formatting as well as the help page for Kompose. Upon converting, I noticed a CLI flag was NOT appearing for OpenShift. Specifically, --deploymentconfig. This has been added with a note that says it is OpenShift only. Exit codes have been fixed. If the conversion / down / up fails for any reason, Kompose will exit with Code 1. --verbose as well as --suppress-warnings can now be set at the same time. app_test.go in the cli directory has been moved to pkg/transformer to better reflect the testing coverage. version.go has been removed and converted to it's own CLI command in conjuction with (most) Go software. A new CLI command has been created. kompose version --dab isn't a conventional way for short-form CLI paramters. This has been shortened to -b for bundle. CLI flags consisting of only two/three letters have been removed due to it being unconventional for CLI. For example, --dc was removed in preference for --deploymentconfig --replicas has been added as an option when using kompose down or kompose up. This has been added as previously in app.go the replica amount was hard-coded as 1. Differentiating names have been used for flags. For example, persistent flags use the name Global (ex. GlobalOut). Command-specific flags have their own names (ex. UpOpt). Closes kubernetes#239 kubernetes#253
cdrage
added a commit
to cdrage/kompose
that referenced
this issue
Dec 22, 2016
There's A LOT happening in this commit, so here's an outline: First off, urfave/cli has been removed in favour of spf13/cobra. With this, comes changes to the formatting as well as the help page for Kompose. Upon converting, I noticed a CLI flag was NOT appearing for OpenShift. Specifically, --deploymentconfig. This has been added with a note that says it is OpenShift only. Exit codes have been fixed. If the conversion / down / up fails for any reason, Kompose will exit with Code 1. --verbose as well as --suppress-warnings can now be set at the same time. app_test.go in the cli directory has been moved to pkg/transformer to better reflect the testing coverage. version.go has been removed and converted to it's own CLI command in conjuction with (most) Go software. A new CLI command has been created. kompose version --dab isn't a conventional way for short-form CLI paramters. This has been shortened to -b for bundle. CLI flags consisting of only two/three letters have been removed due to it being unconventional for CLI. For example, --dc was removed in preference for --deploymentconfig --replicas has been added as an option when using kompose down or kompose up. This has been added as previously in app.go the replica amount was hard-coded as 1. Differentiating names have been used for flags. For example, persistent flags use the name Global (ex. GlobalOut). Command-specific flags have their own names (ex. UpOpt). Closes kubernetes#239 kubernetes#253
closing as #304 was merged |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Recently I've been digging through urfave trying to find a solution for #239 (urfave/cli#399 was the fix).
Most of these edge-cases have already been proven and used in another CLI library called Cobra. I recently found it very useful and much cleaner than urfave when adding new commands and improving the UX.
Lot's of major projects using it as well as the lead developer recently joining the Golang team :)
Given a PR, would people be willing to switch?
https://github.com/spf13/cobra
The text was updated successfully, but these errors were encountered: