Skip to content

Commit c87e8f4

Browse files
authored
Merge pull request #7 from comet-ml/module-readmes
Module readmes
2 parents 34c33e3 + 96d7118 commit c87e8f4

File tree

13 files changed

+330
-16
lines changed

13 files changed

+330
-16
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
## Requirements
2+
3+
No requirements.
4+
5+
## Providers
6+
7+
| Name | Version |
8+
|------|---------|
9+
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |
10+
11+
## Modules
12+
13+
No modules.
14+
15+
## Resources
16+
17+
| Name | Type |
18+
|------|------|
19+
| [aws_eip.comet_ec2_eip](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eip) | resource |
20+
| [aws_iam_instance_profile.comet-ec2-instance-profile](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource |
21+
| [aws_iam_role.comet-ec2-s3-access-role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
22+
| [aws_iam_role_policy_attachment.comet-ml-s3-access-attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
23+
| [aws_instance.comet_ec2](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) | resource |
24+
| [aws_security_group.comet_ec2_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
25+
| [aws_vpc_security_group_egress_rule.comet_ec2_egress_any](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_egress_rule) | resource |
26+
| [aws_vpc_security_group_ingress_rule.comet_ec2_alb_http](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
27+
| [aws_vpc_security_group_ingress_rule.comet_ec2_ingress_http](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
28+
| [aws_vpc_security_group_ingress_rule.comet_ec2_ingress_https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
29+
| [aws_vpc_security_group_ingress_rule.comet_ec2_ingress_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
30+
| [aws_ami.al2](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
31+
| [aws_ami.rhel7](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
32+
| [aws_ami.rhel8](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
33+
| [aws_ami.rhel9](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
34+
| [aws_ami.ubuntu18](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
35+
| [aws_ami.ubuntu20](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
36+
| [aws_ami.ubuntu22](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
37+
38+
## Inputs
39+
40+
| Name | Description | Type | Default | Required |
41+
|------|-------------|------|---------|:--------:|
42+
| <a name="input_alb_enabled"></a> [alb\_enabled](#input\_alb\_enabled) | Indicates if ALB is being provisioned for Comet EC2 instance | `bool` | `null` | no |
43+
| <a name="input_comet_ec2_alb_sg"></a> [comet\_ec2\_alb\_sg](#input\_comet\_ec2\_alb\_sg) | ID of the security group attached to an associated application load balancer, for creating ingress EC2 SG rule | `string` | n/a | yes |
44+
| <a name="input_comet_ec2_ami_type"></a> [comet\_ec2\_ami\_type](#input\_comet\_ec2\_ami\_type) | Operating system type for the EC2 instance AMI | `string` | n/a | yes |
45+
| <a name="input_comet_ec2_instance_count"></a> [comet\_ec2\_instance\_count](#input\_comet\_ec2\_instance\_count) | Number of EC2 instances to provision | `number` | n/a | yes |
46+
| <a name="input_comet_ec2_instance_type"></a> [comet\_ec2\_instance\_type](#input\_comet\_ec2\_instance\_type) | Instance type for the EC2 instance | `string` | n/a | yes |
47+
| <a name="input_comet_ec2_key"></a> [comet\_ec2\_key](#input\_comet\_ec2\_key) | Name of the SSH key to configure on the EC2 instance | `string` | n/a | yes |
48+
| <a name="input_comet_ec2_s3_iam_policy"></a> [comet\_ec2\_s3\_iam\_policy](#input\_comet\_ec2\_s3\_iam\_policy) | Policy granting access to Comet S3 bucket | `string` | n/a | yes |
49+
| <a name="input_comet_ec2_subnet"></a> [comet\_ec2\_subnet](#input\_comet\_ec2\_subnet) | ID of VPC subnet to launch EC2 instance in | `string` | n/a | yes |
50+
| <a name="input_comet_ec2_volume_size"></a> [comet\_ec2\_volume\_size](#input\_comet\_ec2\_volume\_size) | Size, in gibibytes (GiB), for the EC2 instance root volume | `number` | n/a | yes |
51+
| <a name="input_comet_ec2_volume_type"></a> [comet\_ec2\_volume\_type](#input\_comet\_ec2\_volume\_type) | EBS volume type for the EC2 instance root volume | `string` | n/a | yes |
52+
| <a name="input_environment"></a> [environment](#input\_environment) | Deployment environment, i.e. dev/stage/prod, etc | `string` | n/a | yes |
53+
| <a name="input_s3_enabled"></a> [s3\_enabled](#input\_s3\_enabled) | Indicates if S3 bucket is being provisioned for Comet | `bool` | `null` | no |
54+
| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | ID of the VPC that will contain the provisioned resources | `string` | n/a | yes |
55+
56+
## Outputs
57+
58+
| Name | Description |
59+
|------|-------------|
60+
| <a name="output_comet_ec2_instance_id"></a> [comet\_ec2\_instance\_id](#output\_comet\_ec2\_instance\_id) | ID of the EC2 instance |
61+
| <a name="output_comet_ec2_public_ip"></a> [comet\_ec2\_public\_ip](#output\_comet\_ec2\_public\_ip) | Public IP of the EIP associated with the EC2 instance |
62+
| <a name="output_comet_ec2_sg_id"></a> [comet\_ec2\_sg\_id](#output\_comet\_ec2\_sg\_id) | ID of the security group associated with the EC2 instance |

comet-infrastructure/modules/comet_ec2/variables.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
variable "environment" {
22
description = "Deployment environment, i.e. dev/stage/prod, etc"
33
type = string
4-
default = "dev"
54
}
65

76
variable "alb_enabled" {
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
## Requirements
2+
3+
| Name | Version |
4+
|------|---------|
5+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.59 |
6+
7+
## Providers
8+
9+
| Name | Version |
10+
|------|---------|
11+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.59 |
12+
13+
## Modules
14+
15+
| Name | Source | Version |
16+
|------|--------|---------|
17+
| <a name="module_alb"></a> [alb](#module\_alb) | terraform-aws-modules/alb/aws | ~> 8.0 |
18+
19+
## Resources
20+
21+
| Name | Type |
22+
|------|------|
23+
| [aws_security_group.comet_alb_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
24+
| [aws_vpc_security_group_egress_rule.comet_ec2_alb_egress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_egress_rule) | resource |
25+
| [aws_vpc_security_group_ingress_rule.comet_ec2_alb_http](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
26+
| [aws_vpc_security_group_ingress_rule.comet_ec2_alb_https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
27+
28+
## Inputs
29+
30+
| Name | Description | Type | Default | Required |
31+
|------|-------------|------|---------|:--------:|
32+
| <a name="input_environment"></a> [environment](#input\_environment) | Deployment environment, i.e. dev/stage/prod, etc | `string` | n/a | yes |
33+
| <a name="input_public_subnets"></a> [public\_subnets](#input\_public\_subnets) | Subnets specified for ALB | `list(string)` | n/a | yes |
34+
| <a name="input_ssl_certificate_arn"></a> [ssl\_certificate\_arn](#input\_ssl\_certificate\_arn) | ARN of the ACM certificate to use for the ALB | `string` | n/a | yes |
35+
| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | ID of the VPC that will contain the provisioned resources | `string` | n/a | yes |
36+
37+
## Outputs
38+
39+
| Name | Description |
40+
|------|-------------|
41+
| <a name="output_alb_dns_name"></a> [alb\_dns\_name](#output\_alb\_dns\_name) | DNS name of the ALB |
42+
| <a name="output_comet_alb_sg"></a> [comet\_alb\_sg](#output\_comet\_alb\_sg) | ID of the security group created for the ALB |

comet-infrastructure/modules/comet_ec2_alb/variables.tf

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
variable "environment" {
22
description = "Deployment environment, i.e. dev/stage/prod, etc"
33
type = string
4-
default = "dev"
54
}
65

76
variable "vpc_id" {
87
description = "ID of the VPC that will contain the provisioned resources"
98
type = string
10-
#default = ""
119
}
1210

1311
variable "public_subnets" {
1412
description = "Subnets specified for ALB"
15-
type = list(any)
13+
type = list(string)
1614
}
1715

1816
variable "ssl_certificate_arn" {
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
## Requirements
2+
3+
| Name | Version |
4+
|------|---------|
5+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
6+
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 2.10 |
7+
8+
## Providers
9+
10+
| Name | Version |
11+
|------|---------|
12+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
13+
14+
## Modules
15+
16+
| Name | Source | Version |
17+
|------|--------|---------|
18+
| <a name="module_eks"></a> [eks](#module\_eks) | terraform-aws-modules/eks/aws | ~> 19.9 |
19+
| <a name="module_eks_blueprints_addons"></a> [eks\_blueprints\_addons](#module\_eks\_blueprints\_addons) | aws-ia/eks-blueprints-addons/aws | 0.2.0 |
20+
| <a name="module_irsa-ebs-csi"></a> [irsa-ebs-csi](#module\_irsa-ebs-csi) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | 4.7.0 |
21+
22+
## Resources
23+
24+
| Name | Type |
25+
|------|------|
26+
| [aws_iam_policy.ebs_csi_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) | data source |
27+
28+
## Inputs
29+
30+
| Name | Description | Type | Default | Required |
31+
|------|-------------|------|---------|:--------:|
32+
| <a name="input_comet_ec2_s3_iam_policy"></a> [comet\_ec2\_s3\_iam\_policy](#input\_comet\_ec2\_s3\_iam\_policy) | Policy with access to S3 to associate with EKS worker nodes | `string` | `null` | no |
33+
| <a name="input_eks_aws_cloudwatch_metrics"></a> [eks\_aws\_cloudwatch\_metrics](#input\_eks\_aws\_cloudwatch\_metrics) | Enables AWS Cloudwatch Metrics in the EKS cluster | `bool` | n/a | yes |
34+
| <a name="input_eks_aws_load_balancer_controller"></a> [eks\_aws\_load\_balancer\_controller](#input\_eks\_aws\_load\_balancer\_controller) | Enables the AWS Load Balancer Controller in the EKS cluster | `bool` | n/a | yes |
35+
| <a name="input_eks_cert_manager"></a> [eks\_cert\_manager](#input\_eks\_cert\_manager) | Enables cert-manager in the EKS cluster | `bool` | n/a | yes |
36+
| <a name="input_eks_cluster_name"></a> [eks\_cluster\_name](#input\_eks\_cluster\_name) | Name for the EKS cluster | `string` | n/a | yes |
37+
| <a name="input_eks_cluster_version"></a> [eks\_cluster\_version](#input\_eks\_cluster\_version) | Kubernetes version for the EKS cluster | `string` | n/a | yes |
38+
| <a name="input_eks_external_dns"></a> [eks\_external\_dns](#input\_eks\_external\_dns) | Enables ExternalDNS in the EKS cluster | `bool` | n/a | yes |
39+
| <a name="input_eks_mng_ami_type"></a> [eks\_mng\_ami\_type](#input\_eks\_mng\_ami\_type) | AMI family to use for the EKS nodes | `string` | n/a | yes |
40+
| <a name="input_eks_mng_desired_size"></a> [eks\_mng\_desired\_size](#input\_eks\_mng\_desired\_size) | Desired number of nodes in EKS cluster | `number` | n/a | yes |
41+
| <a name="input_eks_mng_max_size"></a> [eks\_mng\_max\_size](#input\_eks\_mng\_max\_size) | Maximum number of nodes in EKS cluster | `number` | n/a | yes |
42+
| <a name="input_eks_mng_name"></a> [eks\_mng\_name](#input\_eks\_mng\_name) | Name for the EKS managed nodegroup | `string` | n/a | yes |
43+
| <a name="input_eks_node_types"></a> [eks\_node\_types](#input\_eks\_node\_types) | Node instance types for EKS managed node group | `list(string)` | n/a | yes |
44+
| <a name="input_eks_private_subnets"></a> [eks\_private\_subnets](#input\_eks\_private\_subnets) | IDs of private subnets within the VPC | `list(string)` | n/a | yes |
45+
| <a name="input_environment"></a> [environment](#input\_environment) | Deployment environment, i.e. dev/stage/prod, etc | `string` | n/a | yes |
46+
| <a name="input_s3_enabled"></a> [s3\_enabled](#input\_s3\_enabled) | Indicates if S3 bucket is being provisioned for Comet | `bool` | `null` | no |
47+
| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | ID of the VPC that the EKS cluster will be launched in | `string` | n/a | yes |
48+
49+
## Outputs
50+
51+
| Name | Description |
52+
|------|-------------|
53+
| <a name="output_cluster_certificate_authority_data"></a> [cluster\_certificate\_authority\_data](#output\_cluster\_certificate\_authority\_data) | Base64 encoded certificate data required to communicate with the cluster |
54+
| <a name="output_cluster_endpoint"></a> [cluster\_endpoint](#output\_cluster\_endpoint) | Endpoint for the EKS cluster API server |
55+
| <a name="output_cluster_name"></a> [cluster\_name](#output\_cluster\_name) | Name of the EKS cluster |
56+
| <a name="output_nodegroup_sg_id"></a> [nodegroup\_sg\_id](#output\_nodegroup\_sg\_id) | ID of the node shared security group |
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
output "cluster_name" {
2-
value = module.eks.cluster_name
2+
description = "Name of the EKS cluster"
3+
value = module.eks.cluster_name
34
}
45

56
output "cluster_endpoint" {
6-
value = module.eks.cluster_endpoint
7+
description = "Endpoint for the EKS cluster API server"
8+
value = module.eks.cluster_endpoint
79
}
810

911
output "cluster_certificate_authority_data" {
10-
value = module.eks.cluster_certificate_authority_data
12+
description = "Base64 encoded certificate data required to communicate with the cluster"
13+
value = module.eks.cluster_certificate_authority_data
1114
}
1215

1316
output "nodegroup_sg_id" {
14-
value = module.eks.node_security_group_id
17+
description = "ID of the node shared security group"
18+
value = module.eks.node_security_group_id
1519
}

comet-infrastructure/modules/comet_eks/variables.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
variable "environment" {
22
description = "Deployment environment, i.e. dev/stage/prod, etc"
33
type = string
4-
default = "dev"
54
}
65

76
variable "vpc_id" {
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Requirements
2+
3+
No requirements.
4+
5+
## Providers
6+
7+
| Name | Version |
8+
|------|---------|
9+
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |
10+
11+
## Modules
12+
13+
No modules.
14+
15+
## Resources
16+
17+
| Name | Type |
18+
|------|------|
19+
| [aws_elasticache_cluster.comet-ml-ec-redis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_cluster) | resource |
20+
| [aws_elasticache_subnet_group.comet-ml-ec-subnet-group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_subnet_group) | resource |
21+
| [aws_security_group.redis_inbound_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
22+
| [aws_vpc_security_group_ingress_rule.redis_port_inbound_rule](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_security_group_ingress_rule) | resource |
23+
24+
## Inputs
25+
26+
| Name | Description | Type | Default | Required |
27+
|------|-------------|------|---------|:--------:|
28+
| <a name="input_elasticache_allow_from_sg"></a> [elasticache\_allow\_from\_sg](#input\_elasticache\_allow\_from\_sg) | Security group from which connections to ElastiCache will be allowed | `string` | n/a | yes |
29+
| <a name="input_elasticache_engine"></a> [elasticache\_engine](#input\_elasticache\_engine) | Engine type for Elasticache cluster | `string` | n/a | yes |
30+
| <a name="input_elasticache_engine_version"></a> [elasticache\_engine\_version](#input\_elasticache\_engine\_version) | Version number for Elasticache engine | `string` | n/a | yes |
31+
| <a name="input_elasticache_instance_type"></a> [elasticache\_instance\_type](#input\_elasticache\_instance\_type) | Elasticache instance type | `string` | n/a | yes |
32+
| <a name="input_elasticache_num_cache_nodes"></a> [elasticache\_num\_cache\_nodes](#input\_elasticache\_num\_cache\_nodes) | Number of nodes in the Elasticache cluster | `number` | n/a | yes |
33+
| <a name="input_elasticache_param_group_name"></a> [elasticache\_param\_group\_name](#input\_elasticache\_param\_group\_name) | Name for the Elasticache cluster parameter group | `string` | n/a | yes |
34+
| <a name="input_elasticache_private_subnets"></a> [elasticache\_private\_subnets](#input\_elasticache\_private\_subnets) | IDs of private subnets within the VPC | `list(string)` | n/a | yes |
35+
| <a name="input_environment"></a> [environment](#input\_environment) | Deployment environment, i.e. dev/stage/prod, etc | `string` | n/a | yes |
36+
| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | ID of the VPC that will contain the provisioned resources | `string` | n/a | yes |
37+
38+
## Outputs
39+
40+
No outputs.
Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +0,0 @@
1-
/* only available for Memcached cluster
2-
output "redis_host" {
3-
description = "Endpoint for the ElastiCache Redis cluster"
4-
value =
5-
}
6-
*/

comet-infrastructure/modules/comet_elasticache/variables.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
variable "environment" {
22
description = "Deployment environment, i.e. dev/stage/prod, etc"
33
type = string
4-
default = "dev"
54
}
65

76
variable "vpc_id" {

0 commit comments

Comments
 (0)