Skip to content

Commit 553132c

Browse files
committed
WIP
1 parent 0c0c49f commit 553132c

File tree

2 files changed

+260
-0
lines changed

2 files changed

+260
-0
lines changed

managing_providers/_topics/automation_management_providers.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,3 +365,148 @@ To use the button to run an Ansible Tower job on a virtual machine:
365365
If you selected a service dialog to run when creating the button, {{ site.data.product.title_short }} will then prompt you to enter variables to complete the task. After entering your desired parameters, {{ site.data.product.title_short }} takes you to the **Requests** page.
366366

367367
The service item’s details can be viewed in menu: **Services > My Services** in {{ site.data.product.title_short }}.
368+
369+
## OpenTofu
370+
371+
OpenTofu is an open source infrastructure as code tool, which can be used to build, change, and version infrastructure. OpenTofu allows you to define infrastructure resources in human-readable configuration files that you can use to version, reuse, and share.
372+
373+
OpenTofu is built into {{ site.data.product.title_short }} so you do not need to install any additional components. The basic workflow to use OpenTofu in {{ site.data.product.title_short }} is as follows:
374+
375+
1. Enable the Embedded Terraform server role.
376+
2. Add a source control repository that contains your templates.
377+
3. Add credentials for your cloud providers.
378+
4. Create a Service Catalog item with the desired Terraform template.
379+
380+
Use the following sections to learn more about OpenTofu and how to use these described workflows within {{ site.data.product.title_short }}.
381+
382+
### Enabling the Embedded Terraform Server Role
383+
384+
In {{ site.data.product.title_short }}, the Embedded Terraform Role is disabled by default. Enable this server role to utilize Terraform Automation Inside.
385+
386+
To enable the Embedded Terraform Server Role, use the following steps:
387+
388+
1. Browse to the settings menu, and click **Configuration** > **Settings**.
389+
2. Select the desired server under **Zones**.
390+
3. Set the **Server Role** for **Embedded Terraform** to `On`.
391+
392+
### Verifying the Embedded Terraform worker state
393+
394+
Verify that the Embedded Terraform worker is started to utilize its features:
395+
396+
1. Browse to the settings menu, then click **Configuration** > **Diagnostics** and click on the desired server.
397+
2. Click **Roles by Servers** tab.
398+
399+
A table of all workers and their current status appears from which you can confirm the state of your Embedded Terraform worker.
400+
401+
### Adding a Template Repository
402+
403+
To enable {{ site.data.product.title_short }} to discover and utilize your Terraform templates, add a repository to store and manage your templates.
404+
405+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
406+
407+
2. Click **Configuration**, then ![Add New Repository](../images/1862.png) (**Add New Repository**).
408+
409+
3. Provide a Repository Name in the **Name** field.
410+
411+
4. Add a description for the repository in the **Description** field.
412+
413+
5. Add a **URL** or IP Address for the repository.
414+
415+
6. Select the appropriate **SCM Credentials** from the drop down menu.
416+
417+
7. Provide a branch name in the **SCM Branch** field.
418+
419+
8. Click **Save**.
420+
421+
Once you have synced a repository, the Terraform templates become available to {{ site.data.product.title_short }}.
422+
423+
### Refreshing Repositories
424+
425+
{{ site.data.product.title_short }} allows you to refresh a targeted Terraform templates or all repositories in your inventory to ensure that your templates are up to date.
426+
427+
Use the following steps to refresh a targeted repository:
428+
429+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
430+
431+
2. Click on a repository.
432+
433+
3. Click **Configuration**, then ![Refresh this Repository](../images/2003.png) (**Refresh this Repository**).
434+
435+
Alternately, you can refresh some or all of the repositories from the list view:
436+
437+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
438+
439+
2. Select the repositories that you want to refresh. Click **Check All** to select all repositories.
440+
441+
3. Click **Configuration**, then ![Refresh Selected Terraform Templates Repositories](../images/2003.png) (**Refresh Selected Ansible Repositories**).
442+
443+
{% include_relative _topics/opentofu_credentials.md %}
444+
445+
### Executing a Terraform Template from a Service Catalog
446+
447+
You can execute a Terraform Template from {{ site.data.product.title_short }} by creating a Service Catalog item from a Terraform template.
448+
449+
Use the following sections listed in order to execute a Terraform Template from a Service Catalog:
450+
451+
1. Create a catalog
452+
2. Create a Terraform Service Catalog item
453+
3. Execute the Terraform template
454+
455+
#### Create a catalog
456+
457+
Use the following steps to create a catalog:
458+
459+
1. In the navigation bar click **Services** > **Catalogs and click Catalog Items**.
460+
461+
2. Click **Configuration**, then click **Add a New Catalog**.
462+
463+
3. Enter a **Name** and **Description** for the catalog.
464+
465+
4. Click **Add**.
466+
467+
#### Create a Terraform Service Catalog item
468+
469+
Use the following steps to create a Terraform Service Catalog item:
470+
471+
1. In the navigation bar click **Automation** > **Embedded Automate** > **Customization**, then click **Service Dialog**.
472+
473+
2. Click **Configuration** > **Create Service Dialog**.
474+
475+
3. Enter a **Service Dialog Name** and add the required fields for the Terraform template.
476+
477+
4. Click **Save**.
478+
479+
5. In the navigation nar click **Services** > **Catalogs** > **Catalog Items**.
480+
481+
6. Click **Configuration** > **Add a New Catalog Item* to create a new catalog item with the following details at minimum:
482+
483+
- For **Catalog Item type**, select **Terraform Template**.
484+
485+
- Enter a **Name** for the service catalog item.
486+
487+
- Select **Display** in **Catalog**.
488+
489+
- In Catalog, select the catalog that you created previously.
490+
491+
- In Provisioning, select the repository that you previously added and select the Terraform template that you want to deploy.
492+
493+
- In Provisioning, select the **Cloud Type** and then select the **credential** to connect to the cloud.
494+
495+
- In Provisioning, select the **Service Dialog** that you created previously. If you want enter additional information when running the task, **Service Dialog** must be selected. A dialog is required if **Display in Catalog** is chosen.
496+
497+
6. Click **Save**. The catalog item you created appears in the *All Service Catalog Items* list.
498+
499+
#### Execute the Terraform Template:
500+
501+
Use the following steps to execute the Terraform Template.
502+
503+
1. In the navigation bar click **Service** > **Catalogs** > **Service Catalogs** > **created catalog**.
504+
505+
2. Click **Order** for the catalog item.
506+
507+
3. Enter any variables requested and click **Submit**.
508+
509+
{{ site.data.product.title_short }} takes you to the *Requests queue* page and displays the status of the job.
510+
511+
The service item details can be viewed by navigating to **Services** > **My Services in Infrastructure Automation**.
512+
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
### Credentials
2+
3+
Use the following sections to learn more about credentials that are associated with {{ site.data.product.title_short }} and Embedded Terraform:
4+
5+
#### Adding Credentials
6+
7+
Credentials are used by {{ site.data.product.title_short }} for authentication when you connect to cloud providers for infrastructure deployment.
8+
9+
1. Browse to the menu and click **Automation > Embedded Terraform > Credentials**.
10+
11+
2. Click **Configuration**, then ![Add New Credential](../images/1862.png) (**Add New Credential**).
12+
13+
3. Provide a **Name** for the credential.
14+
15+
4. Select the **Credential Type**. Additional fields might appear depending on the credential type that you chose.
16+
17+
5. Click **Add**.
18+
19+
#### Credential Types
20+
21+
Each credential type that is used by {{ site.data.product.title_short }} for the Embedded Terraform is listed in the following sections:
22+
23+
##### SCM
24+
25+
SCM (source control) credentials are used with projects to clone and update the local source code repositories from a remote revision control system such as Git, Subversion, or Mercurial.
26+
27+
Source Control credentials contain multiple attributes, which you need to configure:
28+
29+
- **Username**: The username for source control system.
30+
31+
- **Password**: The password for source control system.
32+
33+
- **Private key passphrase**: If the SSH private key used is protected by a passphrase, you might need to configure a key passphrase for the private key.
34+
35+
- **Private Key**: Copy or drag-and-drop the actual SSH private key, which is used to authenticate the user to the source control system by using SSH.
36+
37+
##### Amazon
38+
39+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Amazon Web Services.
40+
41+
Amazon Web Services credentials contain multiple attributes, which you need to configure:
42+
43+
- **Access Key**: User credentials that allow for programmatic calls to Amazon Web Services.
44+
45+
- **Secret Key**: The secret key that corresponds to the user access key.
46+
47+
- **STS Token**: Token generated by Amazon Web Services Security Token Service.
48+
49+
##### Azure
50+
51+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Microsoft Azure.
52+
53+
Microsoft Azure credentials contain multiple attributes, which you need to configure:
54+
55+
- **Username**: The username to connect to the Microsoft Azure account.
56+
57+
- **Password**: The password to connect to the Microsoft Azure account.
58+
59+
- **Subscription ID**: The Subscription UUID for the Microsoft Azure account.
60+
61+
- **Tenant ID**: The Tenant ID for the Microsoft Azure account.
62+
63+
- **Client Secret**: The Client Secret for the Microsoft Azure account.
64+
65+
- **Client ID**: The Client ID for the Microsoft Azure account.
66+
67+
##### Google Compute Engine
68+
69+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Google Compute Engine.
70+
71+
Google Compute Engine credentials contain multiple attributes, which you need to configure:
72+
73+
- **Service Account Email Address**: The Service Account email address to connect to the Google Compute Engine.
74+
- **RSA Private Key**: Contents of the PEM file associated with the service account email.
75+
- **Project**: The Google Compute Engine assigned identification. This field is constructed as two words followed by a three-digit number, such as `squeamish-ossifrage-123`.
76+
- **Google Cloud Region**: The default region for the resources. If another region is specified on the resource, it takes precedence.
77+
78+
##### IBM Cloud Classic Infrastructure
79+
80+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and IBM Cloud Classic Infrastructure.
81+
82+
IBM Cloud Classic Infrastructure credentials contain multiple attributes, which you need to configure:
83+
84+
- **IBM Cloud Classic Infrastructure User Name**: The username for IBM Cloud Classic Infrastructure.
85+
- **IBM Cloud Classic Infrastructure API Key**: The API key for IBM Cloud Classic Infrastructure.
86+
87+
##### OpenStack
88+
89+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and OpenStack.
90+
91+
OpenStack credentials contain multiple attributes, which you might need to configure:
92+
93+
- **Username**: The username to connect to OpenStack.
94+
95+
- **Password (API Key)**: The password or API key to connect to OpenStack.
96+
97+
- **Host (Authentication URL)**: The host to be used for authentication.
98+
99+
- **Project (Tenant Name)**: The Tenant name or Tenant ID to connect to OpenStack. This value is usually the same as the username.
100+
101+
- **Domain name**: The Fully qualified domain name (FQDN) to connect to OpenStack.
102+
103+
##### VMware
104+
105+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and VMware vCenter.
106+
107+
**Important:** If both {{ site.data.product.title_short }} and a VMware provider are located in the same IPv6-only network, then use a DNS-resolvable hostname for the VMware provider in the **vCenter Host** field when you add the credentials.
108+
109+
VMware credentials contain multiple attributes, which you might need to configure:
110+
111+
- **Username**: The username to connect to vCenter.
112+
113+
- **Password**: The password to connect to vCenter.
114+
115+
- **vCenter Host**: The vCenter hostname or IP address to connect to.

0 commit comments

Comments
 (0)