terramate-io / terramate

Terramate CLI is an open-source Infrastructure as Code (IaC) Orchestration and Code Generation tool for Terraform, OpenTofu and Terragrunt.
https://terramate.io
Mozilla Public License 2.0
3.12k stars 86 forks source link

feat: Add Scoop manifest for Terramate CLI in Goreleaser #1687

Closed RocketRene closed 2 months ago

RocketRene commented 2 months ago

What this PR does / why we need it:

This PR introduces Scoop support for the Terramate project, allowing users to install and manage Terramate via the Scoop package manager on Windows. This integration streamlines the installation process for Windows users and ensures easy updates to new versions.

Does this PR introduce a user-facing change?

yes This PR adds Scoop support for Terramate, making it available for installation via Scoop on Windows systems

RocketRene commented 2 months ago

@soerenmartius and @i4ki, I think we should not move forward with Chocolatey Package management for a few reasons:

  1. We are not independent; if their moderators haven't approved, let's say, version 1.1, we can't push 1.2, and our whole release action will fail.
  2. Chocolatey must be run with root Powershell.
  3. There are little to no docs on how to get a reviewer to approve a package.

I would prefer to distribute Terramate to Windows users via https://scoop.sh/ for a number of reasons:

  1. Scoop is non-commercial.
  2. It has a much simpler installer experience than Chocolatey and runs in user space.
  3. We just have to publish a Scoop manifest in JSON that points to our GitHub releases, and that's it.

I do have a question regarding this:

Would you prefer to have a terramate-scoop repo just for the Scoop manifests that are generated during the release action, or should the githubactions user commit them to our main repo?