argoproj-labs / community

Community documents for argoproj-labs
Apache License 2.0
12 stars 6 forks source link

Add terraform-provider-argocd as an Argolabs project #10

Open blakepettersson opened 6 months ago

blakepettersson commented 6 months ago

Welcome to Argo Project Onboarding!

Before submitting the ticket please ensure you understand which projects could be added to the Argo community and what the open decision-making process looks like.

Once you are ready, please help the reviewer understand your project better by answering the following questions in your onboarding proposal:

wanghong230 commented 6 months ago

+1

mkilchhofer commented 6 months ago

xref:

todaywasawesome commented 6 months ago

❤️ let's add to Argo lab, at KubeCon we've already referenced it a dozen times.

leoluz commented 6 months ago

Repository created: https://github.com/argoproj-labs/terraform-provider-argocd Added @blakepettersson as a repository maintainer.

mkilchhofer commented 6 months ago

Just for my understanding, why do we need a new repo? Why not transfering the existing one?

When we create a new one, we loose some history (issues, PRs, stars, auto redirects to the new location, ...?)

blakepettersson commented 6 months ago

@mkilchhofer good point. The only way for a transfer to can happen though would be for someone with admin rights in both oboukili/terraform-provider-argocd and argoproj-labs to do the transfer. So it would be a matter of adding @leoluz as an admin (or someone else in argoproj-labs with admin rights) to the existing repository, and then the argoproj-labs admin would need to do the transfer to argoproj-labs.

mkilchhofer commented 6 months ago

Alright, shall we ask @oboukili if he can add an argoproj admin as a repo admin?

oboukili commented 6 months ago

Yes, done I added @leoluz as a repo collaborator, I can't seem to be able to change the access type beyond collaborator, I guess because a GH org is needed. I can however move the repository to the argoproj-labs GH org, but I would need to be granted (temporary) repo creation within that org. Let me know once this has been granted.

One thing to check once that's done, according to this thread, there may be an issue with the terraform registry sync to keep in mind.

edlee2121 commented 6 months ago

See if you can transfer the repo to @leoluz

blakepettersson commented 6 months ago

That's also a good option - if the repo ownership is transferred to an individual (in this case @leoluz) then he can then do the migration to argoproj-labs.

mkilchhofer commented 6 months ago

We already chatted about this 😆

image

I think the crucial point is that HashiCorp have no clear statements how this registry stuff can be migrated in-place. When we move it in 2 steps, requests to the old repo (releases, tags) are redirected twice. No one know if this is supported 🤷 .

Can I change the name of my artifact?

Once consumers start using your provider, module, or policy library, the name of the artifact must remain constant. Otherwise, you could break your consumer's Terraform configuration.

For this reason, we strongly recommend against moving or renaming an existing artifact. Instead, it's often a better choice to create a new repository, representing the new name of your artifact while leaving the old content in place.

For further help, reach out to us via email.

Can I rename the GitHub user or organization that owns my artifact's repository?

When you change the name of a GitHub user or organization, GitHub automatically redirects requests for the old user or organization to the new one. This means there is no interruption for your artifact's consumers, who can continue using the old name. If you need to change the name of your artifact, see the above answer.

If you have changed your publishing Github user or organization name, we recommend reclaiming any names you previously published from. If someone else claims your old user or organization name, they could build repositories that "capture" any redirected requests from the Registry. At that point, your consumers would be unable to download your artifact.

Source: https://developer.hashicorp.com/terraform/registry/faq#can-i-change-the-name-of-my-artifact

Also testing the whole workflow seems to have some caveats as providers cannnot be deleted once published (🙄): Note

You cannot un-publish a provider once you publish it to Terraform Registry. As a result, pay very close attention to the GitHub repository and organization you use. For example, consider whether you want to publish as yourself or your company.

Source: https://developer.hashicorp.com/terraform/tutorials/providers-plugin-framework/providers-plugin-framework-release-publish#prerequisites

leoluz commented 6 months ago

If @oboukili is going to keep being the main maintainer of the terraform-provider-argocd repo once it is migrated, I don't see a big problem with adding him as a member of the argoproj-labs org so he can proceed with the migration by himself. cc @edlee2121 @terrytangyuan @alexmt

terrytangyuan commented 6 months ago

Sounds good!

zachaller commented 6 months ago

I sent an invite to @oboukili to be a member of argoproj-labs

oboukili commented 6 months ago

Thanks! The provider has been moved, I opened this HC discuss thread to hopefully transfer the existing TF registry entry to the new location. Please note I lost admin permissions on the repository (no more access to GH workflow secrets nor repo access controls).