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

Hurdles for adoption #1670

Closed
6 tasks
Tracked by #1666
suzuki-shunsuke opened this issue Feb 26, 2023 Discussed in #1651 · 3 comments
Closed
6 tasks
Tracked by #1666

Hurdles for adoption #1670

suzuki-shunsuke opened this issue Feb 26, 2023 Discussed in #1651 · 3 comments

Comments

@suzuki-shunsuke
Copy link
Member

Discussed in https://github.com/orgs/aquaproj/discussions/1651

Originally posted by sheldonhull February 20, 2023
As a followup to https://github.com/orgs/aquaproj/discussions/1650

The main hurdles I see for folks easily adopting:

  • maybe I'll record a vhs gif to demonstrate manual steps to get a github binary installed and then compare to aqua. It's not immediately clear to others how this saves so much scripting (and also to the availability of go install command).
  • Need an uninstall command to clean the single version or all versions of the package in bin/pkg. I've done my own scripts but it's clunky compared to offering this.
  • Upgrade an aqua config without renovate. I'm a huge fan of renovate but it's a huge ask for folks to all use it especially if they are just setting up a global tools config.
  • Make a clear user persona on the front page that says "I want to have a single config globally for installing tools" or "I want to have a per repo config" and make it immediately clear how to get going.
  • Make the global config setup a Wizard option that offers to append the environment variable to your zshrc/bashrc, pwsh , etc to allow using the cli alone to get going.
  • Need to highlight more the security benefits of checksuming and co-sign etc. I have used these tools and I'm still a bit unclear on how aqua provides more security than brew which also uses checksums in manifest. Be cool to highlight.

This is a just a start. I'm a big fan and love the tool but I think to get others to recognize it a few of the "devops" things like making renovate optional and cleanup etc will help a lot.

@suzuki-shunsuke
Copy link
Member Author

#1651 (reply in thread)

I updated the document.

#1651 (reply in thread)

I don't think aqua is more secure than brew because as you said brew also verified checksums.

aqua doesn't run external commands except for go, so aqua is secure on this point.

@suzuki-shunsuke
Copy link
Member Author

#1651 (comment)

I improved the document overview so that new users can understand aqua's selling points.

@suzuki-shunsuke
Copy link
Member Author

#1651 (comment)

Thank you for your feedback.

Uninstall command

uninstall command is one of the feature I'm requested sometimes.
As I mentioned in the document, we don't provide uninstall command because the command is unnecessary.

For aqua, uninstall a package can mean the following things.

  1. Remove a package from aqua.yaml
  2. Remove symbolic links in PATH $AQUA_ROOT_DIR/bin
  3. Remove packages from $AQUA_ROOT_DIR/pkgs
  1. Remove a package from aqua.yaml

Please edit aqua.yaml with editor.

  1. Remove symbolic links in PATH $AQUA_ROOT_DIR/bin

Basically, you don't have to remove links because aqua supports finding commands from PATH if the command isn't found in aqua.yaml.

https://aquaproj.github.io/docs/reference/lazy-install

If the package isn't found in the configuration files, aqua finds the command from the environment variable PATH.

If you want to remove links by all means, you can remove links by rm "$(which COMMAND)".

  1. Remove packages from $AQUA_ROOT_DIR/pkgs

Unlike decades, currently the storage is large and cheap.

If the storage is not exhausted, normally you don't have to remove old packages.
And if if the storage is exhausted, you should remove all packages rather than picking out removed packages one by one.

Upgrade an aqua config without renovate

It's a bit difficult to implement because we have to parse YAML, but this feature is useful.

Make a clear user persona on the front page

Sounds good.

Make the global config setup a Wizard option

Personally I don't like a script that modifies zshrc/bashrc automatically, but I consider outputting the guide when we run aqua-installer and homebrew.

Need to highlight more the security benefits

Sounds good. aqua's security feature is awesome.

I have used these tools and I'm still a bit unclear on how aqua provides more security than brew which also uses checksums in manifest.

I don't think aqua is more secure than brew because as you said brew also verified checksums.

On the other hand, aqua is more secure than other approaches such as asdf, shell script, manual installation, GitHub Actions, and so on.

I tweeted about this before.
https://twitter.com/szkdash/status/1624396704056487939

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant