n3integration/terraform-provider-godaddy

Publish in the Terraform Registry

oscarmorasu opened this issue · 7 comments

With the Terraform 0.13 release the Terraform Registry is the preferred way to download plugins.
Do you have any plans to publish this plugin in the Registry?

As an alternative, the install.sh should use both the providers block for compatibility with <= 0.12 and the provider_installation block for >= 0.13, since it doesn't support the providers block anymore

@oscarmorasu have you been able to get this plugin working with 0.13?

Was able to figure it out and get terraform init to run successfully. Here are the steps I took:

  1. Following the New Filesystem Layout for Local Copies of Providers docs for 0.13, I create the following directory structure in my home directory:

    $ mkdir -p github.com/n3integration/godaddy/1.7.3/darwin_amd64/
    $ tree .terraform.d/
    .terraform.d/
    ├── checkpoint_cache
    ├── checkpoint_signature
    └── plugins
        └── github.com
            └── n3integration
                └── godaddy
                    └── 1.7.3
                        └── darwin_amd64
  2. Move the existing binary from the plugin directory to its new path:

    mv ~/.terraform/plugins/terraform-godaddy github.com/n3integration/godaddy/1.7.3/darwin_amd64/terraform-provider-godaddy_v1.7.3
  3. Next, I followed the additional steps around In-House Providers and reassign my providers with terraform state replace-provider

    terraform state replace-provider registry.terraform.io/-/godaddy github.com/n3integration/godaddy

Would be happy to submit a PR to update the install script if that is useful.

First of all, nice and a big gap filling plugin for our infra! Thanks!

I am using v1.7.3 with Terraform 0.13. The resources are created/updated/deleted correctly in Godaddy but i have some issues with the state.
Even if i update one record for a domain, the state changes show that every other record will be deleted and created again along with the updated record. It is pretty hard to check the changes in this way.
Is this just a problem with using a Terraform 0.12 plugin with Terraform 0.13?
Are there any plans for publishing a plugin for Terraform 0.13?

Also i'd like to give a huge + for publishing the plugin to the registry. It would be awesome.

nagyv commented

There is a fork by @kolikons published in the registry at https://github.com/kolikons/terraform-provider-godaddy

Unfortunately, the fork fails with

required_providers {
    godaddy = {
      source = "kolikons/godaddy"
      version = "1.8.1"
    }
 }
Initializing the backend...

Initializing provider plugins...
- Finding kolikons/godaddy versions matching "1.8.1"...
- Finding latest version of github.com/n3integration/godaddy...
- Installing kolikons/godaddy v1.8.1...
- Installed kolikons/godaddy v1.8.1 (self-signed, key ID 5AD6EBC2BE5CF45D)

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/plugins/signing.html

Error: Invalid provider registry host

The given source address "github.com/n3integration/godaddy" specifies a GitHub
repository rather than a Terraform provider. Refer to the documentation of the
provider to find the correct source address to use.

Any ideas how to use the fork?

Invalid provider registry host

I guess, you haven't removed the previous provider "github.com/n3integration/godaddy"

try this

  1. Create file prov.tf
terraform {
required_version = ">= 0.13"
  required_providers {
    godaddy = {
      source  = "kolikons/godaddy"
      version = "~> 1.8.1"
    }
  }
}
  1. run terraform init
ilons commented

@kolikons Do you intend to get the changes made in the fork merged?

Thanks @ilons / @kolikons for the PR and the info on publishing.