logo
0
0
Login

Terraform CNB Provider

这是一个 Terraform CNB 插件,用于管理代码仓库。

功能特性

  • 创建代码仓库(包含子组织的代码仓库)
  • 删除仓库(包含子组织的代码仓库)

安装方法

curl https://cnb.cool/cnb/sdk/terraform-cnb/-/git/raw/main/install.sh -sSfL | sh

install

注意事项

  • 使用前需要事先创建好根组织。

  • 使用前需要事先准备好 cnb 的 api token 或者平台 token。

  • 使用该插件删除仓库的时候,需要打开所属组织的 "允许通过 OpenAPI 删除组织下资源开关"。组织管理员可以通过 "组织设置" -> "组织管控" 来开启或关闭该功能。 allow-delete-resource

使用示例

如下分别展示了使用个人 token 和 使用平台 token 的 tf 代码。可使用如下命令进行测试。

cd test/use_personal_token terraform init # 初始化 terraform plan # 查看执行计划 terraform apply # 应用配置(创建代码仓库) terraform destroy # 销毁资源(删除代码仓库)

使用个人 token

需要事先准备好 cnb 的 api token,用户可以通过"个人设置" -> "访问令牌" 创建 token,所需的权限为:

repo-basic-info:r,repo-manage:rw,repo-delete:rw,group-manage:rw,group-resource:rw

代码示例

使用平台 token

需要事先准备好 cnb 的 平台 token,创建入口在 cnb 的管理后台中的 “系统管理" -> "平台令牌配置" -> "新建令牌"。

  • 平台标识固定为 terraform

platform-token 授权范围所需的权限为:

repo-basic-info:r,repo-manage:rw,repo-delete:rw,group-manage:rw,group-resource:rw,system-token:rw

代码示例

About

一个 Terraform CNB Provider,用于管理代码仓库

Language
Go67.4%
Shell12.3%
Dockerfile7.6%
HCL7.2%
Others5.5%