Skip to content

Commit 73976d9

Browse files
committed
Merge branch 'main' into updating_eks_default_version
2 parents 827929f + 776837d commit 73976d9

File tree

20 files changed

+1441
-160
lines changed

20 files changed

+1441
-160
lines changed

README.md

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ jobs:
5757
1. [VPC](#vpc-inputs)
5858
1. [AWS Route53 Domains and Certificates](#aws-route53-domains-and-certificate-inputs)
5959
1. [Load Balancer](#load-balancer-inputs)
60+
1. [WAF](#waf)
6061
1. [EFS](#efs-inputs)
6162
1. [RDS](#rds-inputs)
6263
1. [Amazon Aurora Inputs](#aurora-inputs)
@@ -210,9 +211,32 @@ The following inputs can be used as `step.with` keys
210211
<hr/>
211212
<br/>
212213

213-
#### **EFS Inputs**
214+
#### **WAF**
214215
| Name | Type | Description |
215216
|------------------|---------|------------------------------------|
217+
| `aws_waf_enable` | Boolean | Enable WAF for load balancer (LB only - NOT ELB). Default is `false` |
218+
| `aws_waf_logging_enable`| Boolean | Enable WAF logging to CloudWatch. Default `false` |
219+
| `aws_waf_log_retention_days`| Number | CloudWatch log retention period for WAF logs. Default `30` |
220+
| `aws_waf_rule_rate_limit`| String | Rate limit for WAF rules. Default is `2000` |
221+
| `aws_waf_rule_managed_rules`| Boolean | Enable common managed rule groups to use. Default `false` |
222+
| `aws_waf_rule_managed_bad_inputs`| Boolean | Enable managed rule for bad inputs. Default `false` |
223+
| `aws_waf_rule_ip_reputation`| Boolean | Enable managed rule for IP reputation. Default `false` |
224+
| `aws_waf_rule_anonymous_ip`| Boolean | Enable managed rule for anonymous IP. Default `false` |
225+
| `aws_waf_rule_bot_control`| Boolean | Enable managed rule for bot control (costs extra). Default `false` |
226+
| `aws_waf_rule_geo_block_countries`| String | Comma separated list of countries to block. |
227+
| `aws_waf_rule_geo_allow_only_countries`| String | Comma separated list of countries to allow. |
228+
| `aws_waf_rule_sqli`| Boolean | Enable managed rule for SQL injection. Default `false` |
229+
| `aws_waf_rule_linux`| Boolean | Enable managed rule for Linux. Default `false` |
230+
| `aws_waf_rule_unix`| Boolean | Enable managed rule for Unix. Default `false` |
231+
| `aws_waf_rule_admin_protection`| Boolean | Enable managed rule for admin protection. Default `false` |
232+
| `aws_waf_rule_user_arn`| String | String of the user created ARN set of rules. |
233+
| `aws_waf_additional_tags`| String | A list of strings that will be added to created resources. Default `"{}"` |
234+
<hr/>
235+
<br/>
236+
237+
#### **EFS Inputs**
238+
| Name | Type | Descrifption |
239+
|------------------|---------|------------------------------------|
216240
| `aws_efs_create` | Boolean | Toggle to indicate whether to create an EFS volume and mount it to the EC2 instance as a part of the provisioning. Note: The stack will manage the EFS and will be destroyed along with the stack. |
217241
| `aws_efs_fs_id` | String | ID of existing EFS volume if you wish to use an existing one. |
218242
| `aws_efs_create_mount_target` | String | Toggle to indicate whether we should create a mount target for the EFS volume or not. Defaults to `true`.|
@@ -264,6 +288,17 @@ The following inputs can be used as `step.with` keys
264288
| `aws_rds_db_multi_az` | Boolean| Specifies if the RDS instance is multi-AZ. Defaults to `false`. |
265289
| `aws_rds_db_maintenance_window` | String | The window to perform maintenance in. Eg: `Mon:00:00-Mon:03:00` |
266290
| `aws_rds_db_apply_immediately` | Boolean | Specifies whether any database modifications are applied immediately, or during the next maintenance window. Defaults to `false`.|
291+
| `aws_rds_db_performance_insights_enable` | Boolean | Enables performance insights for the database. Defaults to `false`. |
292+
| `aws_rds_db_performance_insights_retention` | String | KMS key ID to use for encrypting performance insights data. |
293+
| `aws_rds_db_performance_insights_kms_key_id` | String | Number of days to retain performance insights data. Defaults to `7`. |
294+
| `aws_rds_db_monitoring_interval` | String | The interval, in seconds, between points when metrics are collected. Defaults to `0` (disabled). Valid values are `0,1,5,10,15,30,60`. |
295+
| `aws_rds_db_monitoring_role_arn` | String | The ARN of the IAM role that provides access to the Enhanced Monitoring metrics. If empty will use the standard `rds-monitoring-role`. |
296+
| `aws_rds_db_insights_mode` | String | The mode for Performance Insights. Could be `standard` (default) or `advanced`. |
297+
| `aws_rds_db_allow_major_version_upgrade` | Boolean | Indicates that major version upgrades are allowed. Defaults to `false`. |
298+
| `aws_rds_db_auto_minor_version_upgrade` | Boolean | Indicates that minor version upgrades are allowed. Defaults to `true`. |
299+
| `aws_rds_db_backup_retention_period` | String | The number of days to retain backups for. Must be between 0 (disabled) and 35. Defaults to `0`. |
300+
| `aws_rds_db_backup_window` | String | The window during which backups are taken. Eg: `"09:46-10:16"`. |
301+
| `aws_rds_db_copy_tags_to_snapshot` | Boolean | Indicates whether to copy tags to snapshots. Defaults to `false`. |
267302
| `aws_rds_db_additional_tags` | JSON | Add additional tags to the terraform [default tags](https://www.hashicorp.com/blog/default-tags-in-the-terraform-aws-provider), any tags put here will be added to RDS provisioned resources.|
268303
<hr/>
269304
<br/>
@@ -320,6 +355,9 @@ The following inputs can be used as `step.with` keys
320355
| `aws_aurora_db_ca_cert_identifier` | String | Certificate to use with the database. Defaults to `rds-ca-ecc384-g1`. |
321356
| `aws_aurora_db_maintenance_window` | String | Maintenance window. |
322357
| `aws_aurora_db_publicly_accessible` | Boolean | Make database publicly accessible. Defaults to `false`. |
358+
| `aws_aurora_performance_insights_enable`| Boolean | Enables performance insights for the database. Defaults to false. |
359+
| `aws_aurora_performance_insights_kms_key_id`| String | KMS key ID to use for encrypting performance insights data. |
360+
| `aws_aurora_performance_insights_retention`| String | Number of days to retain performance insights data. Defaults to 7. |
323361
| `aws_aurora_additional_tags` | JSON | A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`. |
324362
<hr/>
325363
<br/>
@@ -407,6 +445,7 @@ The following inputs can be used as `step.with` keys
407445
| `aws_ecs_service_launch_type`| String | Configuration type. Could be `EC2`, `FARGATE` or `EXTERNAL`. Defaults to `FARGATE`. |
408446
| `aws_ecs_task_type`| String | Configuration type. Could be `EC2`, `FARGATE` or empty. Will default to `aws_ecs_service_launch_type` if none defined. (Blank if `EXTERNAL`). |
409447
| `aws_ecs_task_name`| String | Elastic Container Service task name. If task is defined with a JSON file, should be the same as the container name. |
448+
| `aws_ecs_task_ignore_definition`| Boolean | Toggle to ignore task definition changes after first deployment. Useful when using external tools to manage the task definition. Default: `false`. |
410449
| `aws_ecs_task_execution_role`| String | Elastic Container Service task execution role name from IAM. Defaults to `ecsTaskExecutionRole`. |
411450
| `aws_ecs_task_json_definition_file`| String | Name of the json file containing task definition. Overrides every other input. |
412451
| `aws_ecs_task_network_mode`| String | Network type to use in task definition. One of `none`, `bridge`, `awsvpc`, and `host`. |
@@ -423,6 +462,7 @@ The following inputs can be used as `step.with` keys
423462
| `aws_ecs_lb_redirect_enable`| String | Toggle redirect from HTTP and/or HTTPS to the main port. |
424463
| `aws_ecs_lb_container_path`| String | Comma separated list of paths for subsequent deployed containers. Need `aws_ecs_lb_redirect_enable` to be true. eg. api. (For http://bitovi.com/api/). If you have multiple, set them to `api,monitor,prom,,` (This example is for 6 containers) |
425464
| `aws_ecs_lb_ssl_policy` | String | SSL Policy for HTTPS listener in ALB. Will default to ELBSecurityPolicy-TLS13-1-2-2021-06 if none provided. See [this link](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) for other policies. |
465+
| `aws_ecs_lb_www_to_apex_redirect` | Boolean | Toggle redirect from www to apex domain. `aws_r53_domain_name` must be set. Defaults to `false`. |
426466
| `aws_ecs_autoscaling_enable`| Boolean | Toggle ecs autoscaling policy. |
427467
| `aws_ecs_autoscaling_max_nodes`| String | Max ammount of nodes to scale up to. |
428468
| `aws_ecs_autoscaling_min_nodes`| String | Min ammount of nodes to scale down to. |
@@ -456,8 +496,10 @@ The following inputs can be used as `step.with` keys
456496
| `aws_ecr_repo_policy_input` | String | The JSON policy to apply to the repository. If defined overrides the default policy' |
457497
| `aws_ecr_repo_read_arn` | String | The ARNs of the IAM users/roles that have read access to the repository. (Comma separated list)' |
458498
| `aws_ecr_repo_write_arn` | String | The ARNs of the IAM users/roles that have read/write access to the repository. (Comma separated list)' |
499+
| `aws_ecr_repo_read_external_aws_account`| String | Comma separated list of AWS Accounts IDs that will be provided with read access to the registry. |
500+
| `aws_ecr_repo_write_external_aws_account`| String | Comma separated list of AWS Accounts IDs that will be provided with write access to the registry. |
459501
| `aws_ecr_repo_read_arn_lambda` | String | The ARNs of the Lambda service roles that have read access to the repository. (Comma separated list)' |
460-
| `aws_ecr_lifecycle_policy_input` | String | The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs' |
502+
| `aws_ecr_lifecycle_policy_input` | JSON | The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs' |
461503
| `aws_ecr_public_repo_catalog` | String | Catalog data configuration for the repository. Defaults to `{}`.' |
462504
| `aws_ecr_registry_policy_input` | String | The policy document. This is a JSON formatted string' |
463505
| `aws_ecr_additional_tags ` | JSON | Add additional tags to the terraform [default tags](https://www.hashicorp.com/blog/default-tags-in-the-terraform-aws-provider), any tags put here will be added to ECR provisioned resources.|
@@ -731,4 +773,4 @@ We would love for you to contribute to [bitovi/github-actions-deploy-docker-to-e
731773
Would you like to see additional features? [Create an issue](https://github.com/bitovi/github-actions-deploy-docker-to-ec2/issues/new) or a [Pull Requests](https://github.com/bitovi/github-actions-deploy-docker-to-ec2/pulls). We love discussing solutions!
732774

733775
## License
734-
The scripts and documentation in this project are released under the [MIT License](https://github.com/bitovi/github-actions-deploy-docker-to-ec2/blob/main/LICENSE).
776+
The scripts and documentation in this project are released under the [MIT License](https://github.com/bitovi/github-actions-deploy-docker-to-ec2/blob/main/LICENSE).

0 commit comments

Comments
 (0)