Enhanced Windows Installation via Chocolatey
Change Summary
What and Why:
- Added documentation for installing flyctl via Chocolatey on Windows to enhance installation options and provide clear instructions for users.
How:
- Updated the Windows installation section to include instructions for installing flyctl via Chocolatey package manager.
- Provided a clear command for users to execute in PowerShell as an administrator to install flyctl.
Related to:
- Windows installation options for flyctl.
- Improving user experience on Windows systems.
Documentation
- [x] Fresh Produce
- [x] In superfly/docs, or asked for help from docs team
- [ ] n/a
hi @ecsistem, thanks for the contribution. I have no idea how Chocolatey works but I imagine there is some package definition somewhere that tells the choco client how to install an app like flyctl.
My only concern is whether auto-updates keep working after installing with Chocolatey. Do you have any experience with that? have you seen your flyctl updating after a new release is released or updates are disabled?
Hi @dangra , thank you for your questions and feedback! Let me clarify a bit about how Chocolatey works and address your concerns:
Chocolatey functions similarly to Snap on Linux. It manages packages by downloading the installer directly from this repository. The package is then passed through a virus checker to ensure safety before being made available on Chocolatey, which is a widely used package manager for Windows.
Regarding updates, Chocolatey packages are typically updated whenever a new release is published, as long as the package maintainer pushes the latest version. This means the installed application, in this case flyctl, will be updated whenever you run choco upgrade flyctl. Automatic updates for the application itself (outside of Chocolatey) should still function unless explicitly disabled during installation.
From my experience, flyctl updates have continued working normally after installation through Chocolatey.
To provide more context, I’ll include a screenshot showing how the installer is downloaded directly from the repository and a version history log to illustrate the update process.
I hope this clears things up! Let me know if you have any further concerns or questions.
That looks good. I have a few more questions if you don't mind.
- Who maintains the Chocolatey package definition for flyctl?
- What about linking the Choco recipe in the README and adding a note clariflying it is community maintained? I expect it to be public, similar to brew's formula
- Is the Choco recipe something Fly devs can update? Flyio publishes Brew packages daily as part of the release process, if Chocolatey gets traction I think we should do the same.
@dangra The Chocolatey is very similar to Homebrew but geared toward Windows users. Currently, the flyctl package on Chocolatey is community-maintained and not directly managed by the Fly.io team. On the Chocolatey package page, you can check the details, including the number of downloads. As of today, there are 28,030 downloads.
Adding a link to the recipe in the README, along with a note explaining that it is community-maintained, would be a good idea to clarify responsibilities and guide users. This approach is similar to what's done with the Brew formula.
Regarding whether Fly.io developers can update the package, it depends on who is listed as the registered maintainer on Chocolatey. Given the increasing number of downloads, if the tool gains traction among Windows users, it might be worthwhile to integrate it into the release process, similar to what is already done for Homebrew packages.
As for improving the process, it could be beneficial to set up a CI pipeline to automatically build and publish the Chocolatey package with every new release. This ensures that the package is always up to date and reduces the manual work involved in maintaining it.
@dangra
Adding a link to the recipe in the README, along with a note explaining that it is community-maintained, would be a good idea to clarify responsibilities and guide users. This approach is similar to what's done with the Brew formula.
hi @ecsistem. Sorry for the sleeping on this pull request. I think addressing this point would make it mergeable.