Skip to content
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

Improvements based on CLIG #118

Open
blake-mealey opened this issue Jan 21, 2022 · 1 comment
Open

Improvements based on CLIG #118

blake-mealey opened this issue Jan 21, 2022 · 1 comment
Labels
code quality enhancement New feature or request question Further information is requested
Milestone

Comments

@blake-mealey
Copy link
Owner

blake-mealey commented Jan 21, 2022

List of improvements based on my reading of CLIG

  • Send messaging to stderr. Log messages, errors, and so on should all be sent to stderr. This means that when commands are piped together, these messages are displayed to the user and not fed into the next command. (fixed in Add diff command and write non-data logs to stderr #204)
  • Improve subcommand help text by including one or two example invocations.
  • Provide a support path for feedback and issues. A website or GitHub link in the top-level help text is common.
  • Disable colors: NO_COLOR set, TERM=dumb, --no-color
  • Confirm before doing anything dangerous. See add support for a dry run mode for mantle deploy #19 and maybe even make the dry run the default? For mantle destroy, require a prompt by default?
  • Make it idempotent. If the program fails for some transient reason (e.g. the internet connection went down), you should be able to hit and and it should pick up from where it left off. See Remove all possible panics from the main resolver #106
  • If a user hits Ctrl-C (the INT signal), exit as soon as possible. Say something immediately, before you start clean-up. Add a timeout to any clean-up code so it can’t hang forever. Currently we don't exit gracefully in this case. See above note on idempotence as well
  • Do not read secrets from environment variables. While environment variables may be convenient for storing secrets, they have proven too prone to leakage. This is an interesting one, and I'm not quite sure that I agree or that I like the alternative solutions. Should be considered though
@blake-mealey blake-mealey added code quality enhancement New feature or request question Further information is requested labels Jan 21, 2022
@blake-mealey blake-mealey added this to the v1.0.0 milestone Feb 17, 2022
@blake-mealey
Copy link
Owner Author

Adding this to v1.0.0 because there are a few points in here which I think are important for production use. Specifically:

  • confirming before doing anything dangerous
  • idempotency
  • ctrl+c cleanup

@blake-mealey blake-mealey modified the milestones: v1.0.0, v0.12.0 Dec 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code quality enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant