Skip to content

Commit eb2828a

Browse files
authored
Merge pull request #1847 from agrare/add_terraform_enterprise_documentation
Add Terraform Enterprise Documentation
2 parents 72065ab + 18b02fe commit eb2828a

File tree

3 files changed

+199
-2
lines changed

3 files changed

+199
-2
lines changed

managing_providers/_topics/automation_management_providers.md

Lines changed: 101 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ In {{ site.data.product.title_short }}, an automation management provider is a m
1212

1313
**Ansible Tower** is a management tool that is integrated with {{ site.data.product.title_short }}, designed to help automate infrastructure operations utlizizing existing Ansible Tower providers in your inventory. {{ site.data.product.title_short }} allows you to execute Ansible Tower jobs by using service catalogs and Automate. Using Ansible Tower, you can schedule Ansible playbook runs and monitor current and historical results, allowing for troubleshooting or identification of issues before they occur.
1414

15+
**Terraform Enterprise** is an application that helps teams use Terraform together. It manages Terraform runs in a consistent and reliable environment.
16+
1517
{% include_relative _topics/embedded_workflows.md %}
1618

1719
## Ansible
@@ -222,7 +224,7 @@ You can execute an Ansible Tower playbook from {{ site.data.product.title_short
222224

223225
First, create a catalog:
224226

225-
1. Browse to menu: **Services > Catalogs** and click **Catalog Items**.
227+
1. Browse to menu: **Services > Catalogs** and click **Catalogs**.
226228

227229
2. Click **Configuration**, then ![Add a New Catalog](../images/1862.png) (**Add a New Catalog**)
228230

@@ -573,4 +575,101 @@ Use the following steps to set a retirement day and time for a service instance:
573575
1. From **Time Delay**, specify a retirement time in the form of the number of months, weeks, days, or hours in the using the arrows.
574576

575577
5. Select a **Retirement Warning** if needed.
576-
6. Click **Save**.
578+
6. Click **Save**.
579+
580+
## Terraform Enterprise
581+
582+
Terraform Enterprise (also known as HCP Terraform) is an application that helps teams use Terraform together. It manages Terraform runs in a consistent and reliable environment, and includes easy access to shared state and secret data, access controls for approving changes to infrastructure, a private registry for sharing Terraform modules, detailed policy controls for governing the contents of Terraform configurations, and more.
583+
584+
HCP Terraform can be added to {{ site.data.product.title_short }} and Workspaces can be collected and used in the {{ site.data.product.title_short }} Service Catalog.
585+
586+
### Adding a Terraform Enterprise Provider
587+
588+
In order to integrate with Terraform Enterprise you must first add it as a provider.
589+
590+
1. Browse to menu: **Automation > Providers** and under **Configuration**, click ![Add a new Provider](../images/1862.png) **Add a new Provider**.
591+
592+
2. Select **Terraform Enterprise** as the **Type**
593+
594+
3. Enter a **Name** for the new provider.
595+
596+
4. Add a **Zone** for the provider.
597+
598+
5. If you are using Terraform Enterprise enter the URL of your Terraform Enterprise self-hosted instance. If you are using HCP Terraform then leave the URL as `https://app.terraform.io`
599+
600+
6. Select the appropriate **SSL Verification** option
601+
602+
7. Add the API Token that you would like to use in the **API Token** section.
603+
604+
8. Click **Validate** to verify credentials.
605+
606+
9. Click **Add**.
607+
608+
### Viewing Terraform Enterprise Workspaces
609+
610+
Workspaces represent infrastructure managed by Terraform. They are collected in inventory as Automation Templates (Configuration Scripts) in {{ site.data.product.title_short }}
611+
612+
1. Browse to menu: **Automation > Templates** to display a list of Terraform Enterprise Workspaces.
613+
614+
2. Select a specific Terraform Enterprise Workspace to view additional details.
615+
616+
### Viewing Terraform Enterprise Runs
617+
618+
A run performs a plan and apply, using a configuration version and the workspace’s current variables. To view runs in {{ site.data.product.title_short }}:
619+
620+
1. Browse to menu: **Automation > Jobs** to display a list of Terraform Enterprise runs.
621+
622+
2. Select a specific Terraform Enterprise Run to view additional details.
623+
624+
625+
### Execute a Terraform Enterprise Workspace from a Service Catalog
626+
627+
You can plan and apply a Terraform Enterprise Workspace from {{ site.data.product.title_short }} by creating a service catalog item.
628+
629+
First, create a catalog:
630+
631+
1. Browse to menu: **Services > Catalogs** and click **Catalogs**.
632+
633+
2. Click **Configuration**, then ![Add a New Catalog](../images/1862.png) (**Add a New Catalog**)
634+
635+
3. Enter a **Name** and **Description** for the catalog.
636+
637+
4. Click **Add**.
638+
639+
Next create a Terraform Enterprise Service Catalog Item:
640+
641+
1. Browse to menu: **Services > Catalogs** and click **Catalog Items**.
642+
643+
2. Click **Configuration**, then ![Add a New Catalog Item](../images/1862.png) (**Add a New Catalog Item**) to create a new catalog item with the following details, at minimum:
644+
645+
- For **Catalog Item type**, select **Terraform Enterprise**.
646+
647+
- Enter a **Name** for the service catalog item.
648+
649+
- Select **Display in Catalog**.
650+
651+
- In **Catalog**, select the catalog you created previously.
652+
653+
- In **Dialog**, select a service dialog you created previously. To ask the user to enter extra information when running the task, **Service Dialog** must be selected. A dialog is required if **Display in Catalog** is chosen.
654+
655+
- In **Provider**, select your Terraform Enterprise provider. This brings up the **Terraform Template** option where you can select which Terraform Workspace you want to use.
656+
657+
- Add configuration information for **Reconfigure Entry Point** and **Retirement Entry Point** as applicable.
658+
659+
- Select your desired **Terraform Template** from the list.
660+
661+
3. Click **Add**. The catalog item you created will appear in the **All Service Catalog Items** list.
662+
663+
To execute the Terraform Enterprise job:
664+
665+
1. Browse to menu: **Service > Catalogs** and click on **Service Catalogs** then click **Terraform Enterprise catalog**.
666+
667+
![order at catalog item](../images/order_at_catalog_item.png)
668+
669+
2. Click **Order** for the catalog item.
670+
671+
3. Enter any variables requested and click **Submit**.
672+
673+
{{ site.data.product.title_short }} takes you to the **Requests** queue page and show the status of the job.
674+
675+
The service item’s details can be viewed in menu: **Services > My Services** in {{ site.data.product.title_short }}.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
---
3+
4+
# Ansible Automation Platform Providers
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
---
3+
4+
# Embedded Ansible Providers
5+
6+
Ansible integrates with {{ site.data.product.title_short }} to provide automation solutions, using playbooks, for Service, Policy and Alert actions. Ansible playbooks consist of series of *plays* or tasks that define automation across a set of hosts, which is known as the inventory.
7+
8+
Ranging from simple to complex tasks, Ansible playbooks can support cloud management:
9+
10+
- **Services** - allow a playbook to back a {{ site.data.product.title_short }} service catalog item.
11+
12+
- **Control Actions** - {{ site.data.product.title_short }} policies can execute playbooks as actions based on events from providers.
13+
14+
- **Control Alerts** - set a playbook to launch prompted by a {{ site.data.product.title_short }} alert.
15+
16+
Ansible is built into {{ site.data.product.title_short }} so there is nothing to install. The basic workflow when using Ansible in {{ site.data.product.title_short }} is as follows:
17+
18+
1. Enable the **Embedded Ansible** server role.
19+
20+
2. Add a source control repository that contains your playbooks.
21+
22+
3. Establish credentials with your inventory.
23+
24+
4. Back your services, alerts, and policies using available playbooks.
25+
26+
### Enabling the Embedded Ansible Server Role
27+
28+
In {{ site.data.product.title_short }}, the **Embedded Ansible** role is disabled by default. Enable this server role to utilize Ansible Automation Inside.
29+
30+
**Note:** Configure your {{ site.data.product.title_short }} appliance network identity (hostname/IP address) before enabling the Embedded Ansible server role. Restart the `evmserverd` service on the appliance with the enabled Embedded Ansible server role after making any changes to the hostname or IP address.
31+
32+
1. Browse to the settings menu, then **Configuration > Settings**.
33+
34+
2. Select the desired server under **Zones**.
35+
36+
3. Set the **Server Role** for **Embedded Ansible** to **On**.
37+
38+
### Verifying the Embedded Ansible Worker State
39+
40+
Verify that the Embedded Ansible worker has started to utilize its features.
41+
42+
1. Browse to the settings menu, then **Configuration > Diagnostics** and click on the desired server.
43+
44+
2. Click on the **Roles by Servers** tab.
45+
46+
A table of all workers and current status will appear from which you can confirm the state of your embedded Ansible worker.
47+
48+
### Adding a Playbook Repository
49+
50+
Add a repository so that {{ site.data.product.title_short }} can discover and make available your playbooks.
51+
52+
1. Browse to menu: **Automation > Ansible > Repositories**.
53+
54+
2. Click **Configuration**, then ![Add New Repository](../images/1862.png) (**Add New Repository**).
55+
56+
3. Provide a Repository Name in the **Name** field.
57+
58+
4. Add a description for the repository in the **Description** field.
59+
60+
5. Add a **URL** or IP Address for the repository.
61+
62+
6. Select the appropriate **SCM Credentials** from the drop-down menu.
63+
64+
7. Provide a branch name in the **SCM Branch** field.
65+
66+
8. Click **Save**.
67+
68+
Once you have synced a repository, its playbooks will become available to {{ site.data.product.title_short }}.
69+
70+
### Refreshing Repositories
71+
72+
{{ site.data.product.title_short }} allows you to refresh a targeted playbook repository or all repositories in your inventory to ensure your playbooks are current.
73+
74+
Refresh a targeted repository:
75+
76+
1. Browse to menu: **Automation > Ansible > Repositories**.
77+
78+
2. Click on a repository.
79+
80+
3. Click **Configuration**, then ![Refresh this Repository](../images/2003.png) (**Refresh this Repository**).
81+
82+
Alternately, you can refresh some or all repositories from the list view:
83+
84+
1. Browse to menu: **Automation > Ansible > Repositories**.
85+
86+
2. Check those repositories to refresh. Click **Check All** to select all repositories.
87+
88+
3. Click **Configuration**, then ![Refresh Selected Ansible Repositories](../images/2003.png) (**Refresh Selected Ansible Repositories**).
89+
90+
{% include_relative _topics/ansible_credentials.md %}
91+
92+
{% include_relative _topics/tagging_ansible_elements.md %}
93+
94+
{% include_relative _topics/optimizing_playbooks.md %}

0 commit comments

Comments
 (0)