aminueza / terraform-provider-minio

Terraform provider for managing MinIO S3 buckets and IAM Users.
https://registry.terraform.io/providers/aminueza/minio
GNU Affero General Public License v3.0
233 stars 69 forks source link

Can't install versions after 1.18.0 #531

Closed tmsdce closed 10 months ago

tmsdce commented 10 months ago

Prerequisites

Description

I can't install the latest version of the provider (1.18.3)

│ Error: Failed to install provider
│ 
│ Error while installing aminueza/minio v1.18.3: checksum list has no SHA-256 hash for
│ "https://github.com/terraform-provider-minio/terraform-provider-minio/releases/download/v1.18.3/terraform-provider-minio_1.18.3_linux_amd64.zip"

Steps to Reproduce

  1. Create a tf file with the following content
    terraform {
    required_providers {
    minio = {
      source  = "aminueza/minio"
      version = "~> 1.18"
    }
    }
    }
  2. Run terraform init

Expected behavior:

Provider installation should succeed

Actual behavior:

An error occurs

│ Error: Failed to install provider
│ 
│ Error while installing aminueza/minio v1.18.3: checksum list has no SHA-256 hash for
│ "https://github.com/terraform-provider-minio/terraform-provider-minio/releases/download/v1.18.3/terraform-provider-minio_1.18.3_linux_amd64.zip"

Reproduces how often: 100%

Versions

terraform: 1.5.7 provider: 1.18.3

Additional Information

The SHA256 checksum assets don't seem to be published with the release. It was the case in version 1.18.0 which works fine

felladrin commented 10 months ago

Thanks for letting us know! Will double-check the release workflow.

felladrin commented 10 months ago

🤔 I see the shasum file is available at https://github.com/terraform-provider-minio/terraform-provider-minio/releases/tag/v1.18.3, and the shasum for terraform-provider-minio_1.18.3_linux_amd64.zip is there:

image

The published files in these release match the number of the files released in the previous one (v1.18.0).

tmsdce commented 10 months ago

You're right about the assets. I didn't catch them on the release page, sorry about that :sweat_smile: Still, install fails so there must be another reason

felladrin commented 10 months ago

Indeed. I can't investigate deeper now, but I will do it soon. Please keep me posted if you find out anything new about this issue.

[I doubt it, but this could be related to the repository address, which was changed recently.]

larivierec commented 10 months ago

Same with me, using terraform 1.6.2

felladrin commented 10 months ago

💡 I think the issue is really about the repository address. I checked the response of these two URLs:

And the shasums URL hasn't been updated.

Previous Current
image image

The sad thing is that there's no option in Terraform Registry provider settings to change the repository ULR of a released provider.

felladrin commented 10 months ago

Published v1.19.0, including https://github.com/terraform-provider-minio/terraform-provider-minio/pull/520, but the shasums_url continue pointing to the previous repo. We'll contact HashiCorp support to check what can be done. (Databricks has been through the same process)

tmsdce commented 10 months ago

Thank you @felladrin I'll stick to 1.18.0 for now as a temporary workaround

felladrin commented 10 months ago

Just to let you know that we're currently waiting for HashiCorp's support response on this.

mrsimonemms commented 10 months ago

We're finding the same issue but sticking with v1.18.0 has worked as a workaround.

felladrin commented 10 months ago

Alright, everyone, we got a detailed response from one of the engineers from the Terraform Registry team, and, in summary, there's no way to change the provider in the Registry (aminueza/minio) for it to use the repository under our new organization.

Click here for more details. Since the provider in the Registry is highly attached to the GitHub auth system (the namespace of the provider must match the GitHub owner), to publish new versions of the provider from this repository (https://github.com/terraform-provider-minio/terraform-provider-minio), it'd need to be done through an entirely new provider.

Considering the situation, and also all the users that rely on this provider, here's what's going to happen next: We'll move the repository back under aminueza's GitHub account, update the GPG key and literal URLs in the code, and finally publish v1.20.0 in the registry, which won't suffer from the Failed to install provider issue anymore.

Extra info: We won't dissolve the github.com/terraform-provider-minio organization because it will be redirecting the traffic to aminueza's repo and also because it might be useful for forks/sibling repos later. The advantage of having an organization is that the maintainers have more autonomy over the repositories.

larivierec commented 10 months ago

If I may add my two cents, wouldn't it be easier to create a new gpg key and publish under the new repo name as well as the old repo for the first few patches/minors and eventually transition into just using the org one?

I'm no where near an expert and don't know if there are licensing fees and such but it seems like an idea.

Tl;dr;

Support both. publish for a bit (new + old) providers.

Deprecate the old provider and encourage people to transition to the new provider

Ending support/features/security updates at a set time for the old provider.

felladrin commented 10 months ago

Indeed! Forking/mirroring might happen later, considering we still have that other intricate issue to solve. In all cases, the original repo has to be back in place for the current provider to get back working. But one issue at a time🤞

felladrin commented 10 months ago

v1.20.0 published! 🎉

image image image image
tmsdce commented 10 months ago

Thanks for publishing a new release :+1: I can confirm that 1.20 is working fine. Switching to a new repo/namespace in the future would be nice

mrsimonemms commented 10 months ago

Yeah, working for us as well. Thanks @felladrin