Cloud Template
What is a Cloud Template
Cloud template is a deployable environment type defined in CloudIaC.
Cloud template consists of a name, a description, a set of valid configuration files that describe the deployment, and a set of variables.
You can start creating a new environment immediately by using Deploy New Environment in the cloud template.
Creating a Cloud Template
The cloud template needs to be associated with your Git repository, which contains your description profile of the resource and the application description profile that needs to be deployed after the resource is successfully created.
You need to add a VCS source before creating a cloud template. Under “Organization Settings” - “VCS”, click “Add VCS” to add a new Git repository source.
To create a new template, click New Cloud Template in Organization Settings - Cloud Template to add one.
Enter the template name, description, select the appropriate VCS and repository, branch/label information, and you can specify the working directory for deployment, as well as the version of Terraform to use.
You can then edit the variables in the cloud template, and as you edit, you can see the variables inherited from the organization, which you can reassign or create new variables.
You can choose in the variable configuration whether you want to load the TFVARS file for the specified Terraform.
If the resource description configuration file contains the configuration for application deployment, you can select the Playbook file to be used during the deployment. In this way, after Terraform creates resources, the Ansible PlayBook automatically invoks the Ansible Playbook for automatic application deployment.
Finally, select the project to associate with the cloud template. Then the cloud template can be used for environment deployment under the associated project.
Managing Cloud Template
Cloud template can be added, edited, or deleted organization-wide.
An organization administrator can create, edit, and delete a cloud template. Common users can deploy or plan a cloud template based on the created cloud template. However, they can modify variables when initiating deployment operations.
After the cloud template is created, you can modify the configuration of the cloud template during editing operations, such as code repositories, branches, or labels that reference different VCS repositories.
Changes to a cloud template only affect new deployments based on that cloud template, which must be “redeployed” to apply the updates to an active environment.
If you need to delete a cloud template, you can delete the cloud template only when no active environment exists.
Terraform Version Selection
You can choose which terraform version you want to use when creating a cloud template. We preset the main terraform version to choose from or let the system automatically match.
When automatic matching is selected, we read the version constraints in the versions.tf file of your template code base, use the matching version if there is a version in the preset list that meets the constraint, and select the version that meets the minimum version constraint among all versions of TerraForm if there is none.
If a non-built-in terraform version is used, it will be downloaded in real time at deployment time. Runners cache the downloaded version to avoid repeated downloads.