使用 Terraform 构建 GitLab 项目

the*_*ame 2 gitlab terraform

我正在尝试使用内置的 Terraform 提供程序“ GitLab ”在 Terraform 中构建 GitLab 项目/存储库。这看起来很简单,但当我在下面的文件中时,我意外地收到了以下 401 未经授权的错误$ terraform plan

terraform {
  required_version = ">= 0.11.0"
}

provider "gitlab" {
  token = "<valid-token-id>"
}

resource "gitlab_project" "my_repo" {
  name         = "My Repo"
  namespace_id = 85
}

// ERROR RETURNED BELOW
Error: Error running plan: 1 error(s) occurred:
* provider.gitlab: GET https://gitlab.com/api/v4/user: 401 {message: 
401 Unauthorized}
Run Code Online (Sandbox Code Playgroud)

我知道我传递到 gitlab 的 GitLab 令牌provider是有效的,因为当我进行以下调用时我收到了有效的响应:

$ curl https://<mycompany>.githost.io/api/v4/projects?private_token=$GITLAB_TOKEN
Run Code Online (Sandbox Code Playgroud)

此外,该令牌来自具有完全 GitLab 访问权限的超级用户。

我确实意识到这是两个独立的端点,它为成功curl呼叫和terraform plan呼叫所击中。有没有办法让我配置 Terraform 在计划/应用时命中的端点?有没有人有这方面的经验?

the*_*ame 8

谢谢ydaetskcoR

我是一个大假人。我所需要的只是base_url指定(所有的出路,包括/api/v4/)。

provider "gitlab" {
  token    = "<valid-token>"
  base_url = "https://<mycompany>.githost.io/api/v4/"
}
Run Code Online (Sandbox Code Playgroud)

史诗般的高五给你。