Skip to content

Commit 3701aa3

Browse files
displaguedcallao
authored andcommitted
Merge pull request #11 from equinix-labs/create-pull-request/patch-1683234189
generate-terraform-docs: automated action
2 parents 183b849 + 4a8a7ba commit 3701aa3

File tree

9 files changed

+49
-18
lines changed

9 files changed

+49
-18
lines changed

README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Terraform Equinix Labs Project
22

3+
[![Experimental](https://img.shields.io/badge/Stability-Experimental-red.svg)](https://github.com/equinix-labs/standards#about-uniform-standards)
4+
[![run-pre-commit-hooks](https://github.com/equinix-labs/terraform-equinix-labs/actions/workflows/pre-commit.yaml/badge.svg)](https://github.com/equinix-labs/terraform-equinix-labs/actions/workflows/pre-commit.yaml)
5+
[![generate-terraform-docs](https://github.com/equinix-labs/terraform-equinix-labs/actions/workflows/documentation.yaml/badge.svg)](https://github.com/equinix-labs/terraform-equinix-labs/actions/workflows/documentation.yaml)
6+
7+
This repository contains a collection of Terraform modules to help automate the deployment and management of both baremetal and [Kubernetes (EKS-A)](https://github.com/equinix-labs/terraform-equinix-metal-eks-anywhere) environments running on [Equinix Metal](https://deploy.equinix.com/).
8+
9+
Visit [EKS-A Baremetal on Equinix Metal](https://github.com/equinix-labs/terraform-equinix-metal-eks-anywhere) for more info on EKS-A on baremetal.
10+
11+
## Usage
12+
13+
This project is intended to be used as a Terraform module. It may also be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments. Module [invite-from-csv](./modules/invite-from-csv/) may be enabled mutually exclusively.
14+
15+
Prerequesites:
16+
17+
* A valid Equinix Metal organization ID, API token, and/or project ID.
18+
* HashiCorp Terraform installed. Please see [tfenv](https://github.com/tfutils/tfenv) util.
19+
* Optional [metal-cli](https://github.com/equinix/metal-cli/#installation) installation.
20+
21+
## Examples
22+
23+
Check out [examples](./examples/) directory for examples on how to utilize this module.
24+
325
<!-- BEGIN_TF_DOCS -->
426
## Requirements
527

@@ -27,14 +49,14 @@ No resources.
2749

2850
| Name | Description | Type | Default | Required |
2951
|------|-------------|------|---------|:--------:|
30-
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
31-
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3252
| <a name="input_eksa_config"></a> [eksa\_config](#input\_eksa\_config) | Module configuration for EKSA module | <pre>object({<br> cluster_name = string<br> cp_device_count = number<br> worker_device_count = number<br> })</pre> | <pre>{<br> "cluster_name": "equinix-labs-cluster",<br> "cp_device_count": 3,<br> "worker_device_count": 3<br>}</pre> | no |
3353
| <a name="input_enable_eksa"></a> [enable\_eksa](#input\_enable\_eksa) | Enable EKSA module | `bool` | `false` | no |
3454
| <a name="input_enable_metal"></a> [enable\_metal](#input\_enable\_metal) | Enable Metal module | `bool` | `false` | no |
3555
| <a name="input_enable_workshop_setup"></a> [enable\_workshop\_setup](#input\_enable\_workshop\_setup) | Enable Workshop Setup module | `bool` | `false` | no |
56+
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
3657
| <a name="input_metal_config"></a> [metal\_config](#input\_metal\_config) | Configuration for Metal module | <pre>object({<br> device_count = number<br> os = string<br> billing_cycle = string<br> cluster_name = string<br> device_type = string<br> })</pre> | <pre>{<br> "billing_cycle": "hourly",<br> "cluster_name": "metal-cluster",<br> "device_count": 3,<br> "device_type": "m3.small.x86",<br> "os": "ubuntu_20_04"<br>}</pre> | no |
3758
| <a name="input_metal_metro"></a> [metal\_metro](#input\_metal\_metro) | Equinix Metal metro | `string` | `"sv"` | no |
59+
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3860
| <a name="input_metal_project_id"></a> [metal\_project\_id](#input\_metal\_project\_id) | Project ID | `string` | `""` | no |
3961
| <a name="input_metal_tags"></a> [metal\_tags](#input\_metal\_tags) | String list of common tags for Equinix resources | `list(string)` | <pre>[<br> "terraform",<br> "equinix-labs"<br>]</pre> | no |
4062

examples/eksa-setup/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Terraform Equinix Labs Metal Setup Example
1+
# Terraform Equinix Labs EKSA Setup Example
2+
3+
This is an example of how to utilize the root module to deploy the [eksa](../../modules/eksa/) module.
24

35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
@@ -27,11 +29,11 @@ No resources.
2729

2830
| Name | Description | Type | Default | Required |
2931
|------|-------------|------|---------|:--------:|
30-
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
31-
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3232
| <a name="input_eksa_config"></a> [eksa\_config](#input\_eksa\_config) | Module configuration for EKSA module | <pre>object({<br> cluster_name = string<br> cp_device_count = number<br> worker_device_count = number<br> })</pre> | <pre>{<br> "cluster_name": "equinix-labs-cluster",<br> "cp_device_count": 3,<br> "worker_device_count": 3<br>}</pre> | no |
3333
| <a name="input_enable_eksa"></a> [enable\_eksa](#input\_enable\_eksa) | Enable EKSA module | `bool` | `true` | no |
3434
| <a name="input_enable_workshop_setup"></a> [enable\_workshop\_setup](#input\_enable\_workshop\_setup) | Enable Workshop Setup module | `bool` | `true` | no |
35+
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
36+
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3537

3638
## Outputs
3739

examples/metal-setup/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Terraform Equinix Labs Metal Setup Example
22

3+
This is an example of how to utilize the root module to deploy the [metal](../../modules/metal/) module.
4+
35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
57

@@ -27,11 +29,11 @@ No resources.
2729

2830
| Name | Description | Type | Default | Required |
2931
|------|-------------|------|---------|:--------:|
30-
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
31-
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3232
| <a name="input_enable_metal"></a> [enable\_metal](#input\_enable\_metal) | Enable Metal module | `bool` | `true` | no |
3333
| <a name="input_enable_workshop_setup"></a> [enable\_workshop\_setup](#input\_enable\_workshop\_setup) | Enable Workshop Setup module | `bool` | `true` | no |
34+
| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes |
3435
| <a name="input_metal_config"></a> [metal\_config](#input\_metal\_config) | Configuration for Metal Setup config | <pre>object({<br> device_count = number<br> os = string<br> billing_cycle = string<br> cluster_name = string<br> device_type = string<br> })</pre> | <pre>{<br> "billing_cycle": "hourly",<br> "cluster_name": "metal-cluster",<br> "device_count": 3,<br> "device_type": "m3.small.x86",<br> "os": "ubuntu_20_04"<br>}</pre> | no |
36+
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3537

3638
## Outputs
3739

modules/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

modules/collaborator-project/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Terraform Equinix Labs Collaborator Project Module
22

3+
This module creates a project with collaborator users, sends each user an inviation for each user to join their project, and assigns those users `limited_collaborator` role.
4+
35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
57

@@ -12,7 +14,7 @@
1214

1315
| Name | Version |
1416
|------|---------|
15-
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | >= 1.10.0 |
17+
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | 1.14.1 |
1618

1719
## Modules
1820

@@ -31,8 +33,8 @@ No modules.
3133
| Name | Description | Type | Default | Required |
3234
|------|-------------|------|---------|:--------:|
3335
| <a name="input_collaborator"></a> [collaborator](#input\_collaborator) | Collaborator email to join the organization | `string` | n/a | yes |
34-
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> organization_id = string<br> })</pre> | n/a | yes |
3536
| <a name="input_module_config"></a> [module\_config](#input\_module\_config) | Module configuration for Collaborator module | `any` | <pre>{<br> "send_invites": true<br>}</pre> | no |
37+
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> organization_id = string<br> })</pre> | n/a | yes |
3638

3739
## Outputs
3840

modules/eksa/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Terraform Equinix Labs EKS-A Module
22

3+
This module utilizes the [metal-eks-anywhere](https://registry.terraform.io/modules/equinix-labs/metal-eks-anywhere/equinix/latest) module to deploy AWS EKS-A.
4+
35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
57

@@ -25,8 +27,8 @@ No resources.
2527

2628
| Name | Description | Type | Default | Required |
2729
|------|-------------|------|---------|:--------:|
28-
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> metal_api_token = string<br> project_id = string<br> metro = string<br> tags = list(string)<br> })</pre> | n/a | yes |
2930
| <a name="input_module_config"></a> [module\_config](#input\_module\_config) | Module configuration for EKSA module | <pre>object({<br> cluster_name = string<br> cp_device_count = number<br> worker_device_count = number<br> })</pre> | <pre>{<br> "cluster_name": "eksa-workshop-cluster",<br> "cp_device_count": 1,<br> "worker_device_count": 1<br>}</pre> | no |
31+
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> metal_api_token = string<br> project_id = string<br> metro = string<br> tags = list(string)<br> })</pre> | n/a | yes |
3032

3133
## Outputs
3234

modules/invite-from-csv/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Terraform Equinix Labs Invite from CSV Module
22

3+
This module will loop over every user provided in the users.csv file and call the [collaborator-project](../collaborator-project/) module to create a project.
4+
35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
57

@@ -12,7 +14,7 @@
1214

1315
| Name | Version |
1416
|------|---------|
15-
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | >= 1.10.0 |
17+
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | 1.14.1 |
1618

1719
## Modules
1820

@@ -30,8 +32,8 @@
3032

3133
| Name | Description | Type | Default | Required |
3234
|------|-------------|------|---------|:--------:|
33-
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3435
| <a name="input_csv_file"></a> [csv\_file](#input\_csv\_file) | Path to a CSV file containing a list of projects to provision: email,metro,plan. Email address is used as the project name and the collaborator. Metro and plan are used to provision the project. | `string` | `"users.csv"` | no |
36+
| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes |
3537

3638
## Outputs
3739

modules/metal/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Terraform Equinix Labs Metal Module
22

3+
This module deploys bare metal machines as a cluster.
4+
35
<!-- BEGIN_TF_DOCS -->
46
## Requirements
57

@@ -15,7 +17,7 @@
1517

1618
| Name | Version |
1719
|------|---------|
18-
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | >= 1.10.0 |
20+
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | 1.14.1 |
1921
| <a name="provider_local"></a> [local](#provider\_local) | 2.4.0 |
2022
| <a name="provider_random"></a> [random](#provider\_random) | 3.4.3 |
2123
| <a name="provider_tls"></a> [tls](#provider\_tls) | 4.0.4 |
@@ -42,8 +44,8 @@ No modules.
4244

4345
| Name | Description | Type | Default | Required |
4446
|------|-------------|------|---------|:--------:|
45-
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> project_id = string<br> metro = string<br> tags = list(string)<br> })</pre> | n/a | yes |
4647
| <a name="input_module_config"></a> [module\_config](#input\_module\_config) | Module configuration for Metal module | <pre>object({<br> device_count = number<br> os = string<br> billing_cycle = string<br> cluster_name = string<br> device_type = string<br> })</pre> | <pre>{<br> "billing_cycle": "hourly",<br> "cluster_name": "metal-cluster",<br> "device_count": 1,<br> "device_type": "m3.small.x86",<br> "os": "ubuntu_20_04"<br>}</pre> | no |
48+
| <a name="input_module_context"></a> [module\_context](#input\_module\_context) | Input context for the module | <pre>object({<br> project_id = string<br> metro = string<br> tags = list(string)<br> })</pre> | n/a | yes |
4749

4850
## Outputs
4951

modules/metal/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ terraform {
99
}
1010
random = {
1111
source = "hashicorp/random"
12-
version = "3.5.1"
12+
version = "3.4.3"
1313
}
1414
tls = {
1515
source = "hashicorp/tls"

0 commit comments

Comments
 (0)