Skip to content

Commit 00c43a2

Browse files
committed
Add GCP modules for base infrastructure, DNS, GCS, MySQL, and Postgres with comprehensive resource definitions and input/output specifications
1 parent 025aa04 commit 00c43a2

File tree

30 files changed

+1342
-14
lines changed

30 files changed

+1342
-14
lines changed

docs/references/modules/aws_base.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ To use an existing VPC, set `vpc_id`, `public_subnet_ids`, and `private_subnet_i
1818

1919
| Name | Version |
2020
|------|---------|
21-
| <a name="provider_aws"></a> [aws](#provider_aws) | 6.27.0 |
22-
| <a name="provider_random"></a> [random](#provider_random) | 3.7.2 |
21+
| <a name="provider_aws"></a> [aws](#provider_aws) | n/a |
22+
| <a name="provider_random"></a> [random](#provider_random) | n/a |
2323

2424
#### Modules
2525

@@ -75,10 +75,13 @@ No modules.
7575
| <a name="input_env_name"></a> [env_name](#input_env_name) | Env name | `string` |
7676
| <a name="input_layer_name"></a> [layer_name](#input_layer_name) | Layer name | `string` |
7777
| <a name="input_module_name"></a> [module_name](#input_module_name) | Module name | `string` |
78+
| <a name="input_cluster_name"></a> [cluster_name](#input_cluster_name) | Cluster name used for Kubernetes tagging | `string` |
79+
| <a name="input_enable_karpenter"></a> [enable_karpenter](#input_enable_karpenter) | Whether to tag subnets for Karpenter discovery | `bool` |
7880
| <a name="input_private_ipv4_cidr_blocks"></a> [private_ipv4_cidr_blocks](#input_private_ipv4_cidr_blocks) | Cidr blocks for private subnets. One for each desired AZ | `list(string)` |
7981
| <a name="input_private_subnet_ids"></a> [private_subnet_ids](#input_private_subnet_ids) | List of pre-existing private subnets to use instead of creating new subnets for pltf. Required when var.vpc_id is set. | `list(string)` |
8082
| <a name="input_public_ipv4_cidr_blocks"></a> [public_ipv4_cidr_blocks](#input_public_ipv4_cidr_blocks) | Cidr blocks for public subnets. One for each desired AZ | `list(string)` |
8183
| <a name="input_public_subnet_ids"></a> [public_subnet_ids](#input_public_subnet_ids) | List of pre-existing public subnets to use instead of creating new subnets for pltf. Required when var.vpc_id is set. | `list(string)` |
84+
| <a name="input_public_subnet_map_public_ip_on_launch"></a> [public_subnet_map_public_ip_on_launch](#input_public_subnet_map_public_ip_on_launch) | Whether instances launched in public subnets receive a public IP by default. | `bool` |
8285
| <a name="input_total_ipv4_cidr_block"></a> [total_ipv4_cidr_block](#input_total_ipv4_cidr_block) | Cidr block to reserve for whole vpc | `string` |
8386
| <a name="input_vpc_id"></a> [vpc_id](#input_vpc_id) | The ID of an pre-existing VPC to use instead of creating a new VPC for pltf | `string` |
8487
| <a name="input_vpc_log_retention"></a> [vpc_log_retention](#input_vpc_log_retention) | n/a | `number` |

docs/references/modules/aws_eks.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,5 @@ No modules.
7676
| <a name="output_k8s_openid_provider_arn"></a> [k8s\_openid\_provider\_arn](#output\_k8s\_openid\_provider\_arn) | n/a |
7777
| <a name="output_k8s_openid_provider_url"></a> [k8s\_openid\_provider\_url](#output\_k8s\_openid\_provider\_url) | n/a |
7878
| <a name="output_k8s_version"></a> [k8s\_version](#output\_k8s\_version) | n/a |
79+
| <a name="output_plt_cluster_type"></a> [plt\_cluster\_type](#output\_plt\_cluster\_type) | n/a |
7980
<!-- END_TF_DOCS -->

docs/references/modules/aws_iam_user.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ No modules.
1717

1818
| Name | Type |
1919
|------|------|
20+
| [aws_iam_group.group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group) | resource |
21+
| [aws_iam_group_policy.enforce_mfa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy) | resource |
22+
| [aws_iam_group_policy.pass_role_to_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy) | resource |
23+
| [aws_iam_group_policy_attachment.extra_policies_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy_attachment) | resource |
24+
| [aws_iam_group_policy_attachment.vanilla_role_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy_attachment) | resource |
2025
| [aws_iam_policy.vanilla_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
2126
| [aws_iam_user.user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user) | resource |
22-
| [aws_iam_user_policy.pass_role_to_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy) | resource |
23-
| [aws_iam_user_policy_attachment.extra_policies_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy_attachment) | resource |
24-
| [aws_iam_user_policy_attachment.vanilla_role_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy_attachment) | resource |
27+
| [aws_iam_user_group_membership.group_membership](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_group_membership) | resource |
28+
| [aws_iam_policy_document.enforce_mfa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
2529
| [aws_iam_policy_document.pass_role_to_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
2630

2731
## Inputs
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<!-- BEGIN_TF_DOCS -->
2+
## Requirements
3+
4+
| Name | Version |
5+
|------|---------|
6+
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 1.13.3 |
7+
8+
## Providers
9+
10+
| Name | Version |
11+
|------|---------|
12+
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |
13+
| <a name="provider_helm"></a> [helm](#provider\_helm) | n/a |
14+
| <a name="provider_random"></a> [random](#provider\_random) | n/a |
15+
16+
## Modules
17+
18+
No modules.
19+
20+
## Resources
21+
22+
| Name | Type |
23+
|------|------|
24+
| [aws_ecr_lifecycle_policy.repo_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_lifecycle_policy) | resource |
25+
| [aws_ecr_repository.repo](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository) | resource |
26+
| [aws_ecr_repository_policy.repo_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository_policy) | resource |
27+
| [aws_iam_policy.k8s_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
28+
| [aws_iam_role.k8s_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
29+
| [aws_iam_role_policy_attachment.extra_policies_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
30+
| [aws_iam_role_policy_attachment.vanilla_role_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
31+
| [helm_release.k8s-service](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
32+
| [random_string.repo_name_hash](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
33+
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
34+
| [aws_ecr_image.service_image](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_image) | data source |
35+
| [aws_iam_policy_document.repo_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
36+
| [aws_iam_policy_document.trust_k8s_openid](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
37+
38+
## Inputs
39+
40+
| Name | Description | Type | Default | Required |
41+
|------|-------------|------|---------|:--------:|
42+
| <a name="input_additional_iam_policies"></a> [additional\_iam\_policies](#input\_additional\_iam\_policies) | n/a | `list(string)` | `[]` | no |
43+
| <a name="input_args"></a> [args](#input\_args) | n/a | `list(string)` | n/a | yes |
44+
| <a name="input_autoscaling_target_cpu_percentage"></a> [autoscaling\_target\_cpu\_percentage](#input\_autoscaling\_target\_cpu\_percentage) | Percentage of requested cpu after which autoscaling kicks in | `number` | `80` | no |
45+
| <a name="input_autoscaling_target_mem_percentage"></a> [autoscaling\_target\_mem\_percentage](#input\_autoscaling\_target\_mem\_percentage) | Percentage of requested memory after which autoscaling kicks in | `number` | `80` | no |
46+
| <a name="input_commands"></a> [commands](#input\_commands) | n/a | `list(string)` | n/a | yes |
47+
| <a name="input_consistent_hash"></a> [consistent\_hash](#input\_consistent\_hash) | n/a | `string` | `null` | no |
48+
| <a name="input_cron_jobs"></a> [cron\_jobs](#input\_cron\_jobs) | n/a | `list` | `[]` | no |
49+
| <a name="input_digest"></a> [digest](#input\_digest) | Digest of image to be deployed | `string` | `null` | no |
50+
| <a name="input_domain"></a> [domain](#input\_domain) | n/a | `string` | `""` | no |
51+
| <a name="input_env_name"></a> [env\_name](#input\_env\_name) | Env name | `string` | n/a | yes |
52+
| <a name="input_env_vars"></a> [env\_vars](#input\_env\_vars) | Environment variables to pass to the container | <pre>list(object({<br/> name = string<br/> value = string<br/> }))</pre> | `[]` | no |
53+
| <a name="input_healthcheck_command"></a> [healthcheck\_command](#input\_healthcheck\_command) | n/a | `list(string)` | n/a | yes |
54+
| <a name="input_healthcheck_path"></a> [healthcheck\_path](#input\_healthcheck\_path) | n/a | `string` | `null` | no |
55+
| <a name="input_http_port"></a> [http\_port](#input\_http\_port) | The port that exposes an HTTP interface | `any` | `null` | no |
56+
| <a name="input_iam_policy"></a> [iam\_policy](#input\_iam\_policy) | n/a | `any` | n/a | yes |
57+
| <a name="input_image"></a> [image](#input\_image) | External Image to be deployed | `string` | n/a | yes |
58+
| <a name="input_ingress_extra_annotations"></a> [ingress\_extra\_annotations](#input\_ingress\_extra\_annotations) | n/a | `map(string)` | `{}` | no |
59+
| <a name="input_initial_liveness_delay"></a> [initial\_liveness\_delay](#input\_initial\_liveness\_delay) | n/a | `number` | `30` | no |
60+
| <a name="input_initial_readiness_delay"></a> [initial\_readiness\_delay](#input\_initial\_readiness\_delay) | n/a | `number` | `30` | no |
61+
| <a name="input_keep_path_prefix"></a> [keep\_path\_prefix](#input\_keep\_path\_prefix) | n/a | `bool` | `false` | no |
62+
| <a name="input_layer_name"></a> [layer\_name](#input\_layer\_name) | Layer name | `string` | n/a | yes |
63+
| <a name="input_link_secrets"></a> [link\_secrets](#input\_link\_secrets) | n/a | `list(map(string))` | `[]` | no |
64+
| <a name="input_links"></a> [links](#input\_links) | n/a | `any` | `null` | no |
65+
| <a name="input_liveness_probe_command"></a> [liveness\_probe\_command](#input\_liveness\_probe\_command) | n/a | `list(string)` | n/a | yes |
66+
| <a name="input_liveness_probe_path"></a> [liveness\_probe\_path](#input\_liveness\_probe\_path) | Url path for liveness probe | `string` | `null` | no |
67+
| <a name="input_max_containers"></a> [max\_containers](#input\_max\_containers) | Max value for HPA autoscaling | `string` | `3` | no |
68+
| <a name="input_max_history"></a> [max\_history](#input\_max\_history) | n/a | `number` | n/a | yes |
69+
| <a name="input_min_containers"></a> [min\_containers](#input\_min\_containers) | Min value for HPA autoscaling | `string` | `1` | no |
70+
| <a name="input_module_name"></a> [module\_name](#input\_module\_name) | Module name | `string` | n/a | yes |
71+
| <a name="input_openid_provider_arn"></a> [openid\_provider\_arn](#input\_openid\_provider\_arn) | n/a | `string` | n/a | yes |
72+
| <a name="input_openid_provider_url"></a> [openid\_provider\_url](#input\_openid\_provider\_url) | n/a | `string` | n/a | yes |
73+
| <a name="input_persistent_storage"></a> [persistent\_storage](#input\_persistent\_storage) | n/a | `list(map(string))` | `[]` | no |
74+
| <a name="input_pod_annotations"></a> [pod\_annotations](#input\_pod\_annotations) | values to add to the pod annotations for the k8s-service pods | `map(string)` | `{}` | no |
75+
| <a name="input_pod_labels"></a> [pod\_labels](#input\_pod\_labels) | n/a | `map(string)` | n/a | yes |
76+
| <a name="input_ports"></a> [ports](#input\_ports) | Ports to be exposed | `list(any)` | n/a | yes |
77+
| <a name="input_probe_port"></a> [probe\_port](#input\_probe\_port) | The port that is used for health probes | `any` | `null` | no |
78+
| <a name="input_public_uri"></a> [public\_uri](#input\_public\_uri) | n/a | `list(string)` | `[]` | no |
79+
| <a name="input_readiness_probe_command"></a> [readiness\_probe\_command](#input\_readiness\_probe\_command) | n/a | `list(string)` | n/a | yes |
80+
| <a name="input_readiness_probe_path"></a> [readiness\_probe\_path](#input\_readiness\_probe\_path) | Url path for readiness probe | `string` | `null` | no |
81+
| <a name="input_resource_limits"></a> [resource\_limits](#input\_resource\_limits) | n/a | `map(any)` | n/a | yes |
82+
| <a name="input_resource_request"></a> [resource\_request](#input\_resource\_request) | n/a | `map(any)` | <pre>{<br/> "cpu": 100,<br/> "memory": 128<br/>}</pre> | no |
83+
| <a name="input_secrets"></a> [secrets](#input\_secrets) | n/a | `any` | `null` | no |
84+
| <a name="input_service_annotations"></a> [service\_annotations](#input\_service\_annotations) | Annotations to add to the service resource | `map(string)` | `{}` | no |
85+
| <a name="input_sticky_session"></a> [sticky\_session](#input\_sticky\_session) | n/a | `bool` | `false` | no |
86+
| <a name="input_sticky_session_max_age"></a> [sticky\_session\_max\_age](#input\_sticky\_session\_max\_age) | n/a | `number` | `86400` | no |
87+
| <a name="input_tag"></a> [tag](#input\_tag) | Tag of image to be deployed | `string` | `null` | no |
88+
| <a name="input_timeout"></a> [timeout](#input\_timeout) | n/a | `number` | `300` | no |
89+
| <a name="input_tolerations"></a> [tolerations](#input\_tolerations) | n/a | `list(map(string))` | `[]` | no |
90+
91+
## Outputs
92+
93+
| Name | Description |
94+
|------|-------------|
95+
| <a name="output_current_digest"></a> [current\_digest](#output\_current\_digest) | n/a |
96+
| <a name="output_current_image"></a> [current\_image](#output\_current\_image) | n/a |
97+
| <a name="output_current_tag"></a> [current\_tag](#output\_current\_tag) | n/a |
98+
| <a name="output_docker_repo_url"></a> [docker\_repo\_url](#output\_docker\_repo\_url) | n/a |
99+
<!-- END_TF_DOCS -->

docs/references/modules/aws_s3.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ No modules.
2828
| [aws_s3_bucket_lifecycle_configuration.replica](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) | resource |
2929
| [aws_s3_bucket_logging.bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_logging) | resource |
3030
| [aws_s3_bucket_logging.replica](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_logging) | resource |
31-
| [aws_s3_object.user_files](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_object) | resource |
3231
| [aws_s3_bucket_ownership_controls.ownership_controls](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource |
3332
| [aws_s3_bucket_policy.policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |
3433
| [aws_s3_bucket_policy.replica_bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |
@@ -39,6 +38,7 @@ No modules.
3938
| [aws_s3_bucket_server_side_encryption_configuration.replica](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |
4039
| [aws_s3_bucket_versioning.bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning) | resource |
4140
| [aws_s3_bucket_versioning.replica](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning) | resource |
41+
| [aws_s3_object.user_files](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_object) | resource |
4242
| [aws_iam_policy_document.replica_bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
4343
| [aws_iam_policy_document.replication](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
4444
| [aws_iam_policy_document.replication_trust](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
@@ -52,7 +52,7 @@ No modules.
5252
| <a name="input_bucket_name"></a> [bucket\_name](#input\_bucket\_name) | n/a | `string` | n/a | yes |
5353
| <a name="input_bucket_policy"></a> [bucket\_policy](#input\_bucket\_policy) | n/a | `any` | `null` | no |
5454
| <a name="input_cors_rule"></a> [cors\_rule](#input\_cors\_rule) | n/a | `any` | `null` | no |
55-
| <a name="input_enable_logging"></a> [enable\_logging](#input\_enable\_logging) | n/a | `bool` | `false` | no |
55+
| <a name="input_enable_logging"></a> [enable\_logging](#input\_enable\_logging) | n/a | `bool` | `true` | no |
5656
| <a name="input_env_name"></a> [env\_name](#input\_env\_name) | Env name | `string` | n/a | yes |
5757
| <a name="input_files"></a> [files](#input\_files) | n/a | `string` | `null` | no |
5858
| <a name="input_layer_name"></a> [layer\_name](#input\_layer\_name) | Layer name | `string` | n/a | yes |

0 commit comments

Comments
 (0)