Go 未能实例化Terraform云的提供程序-自定义提供程序-[fork/exec-exec格式错误]
我正在尝试为Terraform构建一个AWS自定义提供程序Go 未能实例化Terraform云的提供程序-自定义提供程序-[fork/exec-exec格式错误],go,terraform,terraform-provider-aws,go-build,terraform-cloud,Go,Terraform,Terraform Provider Aws,Go Build,Terraform Cloud,我正在尝试为Terraform构建一个AWS自定义提供程序 提供者就在这个存储库中:我已经按照上的所有说明创建提供者二进制文件 我已按照以下说明为Terraform cloud构建和配置自定义提供程序: 因此,基本上,我将二进制文件放在以下目录结构中,以便Terraform Cloud获取它:Terraform.d/plugins/linux\u amd64/ 但是,当我使用编译的二进制文件运行repo时,在Terraform cloud上会出现以下错误: 错误:未能实例化提供程序“aws”以获
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build-v-a-ldflags'-w-extldflags'-static'
如果我运行文件以获取二进制文件的详细信息,它将显示为静态链接的文件地形提供程序aws:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),静态链接,而非剥离
但在地形云上,它仍然返回相同的错误
我首先在Linux Mint 19.3(我正在使用的操作系统)上构建了二进制文件,当它不起作用时,我创建了一个Ubuntu18.04虚拟机并在那里进行了尝试(因为文档说Terraform Cloud在Ubuntu上运行,所以我认为这会有所不同),但仍然没有成功
如果有人曾经这样做过,或者谁知道我哪里弄错了,请帮助我。我在这里发疯了。这个问题有些奇怪 第一句话:
- 当我下载带有curl的第三方提供程序时,它不起作用
- 当我从浏览器手动下载它时,它确实可以工作
- 使用curl下载时,下载的文件具有以下权限/详细信息:
-rwxr-xr-x 1 abdennour staff 653 Jul 18 12:06地形提供程序文件
- 当我从浏览器手动下载时,我得到:
-rwxr-xr-x@1 abdennour staff 29358832 Jul 18 12:22地形提供程序文件
我可以在这里看到,curl
没有下载完整的文件,因为与手动下载相比,文件大小太小
另外,当我手动下载文件时,有@
作为文件权限的后缀
我不知道为什么。但是现在它工作了你用这个有什么进展吗?我还编写了自己的提供程序,并且有一个非常类似的问题
错误:未能实例化提供程序“xxx”以获取模式:fork/exec。。。。。。。。。权限被拒绝
它在本地工作正常,但我无法让它在Terraform CloudYes上运行,这是因为我使用的是git lfs,而目前Databricks不支持它。他们有一个内部功能请求:1137372123087938以添加对fot git lfs的支持。为了解决这个问题,我必须确保我编译的二进制文件不超过100MB。当我使用helmfile provider时也会发生这种情况。非常奇怪的问题