smallstep / cli

🧰 A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc.
https://smallstep.com/cli
Apache License 2.0
3.61k stars 247 forks source link

Publish chocolatey package (choco install step) #365

Open awakecoding opened 3 years ago

awakecoding commented 3 years ago

To simplify the distribution of the step-cli on Windows, it would be great to publish a simple chocolatey package. In the end, one would be able to use "choco install step" to grab step.exe and have it automatically available in the system path. Right now I download the Windows prebuilt executable zip file and manually "install" it. By the way, the current .zip file has a very deep directory structure (step_windows_0.15.2_amd64\output\binary\windows\bundle\tmp.8Ain\step_0.15.2\bin\step.exe), if this could be improved that would make things easier for automation.

You can get started here: https://chocolatey.org/docs/create-packages

dcow commented 3 years ago

@awakecoding I looked at making a Chocolatey package at the end of last year and ended up with step-cli.0.14.0-rc2_nupkg.zip (note: the .nupkg is inside the .zip because GitHub doesn't like .nupkg). Making the package wasn't that tough. I think the bigger question is getting it integrated into our build and release process (notice 0.14.0-rc2 is a rather old build). We're not that familiar with the Chocolatey ecosystem. Do you (or anyone interested) have any ideas or suggestions on how we could integrate with the Chocolatey ecosystem most naturally? I'll admit we just haven't spent much time looking into what it would take so any advice, tips, suggestions.. package maintainers.. are much appreciated.

awakecoding commented 3 years ago

@dcow I suggest asking for guidance in the chocolatey gitter.im channel (https://gitter.im/chocolatey/choco). As for how to automate the thing, when we looked into it ourselves, we were surprised to learn that chocolatey.org does not support organization accounts like GitHub, so what we created an account with a work email alias instead, and used it as a shared account on our side. Once you have a basic project template in place, the work of automation is to fetch the new binaries, update the file hashes in the manifest files, and push them to chocolatey.org for approval.

rishabhc32 commented 3 weeks ago

Hi @dcow any plans to add Chocolatey package for Windows?