Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 触发Terraform命令的Web UI_Node.js_Azure Functions_Terraform_Cloud - Fatal编程技术网

Node.js 触发Terraform命令的Web UI

Node.js 触发Terraform命令的Web UI,node.js,azure-functions,terraform,cloud,Node.js,Azure Functions,Terraform,Cloud,在我们公司,我们的培训师在本地执行Terraforms命令(Init,Validate,Plan,Apply),为在线课程分配资源,持续两到三天。目前Terraform命令部署到Oracle云基础设施(OCI),但将来可能是Azure、AWS或任何其他类似平台 虽然培训师仍将负责更新和创建Terraform配置文件,目标是创建一个简单的web UI,允许管理者启动/停止在线课程,因为他们不具备编程技能,也无法通过终端执行命令复杂性或触发地形命令将在幕后处理 对于如何以编程方式调用Terrafor

在我们公司,我们的培训师在本地执行Terraforms命令(
Init
Validate
Plan
Apply
),为在线课程分配资源,持续两到三天。目前Terraform命令部署到Oracle云基础设施(OCI),但将来可能是Azure、AWS或任何其他类似平台

虽然培训师仍将负责更新和创建Terraform配置文件,目标是创建一个简单的web UI,允许管理者启动/停止在线课程,因为他们不具备编程技能,也无法通过终端执行命令
复杂性或触发地形命令将在幕后处理

对于如何以编程方式调用Terraform命令以及如何轻松处理配置文件,您有什么建议吗


我的架构计划如下,我希望得到一些反馈:

1-Web UI:给定可用课程的列表,它接受用户启动/停止课程的命令

2-UI调用RESTAPI(例如Azure函数)来启动所需的操作。这里给出一些从UI传递的ID元数据,我将从存储系统或DB收集特定于目标球场的地形配置

3-在Azure函数上下文中,使用Node.js(但如果带来更多好处,也可以使用其他语言),我将安装Terraform库,并执行特定命令来分配资源并相应地创建环境


由于之前没有使用Terraform的经验,我不知道这是否是一个好方法,或者可能有更好的模式来实现上述目标。我试图用粗体标出所涉及的主要模块。

这些需求最容易通过管道解决。谢谢@MattSchuchard,你是指Gitlab、AWS或Azure管道还是TF管道?您能否进一步阐述您的评论或提供相关文档的链接?他指的是CI/CD管道,如GitLab、Circle CI、Concourse CI、GitHub Actions、Jenkins、Azure管道等。Cheers@MarkB。我已经看到我可以运行powershell函数来触发管道并运行TF步骤。即使我使用Azure管道,我仍然可以使用Terraform针对任何平台(Oracle、AWS),对吗?我必须为每个TF任务创建一个管道,或者可以将多个管道分组到一个管道中吗?