Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to a maintained fork of the kubectl provider #57

Merged
merged 1 commit into from
Sep 23, 2024

Conversation

mpepping
Copy link
Contributor

@mpepping mpepping commented Aug 7, 2024

  • The alekc/kubectl provider is a maintained fork of gavinbunney/kubectl
  • The alekc/kubectl provider is trusted by both terraform and opentofu

Copy link

github-actions bot commented Aug 7, 2024

Commitlint-Check

Thanks for your contribution ❤️

Unfortunately, commitlint has detected that this PR has one ore more commit messages that do not follow the conventional commit format 🙀

⧗   input: fix(health): Switch to a maintained fork of the kubectl provider

* The gavinbunney/kubectl is not being maintained
* The alekc/kubectl provider is a maintained fork
* The alekc/kubectl provider is trusted by both terraform and opentofu
✖   subject must not be sentence-case, start-case, pascal-case, upper-case [subject-case]

✖   found 1 problems, 0 warnings
ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint

Please update the commit messages accordingly.

Copy link

github-actions bot commented Aug 9, 2024

Terraform-Check (version: 1.8.5): ✅

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ✅
# Outputs:

Initializing the backend...

Initializing provider plugins...
- Finding hashicorp/http versions matching ">= 3.4.5"...
- Finding hashicorp/helm versions matching ">= 2.15.0"...
- Finding alekc/kubectl versions matching ">= 2.0.4"...
- Finding hashicorp/tls versions matching ">= 4.0.6"...
- Finding hetznercloud/hcloud versions matching ">= 1.48.1"...
- Finding siderolabs/talos versions matching ">= 0.5.0"...
- Installing hashicorp/tls v4.0.6...
- Installed hashicorp/tls v4.0.6 (signed by HashiCorp)
- Installing hetznercloud/hcloud v1.48.1...
- Installed hetznercloud/hcloud v1.48.1 (signed by a HashiCorp partner, key ID 5219EACB3A77198B)
- Installing siderolabs/talos v0.5.0...
- Installed siderolabs/talos v0.5.0 (signed by a HashiCorp partner, key ID AF0815C7E2EC16A8)
- Installing hashicorp/http v3.4.5...
- Installed hashicorp/http v3.4.5 (signed by HashiCorp)
- Installing hashicorp/helm v2.15.0...
- Installed hashicorp/helm v2.15.0 (signed by HashiCorp)
- Installing alekc/kubectl v2.0.4...
- Installed alekc/kubectl v2.0.4 (self-signed, key ID 772FB27A86DAFCE7)

Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.


# Errors:

🤖 Terraform Validate: ✅
# Outputs:
Success! The configuration is valid.



# Errors:

Copy link

github-actions bot commented Aug 9, 2024

Terraform-Check (version: 1.9.4): ✅

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ✅
# Outputs:
Initializing the backend...
Initializing provider plugins...
- Finding siderolabs/talos versions matching ">= 0.5.0"...
- Finding hashicorp/http versions matching ">= 3.4.4"...
- Finding hashicorp/helm versions matching ">= 2.14.0"...
- Finding alekc/kubectl versions matching ">= 2.0.4"...
- Finding hashicorp/tls versions matching ">= 4.0.5"...
- Finding hetznercloud/hcloud versions matching ">= 1.48.0"...
- Installing hashicorp/tls v4.0.5...
- Installed hashicorp/tls v4.0.5 (signed by HashiCorp)
- Installing hetznercloud/hcloud v1.48.0...
- Installed hetznercloud/hcloud v1.48.0 (signed by a HashiCorp partner, key ID 5219EACB3A77198B)
- Installing siderolabs/talos v0.5.0...
- Installed siderolabs/talos v0.5.0 (signed by a HashiCorp partner, key ID AF0815C7E2EC16A8)
- Installing hashicorp/http v3.4.4...
- Installed hashicorp/http v3.4.4 (signed by HashiCorp)
- Installing hashicorp/helm v2.14.1...
- Installed hashicorp/helm v2.14.1 (signed by HashiCorp)
- Installing alekc/kubectl v2.0.4...
- Installed alekc/kubectl v2.0.4 (self-signed, key ID 772FB27A86DAFCE7)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.


# Errors:

🤖 Terraform Validate: ✅
# Outputs:
Success! The configuration is valid.



# Errors:

@mrclrchtr
Copy link
Member

mrclrchtr commented Aug 9, 2024

When i started developing the module, I had to choose between these two providers and decided against the alekc version. 147 stars and a single maintaining person is simply not enough trust for me.

What do you mean by "The alekc/kubectl provider is trusted by both terraform and opentofu"?
Do you actually mean it supports both?

Anyway, it currently works with givebunny and unless there's a really good reason, I don't think it's necessary to switch.
Are there any good reasons?

@mpepping
Copy link
Contributor Author

mpepping commented Aug 9, 2024

@mrclrchtr, thnx for looking in to this.

The gavinbunney/kubectl provider is not trusted by OpenTofu since @gavinbunney has not submitted the providers public key to registry.opentofu.org. The alekc/kubectl is trusted by both the Terraform and OpenTofu registries.

This makes a tofu throw a warning when doing an init on TF code that uses hcloud-talos:

❯ tofu init -upgrade
[..] 
- Installing gavinbunney/kubectl v1.14.0...
- Installed gavinbunney/kubectl v1.14.0. Signature validation was skipped due to the registry not containing GPG keys for this provider

So this isn't an issue for Terraform, since the public key for gavinbunney/kubectl is added to registry.terraform.io. But it does throw a warning when using OpenTofu.

See this GitHub issue for some more context: gavinbunney/terraform-provider-kubectl#294

@mrclrchtr
Copy link
Member

I see. Unfortunately I can't test right now due to lack of time. Does everything work exactly the same as before?

Copy link

github-actions bot commented Sep 17, 2024

Terraform-Check (version: 1.9.5): ✅

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ✅
# Outputs:
Initializing the backend...
Initializing provider plugins...
- Finding hashicorp/http versions matching ">= 3.4.5"...
- Finding hashicorp/helm versions matching ">= 2.15.0"...
- Finding alekc/kubectl versions matching ">= 2.0.4"...
- Finding hashicorp/tls versions matching ">= 4.0.6"...
- Finding hetznercloud/hcloud versions matching ">= 1.48.1"...
- Finding siderolabs/talos versions matching ">= 0.5.0"...
- Installing hashicorp/http v3.4.5...
- Installed hashicorp/http v3.4.5 (signed by HashiCorp)
- Installing hashicorp/helm v2.15.0...
- Installed hashicorp/helm v2.15.0 (signed by HashiCorp)
- Installing alekc/kubectl v2.0.4...
- Installed alekc/kubectl v2.0.4 (self-signed, key ID 772FB27A86DAFCE7)
- Installing hashicorp/tls v4.0.6...
- Installed hashicorp/tls v4.0.6 (signed by HashiCorp)
- Installing hetznercloud/hcloud v1.48.1...
- Installed hetznercloud/hcloud v1.48.1 (signed by a HashiCorp partner, key ID 5219EACB3A77198B)
- Installing siderolabs/talos v0.5.0...
- Installed siderolabs/talos v0.5.0 (signed by a HashiCorp partner, key ID AF0815C7E2EC16A8)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.


# Errors:

🤖 Terraform Validate: ✅
# Outputs:
Success! The configuration is valid.



# Errors:

@mpepping
Copy link
Contributor Author

I see. Unfortunately I can't test right now due to lack of time. Does everything work exactly the same as before?

Backwards compatible and tested.

@mrclrchtr
Copy link
Member

Ok, thank you. I am ready to merge the branch.

But currently this is not possible, because of the merge commits I think... not sure why.

image

Could you rebase the branch again instead of doing merge commits?

* The gavinbunney/kubectl is not being maintained
* The alekc/kubectl provider is a maintained fork
* The alekc/kubectl provider is trusted by both terraform and opentofu
Copy link

Terraform-Check (version: 1.9.6): ✅

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ✅
# Outputs:
Initializing the backend...
Initializing provider plugins...
- Finding hashicorp/http versions matching ">= 3.4.5"...
- Finding hashicorp/helm versions matching ">= 2.15.0"...
- Finding alekc/kubectl versions matching ">= 2.0.4"...
- Finding hashicorp/tls versions matching ">= 4.0.6"...
- Finding hetznercloud/hcloud versions matching ">= 1.48.1"...
- Finding siderolabs/talos versions matching ">= 0.5.0"...
- Installing hashicorp/http v3.4.5...
- Installed hashicorp/http v3.4.5 (signed by HashiCorp)
- Installing hashicorp/helm v2.15.0...
- Installed hashicorp/helm v2.15.0 (signed by HashiCorp)
- Installing alekc/kubectl v2.0.4...
- Installed alekc/kubectl v2.0.4 (self-signed, key ID 772FB27A86DAFCE7)
- Installing hashicorp/tls v4.0.6...
- Installed hashicorp/tls v4.0.6 (signed by HashiCorp)
- Installing hetznercloud/hcloud v1.48.1...
- Installed hetznercloud/hcloud v1.48.1 (signed by a HashiCorp partner, key ID 5219EACB3A77198B)
- Installing siderolabs/talos v0.5.0...
- Installed siderolabs/talos v0.5.0 (signed by a HashiCorp partner, key ID AF0815C7E2EC16A8)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.


# Errors:

🤖 Terraform Validate: ✅
# Outputs:
Success! The configuration is valid.



# Errors:

@mrclrchtr mrclrchtr merged commit a5f72f1 into hcloud-talos:main Sep 23, 2024
4 of 6 checks passed
@mrclrchtr
Copy link
Member

🎉 This PR is included in version 2.11.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants