| copyright |
|
||
|---|---|---|---|
| lastupdated | 2024-06-10 | ||
| keywords | onboard software, third-party software, sell on IBM Cloud, partner center, validate, test, Terraform, terraform template | ||
| subcollection | sell | ||
| content-type | tutorial | ||
| services | Terraform | ||
| account-plan | paid | ||
| completion-time | 45m |
{{site.data.keyword.attribute-definition-list}}
{: #terraform-template-onboard} {: toc-content-type="tutorial"} {: toc-services="Terraform"} {: toc-completion-time="45m"}
This tutorial walks you through how to onboard a Terraform template to your private catalog in {{site.data.keyword.cloud}}. {: shortdesc}
{: #terraform-template-onboard-prereqs}
-
Create your Terraform template. For more information, see Creating Terraform templates.
-
Test your Terraform template by running the following commands from the Terraform CLI:
terraform initterraform validate
-
Upload your Terraform template to a GitHub release and create a
.tgzfile. For more information, see Upload your Terraform template and readme file to your GitHub repository{: external}.Use the latest release of the sample Terraform code{: external} as an example of how to set up your repository. {: tip}
-
Verify that you're assigned the correct roles. For Terraform, you need the following {{site.data.keyword.cloud_notm}} Identity and Access Management (IAM) roles.
- Administrator on all account management services and all IAM services
- Editor on the catalog management service
- Manager service access role for IBM Cloud Schematics
- Operator platform role for VPC Infrastructure
- Editor on the software instance service
- The required permission to complete a specific task
{: #terraform-template-onboard-import} {: step}
- In the {{site.data.keyword.cloud_notm}} console, click the Navigation Menu icon
> Partner Center > My products.
- Select the product that you're onboarding.
- From the Software page, click Import a version.
- Choose Terraform as your deployment method.
- Select the type of repository.
- Enter the example Terraform URL as your source URL.
- Enter the software version in the format of major version, minor version, and revision, for example,
1.0.0. - Click Add version.
{: #terraform-template-review-version} {: step}
After you import your version, you can review the version details.
- Click Configure version.
- Review your version details.
- Click Next.
{: #terraform-template-onboard-cfgdeploy} {: step}
After you review the version details, you're ready to configure the deployment values.
- Click Configure version > Next.
- If you need to specify the Terraform runtime version that you want Schematics to use, click the Override the default Terraform runtime version checkbox and enter a version.
- From the Configure the deployment details section, click Add deployment values.
- Select the Parameter checkbox to select all options, and click Add.
- To customize which parameters are required for users to specify during the installation and which ones are hidden from users, select a parameter and click Edit. Click the checkboxes to configure the values and click Save.
{: #output-values} {: step}
{{site.data.content.description-output-values}}
{{site.data.content.note-output-values}}
{{site.data.content.steps-desc-output-values}}
{{site.data.content.steps-output-value}}
{{site.data.content.define-IAM-access}}
{: #terraform-template-onboard-cfg-license} {: step}
If users are required to accept any license agreements beyond the {{site.data.keyword.cloud_notm}} Services Agreement, provide the URL to each agreement.
- From the Add license agreements tab, click Add license.
- Enter the name and URL, and click Add license.
- Enter all additional license agreements, and click Next.
{: #terraform-template-onboard-review-readme} {: step}
When users install the software, they can view product information by clicking the Readme file link. This information is generated from the readme file that you uploaded to your source repository.
- From the Edit readme tab, click the Edit icon
.
- Preview how the information in the readme file is displayed to users when they install the Terraform template.
- If you need to make changes, edit the repository where you uploaded the Terraform template and re-create the
.tgzfile. Then, you can import the updated file to your private catalog again. - Click Save.
- Click Next.
{: #terraform-template-onboard-validate} {: step}
-
Click Validate version.
-
Enter the name of your workspace, select a resource group, select a Schematics region, and click Next.
In the Tags field, you can enter a name of a specific tag to attach to your template. This tag is put on the {{site.data.keyword.bplong_notm}} workspace. Tags provide a way to organize, track usage costs, and manage access to the resources in your account. {: tip}
-
From the Deployment values section, review your parameter values, and click Next.
-
In the Validate version section, select I have read and agree to the following license agreements.
-
Click Validate.
To monitor the progress of the validation process, click View logs. {: tip}
{{site.data.content.manage-compliance}}
{: #tf-review-reqs}
You must complete validation and any other requirements to publish your Terraform template.
{: #terraform-template-onboard-next}
Go to the Partner Center and submit your request to publish your Terraform template to the {{site.data.keyword.cloud_notm}} catalog.