Skip to content

Commit 34d8334

Browse files
IaC-Library-edify-2: Setup files (#2318)
* Update setting-up.md * Update accessing-the-code.md * Update accessing-the-code.md * Apply suggestions from code review * Update docs/2.0/docs/library/setup/setting-up.md * Apply suggestions from code review --------- Co-authored-by: Zach Goldberg <[email protected]>
1 parent bf35fc7 commit 34d8334

File tree

2 files changed

+39
-28
lines changed

2 files changed

+39
-28
lines changed

docs/2.0/docs/library/setup/accessing-the-code.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
1-
# Accessing the code
1+
# Accessing the Code
22

3-
Gruntwork provides all code included in your subscription to the Infrastructure as Code (IaC) library through GitHub. To gain access to the IaC Library, you must first [create an account in the Developer Portal](/2.0/docs/overview/getting-started/create-account). Once you have an account, you must [link your GitHub ID](/2.0/docs/overview/getting-started/link-github-id) to your Developer Portal account to gain access to the IaC Library.
3+
Gruntwork provides access to all code included in your Infrastructure as Code (IaC) library subscription through GitHub. To access the IaC Library, first [create an account in the Developer Portal](/2.0/docs/overview/getting-started/create-account). After setting up your account, [link your GitHub ID](/2.0/docs/overview/getting-started/link-github-id) to your Developer Portal account to gain access.
44

5-
## Accessing Modules and Services in the IaC library
5+
## Accessing modules and services in the IaC Library
66

7-
Once you have gained access to the Gruntwork IaC library, you can view the source code for our modules and services in [GitHub](https://github.com/orgs/gruntwork-io/repositories). For a full list of modules and services, check the [Library Reference](/library/reference).
7+
Once you can access the Gruntwork IaC library, you can view the source code for all modules and services in [GitHub](https://github.com/orgs/gruntwork-io/repositories). Refer to the [Library Reference](/library/reference) for a complete list of available modules and services.
88

9-
In GitHub, each IaC repository is prefixed with `terraform-aws-` then a high level description of the modules it contains. For example, Amazon SNS, SQS, MSK, and Kinesis are located in the `terraform-aws-messaging` repository. In each repository, the modules are located in the `modules` directory. Example usage and tests are provided for each module in the `examples` and `tests` directories, respectively.
9+
In GitHub, each IaC repository adheres to a naming convention: it begins with the prefix `terraform-aws-`, followed by a description of the modules it contains. For example, Amazon SNS, SQS, MSK, and Kinesis modules reside in the `terraform-aws-messaging` repository.
1010

11-
## Accessing modules SSH vs. HTTPS
11+
Within each repository:
12+
- Modules are located in the `modules` directory.
13+
- Example usage and tests are provided in the `examples` and `tests` directories, respectively.
1214

13-
Gruntwork modules internally reference each other using the SSH. For example:
15+
## Accessing modules: SSH vs. HTTPS
1416

17+
Gruntwork modules reference each other internally using SSH. For example:
1518
```hcl
1619
source = "git::[email protected]:gruntwork-io/terraform-aws-eks.git//modules/eks-cluster-control-plane?ref=v0.58.0"
1720
```
@@ -20,12 +23,15 @@ source = "git::[email protected]:gruntwork-io/terraform-aws-eks.git//modules/eks-cl
2023

2124
### Why use SSH?
2225

23-
The modules use SSH as, historically and still to a large extent to the present, SSH authentication is more universal and requires less configuration and logistics to "just work".
26+
Gruntwork modules rely on SSH due to its widespread compatibility and minimal configuration requirements, making it a reliable choice that works seamlessly across diverse systems.
2427

2528
### Can I use HTTPS?
2629

27-
Unfortunately, because the modules reference each other via SSH, even if you initially reference a module with HTTPS, it may then pull in other modules over SSH, so it is not possible to use HTTPS exclusively with the Library.
30+
The modules in the IaC Library reference each other via SSH. While you can initially reference a module using HTTPS, it may still pull in dependencies over SSH. As a result, exclusive use of HTTPS is not supported.
2831

29-
### What if I can't use SSH?
32+
### What if I can't use SSH?
33+
34+
If you cannot use SSH—such as in cases where corporate network restrictions block outbound access to port 22—you won’t be able to access the GitHub-hosted version of the library. However, you can [self-host](/2.0/docs/library/guides/self-hosting) the library using [repo-copier](https://github.com/gruntwork-io/repo-copier) as an alternative.
35+
36+
A self-hosted version of the library within your corporate network can typically accommodate most enterprise network restrictions.
3037

31-
If you're unable to use SSH, for example because your corporate network blocks outbound access to port 22, you will be unable to use the public-internet github-hosted version of the library. We do, however, offer an option to [self-host](/2.0/docs/library/guides/self-hosting) the library using [repo-copier](https://github.com/gruntwork-io/repo-copier). A self-hosted version of the library internal to your corporate network likely will satisfy most enterprise network restrictions.
Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,40 @@
1-
# Setting up your machine
1+
# Setting Up Your Machine
22

3-
The Gruntwork IaC library requires that you have a few tools installed in order to leverage our pre-built modules and services. We recommend installing these tools locally so you can develop and deploy modules and services on your local machine.
3+
The Gruntwork IaC library requires installing a few tools to leverage our pre-built modules and services. We recommend installing these tools locally so you can develop and deploy modules and services directly from your machine.
44

55
## Terraform
66

7-
Terraform is an open source infrastructure provisioning tool that allows you to define and manage a wide variety of infrastructure (e.g., servers, load balancers, databases, network settings, and so on) as code across a wide variety of providers (e.g., AWS, GCP, Azure). Terraform defines cloud and on-premise resources in human-readable configuration language and offers a consistent workflow for provisioning and managing infrastructure.
7+
Terraform is an open-source infrastructure provisioning tool that allows you to define and manage a wide range of infrastructure (e.g., servers, load balancers, databases, network settings) as code across multiple providers (e.g., AWS, GCP, Azure). Terraform defines cloud and on-premise resources in a human-readable configuration language and provides a consistent workflow for provisioning and managing infrastructure.
88

99
Gruntwork’s IaC library is built using Terraform, so having Terraform installed is required.
1010

11-
### Installation
12-
Terraform is supported on Mac (x86 and Apple Silicon), Windows, and Linux. To learn how to install for your specific OS, follow the guide to [install Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-cli) on the Hashicorp website.
11+
### Installation
1312

14-
If you need multiple versions of Terraform installed, [mise](https://github.com/jdx/mise) is a tool that can be used for managing and using multiple versions of Terraform.
13+
Terraform is supported on Mac (x86 and Apple Silicon), Windows, and Linux. For installation instructions specific to your operating system, refer to the official [Install Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-cli) guide on HashiCorp’s website.
14+
15+
If you need to manage multiple versions of Terraform, consider using [mise](https://github.com/jdx/mise), a tool that simplifies managing numerous versions of Terraform.
1516

1617
### Learn more
17-
If you’re new to Terraform, we recommend starting with learning about Terraform’s [configuration language](https://developer.hashicorp.com/terraform/language) then familiarizing yourself with the basics of [provisioning infrastructure](https://developer.hashicorp.com/terraform/cli/run) using Terraform.
1818

19-
For a more in-depth guide, check out our [Comprehensive Guide to Terraform](https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca) for a thorough introduction to the language.
19+
If you’re new to Terraform, start by learning Terraform’s [configuration language](https://developer.hashicorp.com/terraform/language) and understanding the basics of [provisioning infrastructure](https://developer.hashicorp.com/terraform/cli/run).
20+
21+
For a more in-depth guide, refer to our [Comprehensive Guide to Terraform](https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca) for a thorough introduction.
2022

2123
## Terragrunt
2224

23-
[Terragrunt](https://terragrunt.gruntwork.io) is a tool developed by Gruntwork that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state. Terragrunt allows you to execute multiple Terraform commands at once, centrally manage your Terraform state configuration, and set repeatable CLI arguments. Since Terraform is a dependency of Terragrunt, you can continue to write modules for Terraform in the Terraform configuration language, then reference and re-use the modules in different environments or applications.
25+
[Terragrunt](https://terragrunt.gruntwork.io), developed by Gruntwork, enhances Terraform’s functionality by helping you maintain DRY configurations, manage multiple Terraform modules, and streamline remote state handling. It enables simultaneous execution of Terraform commands, centralizes Terraform state configuration, and simplifies the management of repeatable CLI arguments.
2426

25-
:::info
26-
Terragrunt is not a required tool to use the IaC library, but it does provide many convenience features on top of Terraform.
27-
:::
27+
Since Terragrunt relies on Terraform, you can continue using the Terraform configuration language to write modules and reference them across various environments or applications.
2828

29-
### Installation
30-
Terragrunt is supported on Mac (x86 and Apple Silicon), Windows, and Linux. To install Terragrunt, follow the guide on how to [install Terragrunt](https://terragrunt.gruntwork.io/docs/getting-started/install/) on the Terragrunt website.
29+
:::info
30+
Terragrunt is not required to use the IaC library, but it provides many convenience features on top of Terraform.
3131

32-
If you need multiple versions of Terragrunt installed, [mise](https://github.com/jdx/mise) supports the use of the [3rd party ASDF Terragrunt plugin](https://github.com/lotia/asdf-terragrunt).
32+
### Installation
3333

34-
### Learn more
35-
To learn more about Terragrunt, check out the [official documentation](https://terragrunt.gruntwork.io/docs/).
34+
Terragrunt is supported on Mac (x86 and Apple Silicon), Windows, and Linux. To install Terragrunt, follow the official [Install Terragrunt](https://terragrunt.gruntwork.io/docs/getting-started/install/) guide on the Terragrunt website.
35+
36+
For managing multiple versions of Terragrunt, [mise](https://github.com/jdx/mise) supports the use of the [3rd party ASDF Terragrunt plugin](https://github.com/lotia/asdf-terragrunt).
37+
38+
### Learn more
39+
40+
To learn more about Terragrunt, consult the [official documentation](https://terragrunt.gruntwork.io/docs/).

0 commit comments

Comments
 (0)